]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/CMakeLists.txt
df1664281d63e6882810a6fbfe558c71b9f5123c
[creaMaracasVisu.git] / lib / maracasVisuLib / CMakeLists.txt
1 #----------------------------------------------------------------------------
2 # SET THE NAME OF YOUR LIBRARY
3 SET ( LIBRARY_NAME   creaMaracasVisu  )
4 #----------------------------------------------------------------------------
5
6 #----------------------------------------------------------------------------
7 # CREATES A USER OPTION IN CMAKE
8 OPTION ( BUILD_${LIBRARY_NAME}  "Build ${LIBRARY_NAME} library ?" ON)
9
10 OPTION ( EXPORTS_MaracasKernel  "Build ${LIBRARY_NAME} library ?" ON)
11 IF (EXPORTS_MaracasKernel)
12         SET(MaracasKernel_EXPORTS)
13         ADD_DEFINITIONS (-DMaracasKernel_EXPORTS)
14 ENDIF(EXPORTS_MaracasKernel)
15
16 #----------------------------------------------------------------------------
17 IF ( BUILD_${LIBRARY_NAME} )
18 #----------------------------------------------------------------------------
19
20   #----------------------------------------------------------------------------
21   # BUILD LIBRARY
22   #----------------------------------------------------------------------------
23 #jhcl-Start===========================================================================
24   INCLUDE_DIRECTORIES(
25     include
26     src
27         #${MARACAS_SOURCE_DIR}/src/axe3DVTK
28         #  ${MARACAS_SOURCE_DIR}/src/interface
29     src/kernel
30         #${MARACAS_SOURCE_DIR}/src/SnakeIsoContour+Deriche
31     src/interface/wxWindows
32     src/interface/wxWindows/Contour
33     src/interface/wxWindows/widgets
34     src/interface/wxWindows/widgets/pPlotter
35         ../../../
36 )
37         #message(jhcl\n\n ${crea_LIBRARIES})
38         #INCLUDE(include/Modules/MARACAS_Find_LIBIDO.cmake)
39         #SET(CREA_LIBRARIES C:/creaBin/Debug/crea.lib)
40         #FIND_PACKAGE(crea)
41 #jhcl-End===========================================================================
42   #----------------------------------------------------------------------------
43   # LIBRARY HEADERS (TO BE INSTALLED)
44   # EITHER LIST ALL .h IN CURRENT DIR USING NEXT LINE:
45   #FILE(GLOB ${LIBRARY_NAME}_HEADERS "*.h")
46   # OR MANUALLY LIST YOUR HEADERS WITH NEXT COMMAND
47   SET ( ${LIBRARY_NAME}_HEADERS
48         src/interface/wxWindows/manualContour.h
49         src/interface/wxWindows/Contour/ContourCrownWidget.h
50         src/interface/wxWindows/Contour/ContourExtractData.h
51         src/interface/wxWindows/Contour/ContourVOIWidget.h  
52     src/interface/wxWindows/Contour/Propagation.h
53     src/interface/wxWindows/Contour/ExtractControlPoints2D.h
54     src/interface/wxWindows/Contour/AutoControlPoints.h
55     src/interface/wxWindows/Contour/ContourPropagation.h
56     src/interface/wxWindows/Contour/contoursIntersection.h
57     src/interface/wxWindows/Contour/vectorFunctions.h
58 ##    src/interface/wxWindows/wxMaracasImageBrowser02.h
59 ##    src/interface/wxWindows/widgets/wxReadingPriorityPanel.h
60     src/interface/wxWindows/widgets/wxVTKRenderWindowInteractor.h
61     src/interface/wxWindows/widgets/wxVTKRenderWindowInteractorEditContour.h
62     src/interface/wxWindows/widgets/InterfaceVtkPanelWidgets.h
63     src/interface/wxWindows/widgets/vtkClosePolyData.h
64     src/interface/wxWindows/wxMaracasMPR.h
65     src/interface/wxWindows/widgets/wxMPRWidget.h
66     src/interface/wxWindows/widgets/wxMPRBaseData.h
67     src/interface/wxWindows/widgets/wxVtkBaseView.h
68     src/interface/wxWindows/widgets/wxMaracas_ViewerWidget.h 
69     src/interface/wxWindows/widgets/wxMaracas_N_ViewersWidget.h
70         
71         src/interface/wxWindows/widgets/wxMaracasIRMView.h
72         src/interface/wxWindows/widgets/wxMaracasIRMViewManager.h
73         
74     src/interface/wxWindows/wxMaracas_ManualTree_MPR.h
75     src/interface/wxWindows/widgets/wxManualTree_MPRWidget.h
76     src/interface/wxWindows/widgets/ContourView.h
77     src/interface/wxWindows/widgets/PointView.h
78     src/interface/wxWindows/widgets/LineView.h
79     src/interface/wxWindows/widgets/UtilVtk3DGeometriSelection.h
80     src/interface/wxWindows/widgets/pPlotter/HistogramDialog.h
81     src/interface/wxWindows/widgets/pPlotter/HistogramWidget.h
82     src/interface/wxWindows/widgets/pPlotter/pHistogram.h
83     src/interface/wxWindows/widgets/pPlotter/mBarRange.h
84     src/interface/wxWindows/widgets/pPlotter/pLogicalFunction.h
85     src/interface/wxWindows/widgets/pPlotter/LogicalColorBar.h
86     src/interface/wxWindows/widgets/pPlotter/pGraphicalFunction.h
87     src/interface/wxWindows/widgets/pPlotter/pFunctionPoint.h
88     src/interface/wxWindows/widgets/pPlotter/pPlotterWindow.h
89     src/interface/wxWindows/widgets/pPlotter/pPlotterLayer.h
90     src/interface/wxWindows/widgets/pPlotter/pPlotterScaleX.h
91     src/interface/wxWindows/widgets/pPlotter/pPlotterScaleY.h
92     src/interface/wxWindows/widgets/pPlotter/pColorBar.h
93     src/interface/wxWindows/widgets/pPlotter/pFigure.h
94     src/interface/wxWindows/widgets/pPlotter/pColorPoint.h
95     src/interface/wxWindows/widgets/pPlotter/pPlotter.h
96     src/interface/wxWindows/widgets/pPlotter/mathplot.h
97     src/interface/wxWindows/widgets/pPlotter/MaximumsDialog.h
98     src/interface/wxWindows/widgets/pPlotter/Histogram.h
99         src/interface/wxWindows/widgets/wxSTLWidget_03.h
100     include/matrix.h
101     src/kernel/marImageData.h
102     src/kernel/marDicomBase.h
103   #  src/kernel/marGdcmDicom.h
104     src/kernel/marObject.h
105     src/kernel/volume.hxx
106     src/kernel/marTypes.h
107     src/kernel/marParameters.h
108     src/kernel/marDynData.h
109     src/kernel/creaMaracasVisu_EXPORT.h 
110         src/kernel/vtkSTLExtractor.h
111   )
112   #----------------------------------------------------------------------------
113
114   #----------------------------------------------------------------------------
115   # LIBRARY SOURCES (TO BE COMPILED)
116   # EITHER LIST ALL .cxx, *.cpp, *.cc IN CURRENT DIR USING NEXT LINE:
117   #FILE(GLOB ${LIBRARY_NAME}_SOURCES *.cxx *.cpp *.cc)
118   # OR MANUALLY LIST YOUR FILES WITH NEXT COMMAND (WITHOUT EXTENSION)
119   SET ( ${LIBRARY_NAME}_SOURCES 
120         src/interface/wxWindows/manualContour.cpp
121         src/interface/wxWindows/Contour/ContourCrownWidget.cxx
122         src/interface/wxWindows/Contour/ContourExtractData.cxx
123     src/interface/wxWindows/Contour/ContourVOIWidget.cxx
124     src/interface/wxWindows/Contour/Propagation.cxx
125     src/interface/wxWindows/Contour/ExtractControlPoints2D.cxx
126     src/interface/wxWindows/Contour/AutoControlPoints.cxx
127     src/interface/wxWindows/Contour/ContourPropagation.cxx
128     src/interface/wxWindows/Contour/contoursIntersection.cxx
129     src/interface/wxWindows/Contour/vectorFunctions.cxx
130 #    src/interface/wxWindows/wxMaracasImageBrowser02.cxx
131 #    src/interface/wxWindows/widgets/wxReadingPriorityPanel.cpp
132         
133         src/interface/wxWindows/widgets/wxMaracasIRMView.cxx
134         src/interface/wxWindows/widgets/wxMaracasIRMViewManager.cxx
135         
136     src/interface/wxWindows/widgets/wxVTKRenderWindowInteractor.cxx
137     src/interface/wxWindows/widgets/wxVTKRenderWindowInteractorEditContour.cxx
138     src/interface/wxWindows/widgets/InterfaceVtkPanelWidgets.cxx
139     src/interface/wxWindows/widgets/vtkClosePolyData.cxx
140     src/interface/wxWindows/wxMaracasMPR.cxx
141     src/interface/wxWindows/widgets/wxMPRWidget.cxx
142     src/interface/wxWindows/widgets/wxMPRBaseData.cxx
143     src/interface/wxWindows/widgets/wxVtkBaseView.cxx
144     src/interface/wxWindows/widgets/wxMaracas_ViewerWidget.cxx
145     src/interface/wxWindows/widgets/wxMaracas_N_ViewersWidget.cxx
146     src/interface/wxWindows/wxMaracas_ManualTree_MPR.cxx
147     src/interface/wxWindows/widgets/wxManualTree_MPRWidget.cxx
148     src/interface/wxWindows/res/wxInterface.rc
149     src/interface/wxWindows/widgets/ContourView.cxx
150     src/interface/wxWindows/widgets/PointView.cxx
151     src/interface/wxWindows/widgets/LineView.cxx
152     src/interface/wxWindows/widgets/UtilVtk3DGeometriSelection.cxx
153 #####pPlotter classes
154     src/interface/wxWindows/widgets/pPlotter/HistogramDialog.cxx
155     src/interface/wxWindows/widgets/pPlotter/HistogramWidget.cxx
156     src/interface/wxWindows/widgets/pPlotter/pHistogram.cxx
157     src/interface/wxWindows/widgets/pPlotter/mBarRange.cxx
158     src/interface/wxWindows/widgets/pPlotter/pLogicalFunction.cxx
159     src/interface/wxWindows/widgets/pPlotter/LogicalColorBar.cxx
160     src/interface/wxWindows/widgets/pPlotter/pGraphicalFunction.cxx
161     src/interface/wxWindows/widgets/pPlotter/pFunctionPoint.cxx
162     src/interface/wxWindows/widgets/pPlotter/pPlotterWindow.cxx
163     src/interface/wxWindows/widgets/pPlotter/pPlotterLayer.cxx
164     src/interface/wxWindows/widgets/pPlotter/pPlotterScaleX.cxx
165     src/interface/wxWindows/widgets/pPlotter/pPlotterScaleY.cxx
166     src/interface/wxWindows/widgets/pPlotter/pColorBar.cxx
167     src/interface/wxWindows/widgets/pPlotter/pFigure.cxx
168     src/interface/wxWindows/widgets/pPlotter/pColorPoint.cxx
169     src/interface/wxWindows/widgets/pPlotter/pPlotter.cxx
170     src/interface/wxWindows/widgets/pPlotter/mathplot.cxx
171     src/interface/wxWindows/widgets/pPlotter/MaximumsDialog.cxx
172     src/interface/wxWindows/widgets/pPlotter/Histogram.cxx
173         src/interface/wxWindows/widgets/wxSTLWidget_03.cxx
174 ###
175         src/kernel/marImageData.cpp
176         src/kernel/marDicomBase.cpp
177 #       src/kernel/marGdcmDicom.cpp
178         src/kernel/marObject.cpp
179         src/kernel/volume.cxx
180         src/kernel/marParameters.cpp
181         src/kernel/marDynData.cpp       
182         src/kernel/vtkSTLExtractor.cpp
183   )
184   #----------------------------------------------------------------------------
185 #jhcl-Start===========================================================================
186 #message(jhcl4${LIBIDO_LIBRARIES})
187 #jhcl-End===========================================================================
188           
189   #----------------------------------------------------------------------------
190   # LIBRARY DEPENDENCIES (LIBRARIES TO LINK WITH)
191   SET ( ${LIBRARY_NAME}_LINK_LIBRARIES
192                 ${crea_LIBRARIES}
193         ${WXWIDGETS_LIBRARIES}
194         ${VTK_LIBRARIES}
195         ${ITK_LIBRARIES}
196 #        ${GDCM_LIBRARIES}
197     #    ${BOOST_LIBRARIES}
198         #jhcl-Start===========================================================================
199                 
200                 ${LIBIDO_LIBRARIES}
201                 ${CREA_LIBRARIES}
202         #${BOOST_LIBRARIES}
203         #jhcl-End===========================================================================
204     )
205   #----------------------------------------------------------------------------
206
207   
208   #----------------------------------------------------------------------------
209   # MACRO WHICH DOES ALL THE JOB : BUILD AND INSTALL
210 #JHCL 
211   #CREA_ADD_LIBRARY( ${LIBRARY_NAME} )
212 #JHCL
213
214 # Ya esta hecho arriba
215 # SET(LIBRARY_NAME ******NOMBRE*******)
216
217   IF(CREA_VERBOSE_CMAKE)
218     MESSAGE(STATUS "** Creating library ${LIBRARY_NAME}")
219     MESSAGE(STATUS "   Headers  : ${${LIBRARY_NAME}_HEADERS}")
220     MESSAGE(STATUS "   Sources  : ${${LIBRARY_NAME}_SOURCES}")
221     MESSAGE(STATUS "   Link libs: ${${LIBRARY_NAME}_LINK_LIBRARIES}")
222   ENDIF(CREA_VERBOSE_CMAKE)
223
224
225   
226   # CREATE THE TARGET
227   ADD_LIBRARY(${LIBRARY_NAME} ${${LIBRARY_NAME}_SHARED} ${${LIBRARY_NAME}_SOURCES} ${${LIBRARY_NAME}_HEADERS})
228
229   # LINK
230   TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${${LIBRARY_NAME}_LINK_LIBRARIES})
231
232  # Sets the settings for macro CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE
233   SET(${LIBRARY_NAME}_INSTALL_FOLDER ${LIBRARY_NAME})
234   SET(${LIBRARY_NAME}_LIBRARIES ${LIBRARY_NAME})
235  
236 #  FILE(RELATIVE_PATH
237  #   ${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS
238  #   ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
239  #   )
240
241 SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS
242 #lib/THIS_DIR/toto
243 #lib/THIS_DIR/other_headers
244     lib/maracasVisuLib/src
245         #${MARACAS_SOURCE_DIR}/src/axe3DVTK
246         #  ${MARACAS_SOURCE_DIR}/src/interface
247     lib/maracasVisuLib/src/kernel
248         #${MARACAS_SOURCE_DIR}/src/SnakeIsoContour+Deriche
249     lib/maracasVisuLib/src/interface/wxWindows
250     lib/maracasVisuLib/src/interface/wxWindows/Contour
251     lib/maracasVisuLib/src/interface/wxWindows/widgets
252     lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter
253         lib/maracasVisuLib/../../../
254 )
255 IF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
256   SET(CILFC_EXECUTABLE_OUTPUT_REL_PATH ".")
257 ELSE ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
258   FILE(RELATIVE_PATH 
259     CILFC_EXECUTABLE_OUTPUT_REL_PATH
260     ${PROJECT_BINARY_DIR} ${EXECUTABLE_OUTPUT_PATH})
261 ENDIF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
262
263 IF(UNIX)
264   SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS
265     ${CILFC_EXECUTABLE_OUTPUT_REL_PATH})
266   SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS lib)
267 ELSE(UNIX)
268   SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS
269     ${CILFC_EXECUTABLE_OUTPUT_REL_PATH})
270   SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS bin)
271 ENDIF(UNIX)
272   SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_INCLUDE_PATHS include/${LIBRARY_NAME})
273   SET(${LIBRARY_NAME}_HAS_ADDITIONAL_CONFIG_FILE FALSE)
274 # SET(${LIBRARY_NAME}_ADDITIONAL_CONFIG_FILE
275 #   ${PROJECT_SOURCE_DIR}/src/AdditionalcreaImageIOConfig.cmake.in)
276 # SET(${LIBRARY_NAME}_ADDITIONAL_USE_FILE
277 #  ${PROJECT_SOURCE_DIR}/src/AdditionalUsecreaImageIO.cmake.in)
278
279 # Invoke the advanced macro
280 CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME})
281
282 # INSTALLS LIBRARY
283 INSTALL(
284   FILES ${${LIBRARY_NAME}_HEADERS}
285   DESTINATION ${${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_INCLUDE_PATHS}
286   ) 
287 IF(WIN32)       
288   INSTALL(
289     TARGETS ${LIBRARY_NAME}
290     DESTINATION bin)
291 ELSE(WIN32)
292   INSTALL(
293     TARGETS ${LIBRARY_NAME}
294     DESTINATION lib)
295 ENDIF(WIN32)
296
297
298   
299   
300   
301   #----------------------------------------------------------------------------
302
303
304   #---------------------------------------------------------------------------
305 ENDIF ( BUILD_${LIBRARY_NAME} )