]> Creatis software - cpPlugins.git/blob - lib/cpInstances/CMakeLists.txt
c9f77b811b04a69303be9c517792a8987dfefe2d
[cpPlugins.git] / lib / cpInstances / CMakeLists.txt
1
2 SET(
3   _definitions
4   BaseObjects
5   Transforms
6   BoundingBox
7   Mesh
8   ScalarImages
9   ComplexImages
10   ColorImages
11   VectorImages
12   MatrixImages
13   Image
14   ImageIterators
15   ImageInterpolators
16   NeighborhoodImageIterators
17   BaseImageFilters
18   ComplexImageFilters
19   ImagesIO
20   UnaryFunctorFilters
21   BinaryFunctorFilters
22   DistanceMapFilters
23   ImageSliceFilters
24   ImageSeparableFilters
25   ExtractImageFilters
26   ITKDifferenceImageFilters
27   ITKAnisotropicSmoothing
28   ITKLevelSetFilters
29   ITKImageFeatureFilters
30   PolyLineParametricPath
31   Simple3DCurve
32   Skeleton
33   )
34
35 ## =======================
36 ## == Compile instances ==
37 ## =======================
38
39 SET(_all_libs)
40 FOREACH(_d ${_definitions})
41   FILE(GLOB _files ${CMAKE_CURRENT_SOURCE_DIR}/${_d}.*)
42   CreateLib(cpInstances${_d} SHARED ${_files})
43   TARGET_LINK_LIBRARIES(
44     cpInstances${_d}
45     ${ITK_LIBRARIES} ${VTK_LIBRARIES}
46     )
47   LIST(APPEND _all_libs cpInstances${_d})
48 ENDFOREACH(_d)
49
50 ## =====================
51 ## == Further linking ==
52 ## =====================
53
54 SET(_pfx cpInstances)
55 TARGET_LINK_LIBRARIES(${_pfx}BoundingBox ${_pfx}BaseObjects cpPlugins)
56 TARGET_LINK_LIBRARIES(${_pfx}Transforms ${_pfx}BaseObjects)
57 TARGET_LINK_LIBRARIES(${_pfx}Mesh ${_pfx}BoundingBox)
58 TARGET_LINK_LIBRARIES(${_pfx}ScalarImages ${_pfx}BaseObjects)
59 TARGET_LINK_LIBRARIES(${_pfx}ComplexImages ${_pfx}ScalarImages)
60 TARGET_LINK_LIBRARIES(${_pfx}ColorImages ${_pfx}ScalarImages)
61 TARGET_LINK_LIBRARIES(${_pfx}VectorImages ${_pfx}ScalarImages)
62 TARGET_LINK_LIBRARIES(${_pfx}MatrixImages ${_pfx}ScalarImages)
63 TARGET_LINK_LIBRARIES(
64   ${_pfx}Image
65   ${_pfx}ScalarImages
66   ${_pfx}ComplexImages
67   ${_pfx}ColorImages
68   ${_pfx}VectorImages
69   ${_pfx}MatrixImages
70   cpPlugins
71   )
72 TARGET_LINK_LIBRARIES(${_pfx}ImageIterators ${_pfx}Image)
73 TARGET_LINK_LIBRARIES(${_pfx}ImageInterpolators ${_pfx}Image)
74 TARGET_LINK_LIBRARIES(${_pfx}NeighborhoodImageIterators ${_pfx}Image)
75 TARGET_LINK_LIBRARIES(${_pfx}BaseImageFilters ${_pfx}ImageIterators)
76 TARGET_LINK_LIBRARIES(
77   ${_pfx}ComplexImageFilters
78   ${_pfx}ImageIterators
79   ${_pfx}NeighborhoodImageIterators
80   )
81 TARGET_LINK_LIBRARIES(
82   ${_pfx}ImagesIO
83   ${_pfx}ScalarImages
84   ${_pfx}ColorImages
85   ${_pfx}VectorImages
86   ${_pfx}Image
87   ${_pfx}ImageIterators
88   ${_pfx}BaseImageFilters
89   )
90 TARGET_LINK_LIBRARIES(
91   ${_pfx}UnaryFunctorFilters
92   ${_pfx}Image
93   ${_pfx}ImageIterators
94   ${_pfx}BaseImageFilters
95   )
96 TARGET_LINK_LIBRARIES(
97   ${_pfx}BinaryFunctorFilters
98   ${_pfx}Image
99   ${_pfx}ImageIterators
100   ${_pfx}BaseImageFilters
101   )
102 TARGET_LINK_LIBRARIES(
103   ${_pfx}DistanceMapFilters
104   ${_pfx}UnaryFunctorFilters
105   ${_pfx}Image
106   ${_pfx}ImageIterators
107   ${_pfx}NeighborhoodImageIterators
108   ${_pfx}BaseImageFilters
109   )
110 TARGET_LINK_LIBRARIES(
111   ${_pfx}PolyLineParametricPath
112   ${_pfx}BaseObjects
113   cpPlugins
114   )
115 TARGET_LINK_LIBRARIES(
116   ${_pfx}Simple3DCurve
117   cpExtensions
118   cpPlugins
119   )
120 TARGET_LINK_LIBRARIES(
121   ${_pfx}Skeleton
122   ${_pfx}PolyLineParametricPath
123   )
124 TARGET_LINK_LIBRARIES(
125   ${_pfx}ImageSliceFilters
126   ${_pfx}Image
127   ${_pfx}ImageIterators
128   ${_pfx}NeighborhoodImageIterators
129   ${_pfx}ImageInterpolators
130   ${_pfx}BaseImageFilters
131   ${_pfx}ComplexImageFilters
132   ${_pfx}ExtractImageFilters
133   ${_pfx}Transforms
134   ${_pfx}Simple3DCurve
135   )
136 TARGET_LINK_LIBRARIES(
137   ${_pfx}ImageSeparableFilters
138   ${_pfx}Image
139   ${_pfx}BaseImageFilters
140   ${_pfx}UnaryFunctorFilters
141   )
142 TARGET_LINK_LIBRARIES(
143   ${_pfx}ExtractImageFilters
144   ${_pfx}Image
145   ${_pfx}BaseImageFilters
146   ${_pfx}ComplexImageFilters
147   )
148 TARGET_LINK_LIBRARIES(
149   ${_pfx}ITKImageFeatureFilters
150   ${_pfx}Image
151   ${_pfx}BaseImageFilters
152   ${_pfx}ComplexImageFilters
153   ${_pfx}NeighborhoodImageIterators
154   )
155 TARGET_LINK_LIBRARIES(
156   ${_pfx}ITKDifferenceImageFilters
157   ${_pfx}Image
158   ${_pfx}BaseImageFilters
159   ${_pfx}ComplexImageFilters
160   )
161 TARGET_LINK_LIBRARIES(
162   ${_pfx}ITKAnisotropicSmoothing
163   ${_pfx}ITKDifferenceImageFilters
164   )
165 TARGET_LINK_LIBRARIES(
166   ${_pfx}ITKLevelSetFilters
167   ${_pfx}ITKAnisotropicSmoothing
168   ${_pfx}UnaryFunctorFilters
169   ${_pfx}Image
170   ${_pfx}ImageIterators
171   ${_pfx}NeighborhoodImageIterators
172   ${_pfx}BaseImageFilters
173   ${_pfx}ImageInterpolators
174   ${_pfx}ExtractImageFilters
175   ${_pfx}ITKImageFeatureFilters
176   )
177
178 ## ===================================================
179 ## == Keep track of all created instances libraries ==
180 ## ===================================================
181
182 SET(
183   cpPlugins_AllInstances ${_all_libs}
184   CACHE INTERNAL "All valid instances." FORCE
185   )
186
187 ## eof - $RCSfile$