forked from InsightSoftwareConsortium/ITK
/
WrapBasicTypes.cmake
128 lines (105 loc) · 4.18 KB
/
WrapBasicTypes.cmake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
###############################################################################
# Set up variables to store "mangled names" and proper C++ type names for the
# basic types.
###############################################################################
SET(ITKT_UC "unsigned char") # Type
SET(ITKM_UC "UC") # Mangle
SET(ITKT_US "unsigned short") # Type
SET(ITKM_US "US") # Mangle
SET(ITKT_UI "unsigned int") # Type
SET(ITKM_UI "UI") # Mangle
SET(ITKT_UL "unsigned long") # Type
SET(ITKM_UL "UL") # Mangle
SET(ITKT_SC "signed char") # Type
SET(ITKM_SC "SC") # Mangle
SET(ITKT_SS "signed short") # Type
SET(ITKM_SS "SS") # Mangle
SET(ITKT_SI "signed int") # Type
SET(ITKM_SI "SI") # Mangle
SET(ITKT_SL "signed long") # Type
SET(ITKM_SL "SL") # Mangle
SET(ITKT_F "float") # Type
SET(ITKM_F "F") # Mangle
SET(ITKT_D "double") # Type
SET(ITKM_D "D") # Mangle
SET(ITKT_LD "long double") # Type
SET(ITKM_LD "LD") # Mangle
SET(ITKT_B "bool") # Type
SET(ITKM_B "B") # Mangle
###############################################################################
# Create some variable which can be used later
###############################################################################
SET(WRAP_ITK_USIGN_INT "")
IF(WRAP_unsigned_char)
SET(WRAP_ITK_USIGN_INT ${WRAP_ITK_USIGN_INT} "UC")
ENDIF(WRAP_unsigned_char)
IF(WRAP_unsigned_long)
SET(WRAP_ITK_USIGN_INT ${WRAP_ITK_USIGN_INT} "UL")
ENDIF(WRAP_unsigned_long)
IF(WRAP_unsigned_short)
SET(WRAP_ITK_USIGN_INT ${WRAP_ITK_USIGN_INT} "US")
ENDIF(WRAP_unsigned_short)
SET(WRAP_ITK_SIGN_INT "")
IF(WRAP_signed_char)
SET(WRAP_ITK_SIGN_INT ${WRAP_ITK_SIGN_INT} "SC")
ENDIF(WRAP_signed_char)
IF(WRAP_signed_long)
SET(WRAP_ITK_SIGN_INT ${WRAP_ITK_SIGN_INT} "SL")
ENDIF(WRAP_signed_long)
IF(WRAP_signed_short)
SET(WRAP_ITK_SIGN_INT ${WRAP_ITK_SIGN_INT} "SS")
ENDIF(WRAP_signed_short)
SET(WRAP_ITK_REAL "")
IF(WRAP_float)
SET(WRAP_ITK_REAL ${WRAP_ITK_REAL} "F")
ENDIF(WRAP_float)
IF(WRAP_double)
SET(WRAP_ITK_REAL ${WRAP_ITK_REAL} "D")
ENDIF(WRAP_double)
SET(WRAP_ITK_RGB "")
IF(WRAP_rgb_unsigned_char)
SET(WRAP_ITK_RGB ${WRAP_ITK_RGB} "RGBUC")
ENDIF(WRAP_rgb_unsigned_char)
IF(WRAP_rgb_unsigned_short)
SET(WRAP_ITK_RGB ${WRAP_ITK_RGB} "RGBUS")
ENDIF(WRAP_rgb_unsigned_short)
SET(WRAP_ITK_RGBA "")
IF(WRAP_rgba_unsigned_char)
SET(WRAP_ITK_RGBA ${WRAP_ITK_RGBA} "RGBAUC")
ENDIF(WRAP_rgba_unsigned_char)
IF(WRAP_rgba_unsigned_short)
SET(WRAP_ITK_RGBA ${WRAP_ITK_RGBA} "RGBAUS")
ENDIF(WRAP_rgba_unsigned_short)
SET(WRAP_ITK_VECTOR_REAL "")
IF(WRAP_vector_double)
SET(WRAP_ITK_VECTOR_REAL ${WRAP_ITK_VECTOR_REAL} "VD")
ENDIF(WRAP_vector_double)
IF(WRAP_vector_float)
SET(WRAP_ITK_VECTOR_REAL ${WRAP_ITK_VECTOR_REAL} "VF")
ENDIF(WRAP_vector_float)
SET(WRAP_ITK_COV_VECTOR_REAL "")
IF(WRAP_covariant_vector_double)
SET(WRAP_ITK_COV_VECTOR_REAL ${WRAP_ITK_COV_VECTOR_REAL} "CVD")
ENDIF(WRAP_covariant_vector_double)
IF(WRAP_covariant_vector_float)
SET(WRAP_ITK_COV_VECTOR_REAL ${WRAP_ITK_COV_VECTOR_REAL} "CVF")
ENDIF(WRAP_covariant_vector_float)
SET(WRAP_ITK_COMPLEX_REAL "")
IF(WRAP_complex_double)
SET(WRAP_ITK_COMPLEX_REAL ${WRAP_ITK_COMPLEX_REAL} "CD")
ENDIF(WRAP_complex_double)
IF(WRAP_complex_float)
SET(WRAP_ITK_COMPLEX_REAL ${WRAP_ITK_COMPLEX_REAL} "CF")
ENDIF(WRAP_complex_float)
SET(WRAP_ITK_INT ${WRAP_ITK_SIGN_INT} ${WRAP_ITK_USIGN_INT})
SET(WRAP_ITK_SCALAR ${WRAP_ITK_INT} ${WRAP_ITK_REAL})
SET(WRAP_ITK_VECTOR ${WRAP_ITK_VECTOR_REAL} ${WRAP_ITK_COV_VECTOR_REAL})
SET(WRAP_ITK_COLOR ${WRAP_ITK_RGB} ${WRAP_ITK_RGBA})
SET(WRAP_ITK_ALL_TYPES ${WRAP_ITK_RGB} ${WRAP_ITK_RGBA} ${WRAP_ITK_VECTOR} ${WRAP_ITK_SCALAR} ${WRAP_ITK_COMPLEX_REAL})
# Make a list of all selected types "smaller than" a given type
INTERSECTION(SMALLER_THAN_D "F;UL;US;UC;SL;SS;SC" "${WRAP_ITK_SCALAR}")
INTERSECTION(SMALLER_THAN_F "UL;US;UC;SL;SS;SC" "${WRAP_ITK_SCALAR}")
INTERSECTION(SMALLER_THAN_UL "US;UC;SL;SS;SC" "${WRAP_ITK_INT}")
INTERSECTION(SMALLER_THAN_US "UC;SC" "${WRAP_ITK_INT}")
INTERSECTION(SMALLER_THAN_SL "US;UC;SS;SC" "${WRAP_ITK_INT}")
INTERSECTION(SMALLER_THAN_SS "UC;SC" "${WRAP_ITK_INT}")