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