1 #----------------------------------------------------------------------------
2 # SET THE NAME OF YOUR LIBRARY
5 SET ( LIBRARY_NAME creaMaracasVisu )
6 #----------------------------------------------------------------------------
8 #----------------------------------------------------------------------------
9 # CREATES A USER OPTION IN CMAKE
10 OPTION ( BUILD_${LIBRARY_NAME} "Build ${LIBRARY_NAME} library ?" ON)
12 OPTION ( EXPORTS_MaracasKernel "Build ${LIBRARY_NAME} library ?" ON)
13 IF (EXPORTS_MaracasKernel)
14 SET(MaracasKernel_EXPORTS)
15 ADD_DEFINITIONS (-DMaracasKernel_EXPORTS)
16 ENDIF(EXPORTS_MaracasKernel)
18 #----------------------------------------------------------------------------
19 IF ( BUILD_${LIBRARY_NAME} )
20 #----------------------------------------------------------------------------
22 #----------------------------------------------------------------------------
24 #----------------------------------------------------------------------------
25 #jhcl-Start===========================================================================
29 #${MARACAS_SOURCE_DIR}/src/axe3DVTK
30 # ${MARACAS_SOURCE_DIR}/src/interface
32 #${MARACAS_SOURCE_DIR}/src/SnakeIsoContour+Deriche
33 src/interface/wxWindows
34 src/interface/wxWindows/Contour
35 src/interface/wxWindows/widgets
36 src/interface/wxWindows/widgets/pPlotter
37 src/interface/wxWindows/widgets/manualContour
40 #message(jhcl\n\n ${crea_LIBRARIES})
41 #INCLUDE(include/Modules/MARACAS_Find_LIBIDO.cmake)
42 #SET(CREA_LIBRARIES C:/creaBin/Debug/crea.lib)
44 #jhcl-End===========================================================================
45 #----------------------------------------------------------------------------
46 # LIBRARY HEADERS (TO BE INSTALLED)
47 # EITHER LIST ALL .h IN CURRENT DIR USING NEXT LINE:
48 #FILE(GLOB ${LIBRARY_NAME}_HEADERS "*.h")
49 # OR MANUALLY LIST YOUR HEADERS WITH NEXT COMMAND
51 FILE(GLOB ${LIBRARY_NAME}_HEADERS_WXWIN "src/interface/wxWindows/*.h")
52 FILE(GLOB ${LIBRARY_NAME}_SOURCES_WXWIN src/interface/wxWindows/*.cxx src/interface/wxWindows/*.cpp src/interface/wxWindows/*.cc)
54 FILE(GLOB ${LIBRARY_NAME}_HEADERS_CONTOUR "src/interface/wxWindows/Contour/*.h")
55 FILE(GLOB ${LIBRARY_NAME}_SOURCES_CONTOUR src/interface/wxWindows/Contour/*.cxx src/interface/wxWindows/Contour/*.cpp src/interface/wxWindows/Contour/*.cc)
57 FILE(GLOB ${LIBRARY_NAME}_HEADERS_WIDGETS "src/interface/wxWindows/widgets/*.h")
58 FILE(GLOB ${LIBRARY_NAME}_SOURCES_WIDGETS src/interface/wxWindows/widgets/*.cxx src/interface/wxWindows/widgets/*.cpp src/interface/wxWindows/widgets/*.cc)
60 FILE(GLOB ${LIBRARY_NAME}_HEADERS_PPLOTTER "src/interface/wxWindows/widgets/pPlotter/*.h")
61 FILE(GLOB ${LIBRARY_NAME}_SOURCES_PPLOTTER src/interface/wxWindows/widgets/pPlotter/*.cxx src/interface/wxWindows/widgets/pPlotter/*.cpp src/interface/wxWindows/widgets/pPlotter/*.cc)
63 FILE(GLOB ${LIBRARY_NAME}_HEADERS_MANUAL_CONTOUR "src/interface/wxWindows/widgets/manualContour/*.h")
64 FILE(GLOB ${LIBRARY_NAME}_SOURCES_MANUAL_CONTOUR src/interface/wxWindows/widgets/manualContour/*.cpp )
66 FILE(GLOB ${LIBRARY_NAME}_HEADERS_KERNEL "src/kernel/*.h")
67 FILE(GLOB ${LIBRARY_NAME}_SOURCES_KERNEL src/kernel/*.cxx src/kernel/*.cpp src/kernel/*.cc)
70 SET ( ${LIBRARY_NAME}_HEADERS
71 #src/interface/wxWindows/manualContour.h
72 #src/interface/wxWindows/wxMaracasMPR.h
73 #src/interface/wxWindows/wxMaracas_ManualTree_MPR.h
74 ${${LIBRARY_NAME}_HEADERS_WXWIN}
75 #src/interface/wxWindows/Contour/AutoControlPoints.h
76 #src/interface/wxWindows/Contour/ContourCrownWidget.h
77 #src/interface/wxWindows/Contour/ContourExtractData.h
78 #src/interface/wxWindows/Contour/ContourPropagation.h
79 #src/interface/wxWindows/Contour/contoursIntersection.h
80 #src/interface/wxWindows/Contour/ContourVOIWidget.h
81 #src/interface/wxWindows/Contour/ExtractControlPoints2D.h
82 #src/interface/wxWindows/Contour/Propagation.h
83 #src/interface/wxWindows/Contour/vectorFunctions.h
84 ${${LIBRARY_NAME}_HEADERS_CONTOUR}
85 ## src/interface/wxWindows/wxMaracasImageBrowser02.h
86 ## src/interface/wxWindows/widgets/wxReadingPriorityPanel.h
87 #src/interface/wxWindows/widgets/ContourView.h
88 #src/interface/wxWindows/widgets/InterfaceVtkPanelWidgets.h
89 #src/interface/wxWindows/widgets/LineView.h
90 #src/interface/wxWindows/widgets/PointView.h
91 #src/interface/wxWindows/widgets/UtilVtk3DGeometriSelection.h
92 #src/interface/wxWindows/widgets/vtkClosePolyData.h
93 #src/interface/wxWindows/widgets/wxMaracasIRMView.h
94 #src/interface/wxWindows/widgets/wxMaracasIRMViewManager.h
95 #src/interface/wxWindows/widgets/wxMaracas_ViewerWidget.h
96 #src/interface/wxWindows/widgets/wxMaracas_N_ViewersWidget.h
97 #src/interface/wxWindows/widgets/wxManualTree_MPRWidget.h
98 #src/interface/wxWindows/widgets/wxMPRBaseData.h
99 #src/interface/wxWindows/widgets/wxMPRWidget.h
100 #src/interface/wxWindows/widgets/wxSTLWidget_03.h
101 #src/interface/wxWindows/widgets/wxVTKRenderWindowInteractor.h
102 #src/interface/wxWindows/widgets/wxVTKRenderWindowInteractorEditContour.h
103 #src/interface/wxWindows/widgets/wxVtkBaseView.h
104 ${${LIBRARY_NAME}_HEADERS_WIDGETS}
105 #src/interface/wxWindows/widgets/pPlotter/Histogram.h
106 #src/interface/wxWindows/widgets/pPlotter/HistogramDialog.h
107 #src/interface/wxWindows/widgets/pPlotter/HistogramWidget.h
108 #src/interface/wxWindows/widgets/pPlotter/LogicalColorBar.h
109 #src/interface/wxWindows/widgets/pPlotter/mBarRange.h
110 #src/interface/wxWindows/widgets/pPlotter/mathplot.h
111 #src/interface/wxWindows/widgets/pPlotter/MaximumsDialog.h
112 #src/interface/wxWindows/widgets/pPlotter/pColorBar.h
113 #src/interface/wxWindows/widgets/pPlotter/pColorPoint.h
114 #src/interface/wxWindows/widgets/pPlotter/pFigure.h
115 #src/interface/wxWindows/widgets/pPlotter/pFunctionPoint.h
116 #src/interface/wxWindows/widgets/pPlotter/pGraphicalFunction.h
117 #src/interface/wxWindows/widgets/pPlotter/pHistogram.h
118 #src/interface/wxWindows/widgets/pPlotter/pLogicalFunction.h
119 #src/interface/wxWindows/widgets/pPlotter/pPlotter.h
120 #src/interface/wxWindows/widgets/pPlotter/pPlotterLayer.h
121 #src/interface/wxWindows/widgets/pPlotter/pPlotterScaleX.h
122 #src/interface/wxWindows/widgets/pPlotter/pPlotterScaleY.h
123 #src/interface/wxWindows/widgets/pPlotter/pPlotterWindow.h
124 ${${LIBRARY_NAME}_HEADERS_PPLOTTER}
125 ${${LIBRARY_NAME}_HEADERS_MANUAL_CONTOUR}
129 #src/kernel/marImageData.h
130 #src/kernel/marDicomBase.h
131 #src/kernel/marObject.h
132 #src/kernel/volume.hxx
133 #src/kernel/marTypes.h
134 #src/kernel/marParameters.h
135 #src/kernel/marDynData.h
136 #src/kernel/creaMaracasVisu_EXPORT.h
137 #src/kernel/vtkSTLExtractor.h
138 ${${LIBRARY_NAME}_HEADERS_KERNEL}
140 #----------------------------------------------------------------------------
142 #----------------------------------------------------------------------------
143 # LIBRARY SOURCES (TO BE COMPILED)
144 # EITHER LIST ALL .cxx, *.cpp, *.cc IN CURRENT DIR USING NEXT LINE:
145 #FILE(GLOB ${LIBRARY_NAME}_SOURCES *.cxx *.cpp *.cc)
146 # OR MANUALLY LIST YOUR FILES WITH NEXT COMMAND (WITHOUT EXTENSION)
148 SET ( ${LIBRARY_NAME}_SOURCES
149 #src/interface/wxWindows/manualContour.cpp
150 #src/interface/wxWindows/wxMaracasMPR.cxx
151 #src/interface/wxWindows/wxMaracas_ManualTree_MPR.cxx
152 ${${LIBRARY_NAME}_SOURCES_WXWIN}
153 #src/interface/wxWindows/Contour/AutoControlPoints.cxx
154 #src/interface/wxWindows/Contour/ContourCrownWidget.cxx
155 #src/interface/wxWindows/Contour/ContourExtractData.cxx
156 #src/interface/wxWindows/Contour/ContourPropagation.cxx
157 #src/interface/wxWindows/Contour/contoursIntersection.cxx
158 #src/interface/wxWindows/Contour/ContourVOIWidget.cxx
159 #src/interface/wxWindows/Contour/ExtractControlPoints2D.cxx
160 #src/interface/wxWindows/Contour/Propagation.cxx
161 #src/interface/wxWindows/Contour/vectorFunctions.cxx
162 ${${LIBRARY_NAME}_SOURCES_CONTOUR}
163 # src/interface/wxWindows/wxMaracasImageBrowser02.cxx
164 # src/interface/wxWindows/widgets/wxReadingPriorityPanel.cpp
165 #src/interface/wxWindows/widgets/ContourView.cxx
166 #src/interface/wxWindows/widgets/InterfaceVtkPanelWidgets.cxx
167 #src/interface/wxWindows/widgets/LineView.cxx
168 #src/interface/wxWindows/widgets/PointView.cxx
169 #src/interface/wxWindows/widgets/UtilVtk3DGeometriSelection.cxx
170 #src/interface/wxWindows/widgets/vtkClosePolyData.cxx
171 #src/interface/wxWindows/widgets/wxManualTree_MPRWidget.cxx
172 #src/interface/wxWindows/widgets/wxMaracas_ViewerWidget.cxx
173 #src/interface/wxWindows/widgets/wxMaracas_N_ViewersWidget.cxx
174 #src/interface/wxWindows/widgets/wxMaracasIRMView.cxx
175 #src/interface/wxWindows/widgets/wxMaracasIRMViewManager.cxx
176 #src/interface/wxWindows/widgets/wxMPRWidget.cxx
177 #src/interface/wxWindows/widgets/wxMPRBaseData.cxx
178 #src/interface/wxWindows/widgets/wxSTLWidget_03.cxx
179 #src/interface/wxWindows/widgets/wxVTKRenderWindowInteractor.cxx
180 #src/interface/wxWindows/widgets/wxVTKRenderWindowInteractorEditContour.cxx
181 #src/interface/wxWindows/widgets/wxVtkBaseView.cxx
182 ${${LIBRARY_NAME}_SOURCES_WIDGETS}
183 #src/interface/wxWindows/widgets/pPlotter/Histogram.cxx
184 #src/interface/wxWindows/widgets/pPlotter/HistogramDialog.cxx
185 #src/interface/wxWindows/widgets/pPlotter/HistogramWidget.cxx
186 #src/interface/wxWindows/widgets/pPlotter/LogicalColorBar.cxx
187 #src/interface/wxWindows/widgets/pPlotter/mBarRange.cxx
188 #src/interface/wxWindows/widgets/pPlotter/mathplot.cxx
189 #src/interface/wxWindows/widgets/pPlotter/MaximumsDialog.cxx
190 #src/interface/wxWindows/widgets/pPlotter/pColorBar.cxx
191 #src/interface/wxWindows/widgets/pPlotter/pColorPoint.cxx
192 #src/interface/wxWindows/widgets/pPlotter/pFigure.cxx
193 #src/interface/wxWindows/widgets/pPlotter/pFunctionPoint.cxx
194 #src/interface/wxWindows/widgets/pPlotter/pGraphicalFunction.cxx
195 #src/interface/wxWindows/widgets/pPlotter/pHistogram.cxx
196 #src/interface/wxWindows/widgets/pPlotter/pLogicalFunction.cxx
197 #src/interface/wxWindows/widgets/pPlotter/pPlotter.cxx
198 #src/interface/wxWindows/widgets/pPlotter/pPlotterLayer.cxx
199 #src/interface/wxWindows/widgets/pPlotter/pPlotterScaleX.cxx
200 #src/interface/wxWindows/widgets/pPlotter/pPlotterScaleY.cxx
201 #src/interface/wxWindows/widgets/pPlotter/pPlotterWindow.cxx
202 ${${LIBRARY_NAME}_SOURCES_PPLOTTER}
203 ${${LIBRARY_NAME}_SOURCES_MANUAL_CONTOUR}
206 #src/kernel/marImageData.cpp
207 #src/kernel/marDicomBase.cpp
208 # src/kernel/marGdcmDicom.cpp
209 #src/kernel/marObject.cpp
210 #src/kernel/volume.cxx
211 #src/kernel/marParameters.cpp
212 #src/kernel/marDynData.cpp
213 #src/kernel/vtkSTLExtractor.cpp
214 ${${LIBRARY_NAME}_SOURCES_KERNEL}
216 #----------------------------------------------------------------------------
217 #jhcl-Start===========================================================================
218 #message(jhcl4${LIBIDO_LIBRARIES})
219 #jhcl-End===========================================================================
221 #----------------------------------------------------------------------------
222 # LIBRARY DEPENDENCIES (LIBRARIES TO LINK WITH)
223 SET ( ${LIBRARY_NAME}_LINK_LIBRARIES
225 ${WXWIDGETS_LIBRARIES}
230 #jhcl-Start===========================================================================
235 #jhcl-End===========================================================================
237 #----------------------------------------------------------------------------
240 #----------------------------------------------------------------------------
241 # MACRO WHICH DOES ALL THE JOB : BUILD AND INSTALL
243 #CREA_ADD_LIBRARY( ${LIBRARY_NAME} )
246 # Ya esta hecho arriba
247 # SET(LIBRARY_NAME ******NOMBRE*******)
249 IF(CREA_VERBOSE_CMAKE)
250 MESSAGE(STATUS "** Creating library ${LIBRARY_NAME}")
251 MESSAGE(STATUS " Headers : ${${LIBRARY_NAME}_HEADERS}")
252 MESSAGE(STATUS " Sources : ${${LIBRARY_NAME}_SOURCES}")
253 MESSAGE(STATUS " Link libs: ${${LIBRARY_NAME}_LINK_LIBRARIES}")
254 ENDIF(CREA_VERBOSE_CMAKE)
259 ADD_LIBRARY (${LIBRARY_NAME} ${${LIBRARY_NAME}_SHARED} ${${LIBRARY_NAME}_SOURCES} ${${LIBRARY_NAME}_HEADERS})
262 TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${${LIBRARY_NAME}_LINK_LIBRARIES})
264 # Sets the settings for macro CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE
265 SET(${LIBRARY_NAME}_INSTALL_FOLDER ${LIBRARY_NAME})
266 SET(${LIBRARY_NAME}_LIBRARIES ${LIBRARY_NAME})
269 # ${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS
270 # ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
273 SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS
275 #lib/THIS_DIR/other_headers
276 lib/maracasVisuLib/src
277 #${MARACAS_SOURCE_DIR}/src/axe3DVTK
278 # ${MARACAS_SOURCE_DIR}/src/interface
279 lib/maracasVisuLib/src/kernel
280 #${MARACAS_SOURCE_DIR}/src/SnakeIsoContour+Deriche
281 lib/maracasVisuLib/src/interface/wxWindows
282 lib/maracasVisuLib/src/interface/wxWindows/Contour
283 lib/maracasVisuLib/src/interface/wxWindows/widgets
284 lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter
285 lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour
286 lib/maracasVisuLib/../../../
288 IF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
289 SET(CILFC_EXECUTABLE_OUTPUT_REL_PATH ".")
290 ELSE ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
292 CILFC_EXECUTABLE_OUTPUT_REL_PATH
293 ${PROJECT_BINARY_DIR} ${EXECUTABLE_OUTPUT_PATH})
294 ENDIF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
297 SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS
298 ${CILFC_EXECUTABLE_OUTPUT_REL_PATH})
299 SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS lib)
301 SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS
302 ${CILFC_EXECUTABLE_OUTPUT_REL_PATH})
303 SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS bin)
305 SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_INCLUDE_PATHS include/${LIBRARY_NAME})
306 SET(${LIBRARY_NAME}_HAS_ADDITIONAL_CONFIG_FILE FALSE)
307 # SET(${LIBRARY_NAME}_ADDITIONAL_CONFIG_FILE
308 # ${PROJECT_SOURCE_DIR}/src/AdditionalcreaImageIOConfig.cmake.in)
309 # SET(${LIBRARY_NAME}_ADDITIONAL_USE_FILE
310 # ${PROJECT_SOURCE_DIR}/src/AdditionalUsecreaImageIO.cmake.in)
312 # Invoke the advanced macro
313 CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME})
317 FILES ${${LIBRARY_NAME}_HEADERS}
318 DESTINATION ${${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_INCLUDE_PATHS}
322 TARGETS ${LIBRARY_NAME}
326 TARGETS ${LIBRARY_NAME}
334 #----------------------------------------------------------------------------
337 #---------------------------------------------------------------------------
338 ENDIF ( BUILD_${LIBRARY_NAME} )