]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/CMakeLists.txt
Diego Caceres: Changes in CMakeLists.txt.
[creaMaracasVisu.git] / lib / maracasVisuLib / CMakeLists.txt
index 581d8d748e1ee7fa337c04cc5519b2e048942a21..949c166299061b1cedf57f2489039189186a2c54 100644 (file)
@@ -1,17 +1,23 @@
 #----------------------------------------------------------------------------
-# SET THE NAME OF YOUR LIBRARY
-SET ( LIBRARY_NAME   maracasVisuLib  )
+# USER ! SET THE NAME OF YOUR LIBRARY
+SET ( LIBRARY_NAME   creaMaracasVisu  )
+
+#EED 5/Mars/2010
+IF (UNIX)
+  add_definitions(-fPIC)
+ENDIF(UNIX)
+
 #----------------------------------------------------------------------------
 
 #----------------------------------------------------------------------------
 # CREATES A USER OPTION IN CMAKE
 OPTION ( BUILD_${LIBRARY_NAME}  "Build ${LIBRARY_NAME} library ?" ON)
 
-#OPTION ( EXPORTS_MaracasKernel  "Build ${LIBRARY_NAME} library ?" ON)
-#IF (EXPORTS_MaracasKernel)
-#      SET(MaracasKernel_EXPORTS)
-#      ADD_DEFINITIONS (-DMaracasKernel_EXPORTS)
-#ENDIF(EXPORTS_MaracasKernel)
+OPTION ( EXPORTS_MaracasKernel  "Build ${LIBRARY_NAME} library ?" ON)
+IF (EXPORTS_MaracasKernel)
+       SET(MaracasKernel_EXPORTS)
+       ADD_DEFINITIONS (-DMaracasKernel_EXPORTS)
+ENDIF(EXPORTS_MaracasKernel)
 
 #----------------------------------------------------------------------------
 IF ( BUILD_${LIBRARY_NAME} )
@@ -20,21 +26,9 @@ IF ( BUILD_${LIBRARY_NAME} )
   #----------------------------------------------------------------------------
   # BUILD LIBRARY
   #----------------------------------------------------------------------------
-#jhcl-Start===========================================================================
-  INCLUDE_DIRECTORIES(
-    include
-    src
-       #${MARACAS_SOURCE_DIR}/src/axe3DVTK
-       #  ${MARACAS_SOURCE_DIR}/src/interface
-    src/kernel
-       #${MARACAS_SOURCE_DIR}/src/SnakeIsoContour+Deriche
-    src/interface/wxWindows
-    src/interface/wxWindows/widgets
-    src/interface/wxWindows/widgets/pPlotter
-       ../../../
-)
+
        #message(jhcl\n\n ${crea_LIBRARIES})
-       INCLUDE(include/Modules/MARACAS_Find_LIBIDO.cmake)
+       #INCLUDE(include/Modules/MARACAS_Find_LIBIDO.cmake)
        #SET(CREA_LIBRARIES C:/creaBin/Debug/crea.lib)
        #FIND_PACKAGE(crea)
 #jhcl-End===========================================================================
@@ -43,61 +37,57 @@ IF ( BUILD_${LIBRARY_NAME} )
   # EITHER LIST ALL .h IN CURRENT DIR USING NEXT LINE:
   #FILE(GLOB ${LIBRARY_NAME}_HEADERS "*.h")
   # OR MANUALLY LIST YOUR HEADERS WITH NEXT COMMAND
+
+  FILE(GLOB ${LIBRARY_NAME}_HEADERS_WXWIN "src/interface/wxWindows/*.h")
+  FILE(GLOB ${LIBRARY_NAME}_SOURCES_WXWIN src/interface/wxWindows/*.cxx src/interface/wxWindows/*.cpp src/interface/wxWindows/*.cc)
+
+  FILE(GLOB ${LIBRARY_NAME}_HEADERS_CONTOUR "src/interface/wxWindows/Contour/*.h")
+  FILE(GLOB ${LIBRARY_NAME}_SOURCES_CONTOUR src/interface/wxWindows/Contour/*.cxx src/interface/wxWindows/Contour/*.cpp src/interface/wxWindows/Contour/*.cc)
+
+  FILE(GLOB ${LIBRARY_NAME}_HEADERS_ThresholdImageView "src/interface/wxWindows/widgets/ThresholdImageView/*.h")
+  FILE(GLOB ${LIBRARY_NAME}_SOURCES_ThresholdImageView src/interface/wxWindows/widgets/ThresholdImageView/*.cxx src/interface/wxWindows/widgets/ThresholdImageView/*.cpp src/interface/wxWindows/widgets/ThresholdImageView/*.cc)
+
+  FILE(GLOB ${LIBRARY_NAME}_HEADERS_WIDGETS "src/interface/wxWindows/widgets/*.h")
+  FILE(GLOB ${LIBRARY_NAME}_SOURCES_WIDGETS src/interface/wxWindows/widgets/*.cxx src/interface/wxWindows/widgets/*.cpp src/interface/wxWindows/widgets/*.cc)
+
+  FILE(GLOB ${LIBRARY_NAME}_HEADERS_PPLOTTER "src/interface/wxWindows/widgets/pPlotter/*.h")
+  FILE(GLOB ${LIBRARY_NAME}_SOURCES_PPLOTTER src/interface/wxWindows/widgets/pPlotter/*.cxx src/interface/wxWindows/widgets/pPlotter/*.cpp src/interface/wxWindows/widgets/pPlotter/*.cc)
+
+#DCH
+  FILE(GLOB ${LIBRARY_NAME}_HEADERS_CBUTTONCONTAINER "src/interface/wxWindows/widgets/creaButtonContainer/model/include/*.h" "src/interface/wxWindows/widgets/creaButtonContainer/view/include/*.h" "src/interface/wxWindows/widgets/creaButtonContainer/controller/include/*.h" )
+  FILE(GLOB ${LIBRARY_NAME}_SOURCES_CBUTTONCONTAINER src/interface/wxWindows/widgets/creaButtonContainer/model/src/*.cxx src/interface/wxWindows/widgets/creaButtonContainer/view/src/*.cxx src/interface/wxWindows/widgets/creaButtonContainer/controller/src/*.cxx )
+
+  FILE(GLOB ${LIBRARY_NAME}_HEADERS_CPBUTTONCONTAINER "src/interface/wxWindows/widgets/creaPanelButtonContainer/include/*.h" )
+  FILE(GLOB ${LIBRARY_NAME}_SOURCES_CPBUTTONCONTAINER src/interface/wxWindows/widgets/creaPanelButtonContainer/src/*.cxx )  
+#DCH
+
+  FILE(GLOB ${LIBRARY_NAME}_HEADERS_MANUAL_CONTOUR "src/interface/wxWindows/widgets/manualContour/*.h")
+  FILE(GLOB ${LIBRARY_NAME}_SOURCES_MANUAL_CONTOUR src/interface/wxWindows/widgets/manualContour/*.cpp )
+
+  FILE(GLOB ${LIBRARY_NAME}_HEADERS_MANUAL_PAINT "src/interface/wxWindows/widgets/manualPaint/*.h")
+  FILE(GLOB ${LIBRARY_NAME}_SOURCES_MANUAL_PAINT src/interface/wxWindows/widgets/manualPaint/*.cpp )
+
+  FILE(GLOB ${LIBRARY_NAME}_HEADERS_KERNEL "src/kernel/*.h")
+  FILE(GLOB ${LIBRARY_NAME}_SOURCES_KERNEL src/kernel/*.cxx src/kernel/*.cpp src/kernel/*.cc)
+
+FILE(GLOB ${LIBRARY_NAME}_HEADERS_CUTMODULE src/CutModule/interface/*.h src/CutModule/kernel/*.h)
+  FILE(GLOB ${LIBRARY_NAME}_SOURCES_CUTMODULE src/CutModule/interface/*.cxx src/CutModule/kernel/*.cxx)
+
+
   SET ( ${LIBRARY_NAME}_HEADERS
-       src/interface/wxWindows/manualContour.h
-       src/interface/wxWindows/Contour/ContourCrownWidget.h
-       src/interface/wxWindows/Contour/ContourVOIWidget.h  
-    src/interface/wxWindows/Contour/Propagation.h
-    src/interface/wxWindows/Contour/ExtractControlPoints2D.h
-    src/interface/wxWindows/Contour/AutoControlPoints.h
-    src/interface/wxWindows/Contour/ContourPropagation.h
-    src/interface/wxWindows/Contour/contoursIntersection.h
-    src/interface/wxWindows/Contour/vectorFunctions.h
-    src/interface/wxWindows/wxMaracasImageBrowser02.h
-    src/interface/wxWindows/widgets/wxReadingPriorityPanel.h
-    src/interface/wxWindows/widgets/wxVTKRenderWindowInteractor.h
-    src/interface/wxWindows/widgets/InterfaceVtkPanelWidgets.h
-    src/interface/wxWindows/widgets/vtkClosePolyData.h
-    src/interface/wxWindows/wxMaracasMPR.h
-    src/interface/wxWindows/widgets/wxMPRWidget.h
-    src/interface/wxWindows/widgets/wxMPRBaseData.h
-    src/interface/wxWindows/widgets/wxVtkBaseView.h
-    src/interface/wxWindows/widgets/wxMaracas_ViewerWidget.h 
-    src/interface/wxWindows/widgets/wxMaracas_N_ViewersWidget.h
-    src/interface/wxWindows/wxMaracas_ManualTree_MPR.h
-    src/interface/wxWindows/widgets/wxManualTree_MPRWidget.h
-    src/interface/wxWindows/widgets/ContourView.h
-    src/interface/wxWindows/widgets/PointView.h
-    src/interface/wxWindows/widgets/LineView.h
-    src/interface/wxWindows/widgets/UtilVtk3DGeometriSelection.h
-    src/interface/wxWindows/widgets/pPlotter/HistogramDialog.h
-    src/interface/wxWindows/widgets/pPlotter/HistogramWidget.h
-    src/interface/wxWindows/widgets/pPlotter/pHistogram.h
-    src/interface/wxWindows/widgets/pPlotter/mBarRange.h
-    src/interface/wxWindows/widgets/pPlotter/pLogicalFunction.h
-    src/interface/wxWindows/widgets/pPlotter/LogicalColorBar.h
-    src/interface/wxWindows/widgets/pPlotter/pGraphicalFunction.h
-    src/interface/wxWindows/widgets/pPlotter/pFunctionPoint.h
-    src/interface/wxWindows/widgets/pPlotter/pPlotterWindow.h
-    src/interface/wxWindows/widgets/pPlotter/pPlotterLayer.h
-    src/interface/wxWindows/widgets/pPlotter/pPlotterScaleX.h
-    src/interface/wxWindows/widgets/pPlotter/pPlotterScaleY.h
-    src/interface/wxWindows/widgets/pPlotter/pColorBar.h
-    src/interface/wxWindows/widgets/pPlotter/pFigure.h
-    src/interface/wxWindows/widgets/pPlotter/pColorPoint.h
-    src/interface/wxWindows/widgets/pPlotter/pPlotter.h
-    src/interface/wxWindows/widgets/pPlotter/mathplot.h
-    src/interface/wxWindows/widgets/pPlotter/MaximumsDialog.h
-    src/interface/wxWindows/widgets/pPlotter/Histogram.h
-    include/matrix.h
-    src/kernel/marImageData.h
-    src/kernel/marDicomBase.h
-    src/kernel/marGdcmDicom.h
-    src/kernel/marObject.h
-    src/kernel/volume.hxx
-    src/kernel/marTypes.h
-    src/kernel/marParameters.h
-    src/kernel/marDynData.h
+       ${${LIBRARY_NAME}_HEADERS_WXWIN}
+       ${${LIBRARY_NAME}_HEADERS_CONTOUR}
+       ${${LIBRARY_NAME}_HEADERS_ThresholdImageView}
+       ${${LIBRARY_NAME}_HEADERS_WIDGETS}
+       ${${LIBRARY_NAME}_HEADERS_PPLOTTER}
+       ${${LIBRARY_NAME}_HEADERS_MANUAL_CONTOUR}
+       ${${LIBRARY_NAME}_HEADERS_MANUAL_PAINT}
+       include/matrix.h
+       ${${LIBRARY_NAME}_HEADERS_KERNEL}
+       ${${LIBRARY_NAME}_HEADERS_CUTMODULE}
+       ${${LIBRARY_NAME}_HEADERS_CBUTTONCONTAINER}
+       ${${LIBRARY_NAME}_HEADERS_CPBUTTONCONTAINER}
+       
   )
   #----------------------------------------------------------------------------
 
@@ -106,69 +96,25 @@ IF ( BUILD_${LIBRARY_NAME} )
   # EITHER LIST ALL .cxx, *.cpp, *.cc IN CURRENT DIR USING NEXT LINE:
   #FILE(GLOB ${LIBRARY_NAME}_SOURCES *.cxx *.cpp *.cc)
   # OR MANUALLY LIST YOUR FILES WITH NEXT COMMAND (WITHOUT EXTENSION)
+
   SET ( ${LIBRARY_NAME}_SOURCES 
-       src/interface/wxWindows/manualContour.cpp
-       src/interface/wxWindows/Contour/ContourCrownWidget.cxx
-       src/interface/wxWindows/Contour/ContourExtractData.cxx
-    src/interface/wxWindows/Contour/ContourVOIWidget.cxx
-    src/interface/wxWindows/Contour/Propagation.cxx
-    src/interface/wxWindows/Contour/ExtractControlPoints2D.cxx
-    src/interface/wxWindows/Contour/AutoControlPoints.cxx
-    src/interface/wxWindows/Contour/ContourPropagation.cxx
-    src/interface/wxWindows/Contour/contoursIntersection.cxx
-    src/interface/wxWindows/Contour/vectorFunctions.cxx
-    src/interface/wxWindows/wxMaracasImageBrowser02.cxx
-    src/interface/wxWindows/widgets/wxReadingPriorityPanel.cpp
-    src/interface/wxWindows/widgets/wxVTKRenderWindowInteractor.cxx
-    src/interface/wxWindows/widgets/InterfaceVtkPanelWidgets.cxx
-    src/interface/wxWindows/widgets/vtkClosePolyData.cxx
-    src/interface/wxWindows/wxMaracasMPR.cxx
-    src/interface/wxWindows/widgets/wxMPRWidget.cxx
-    src/interface/wxWindows/widgets/wxMPRBaseData.cxx
-    src/interface/wxWindows/widgets/wxVtkBaseView.cxx
-    src/interface/wxWindows/widgets/wxMaracas_ViewerWidget.cxx
-    src/interface/wxWindows/widgets/wxMaracas_N_ViewersWidget.cxx
-    src/interface/wxWindows/wxMaracas_ManualTree_MPR.cxx
-    src/interface/wxWindows/widgets/wxManualTree_MPRWidget.cxx
-    src/interface/wxWindows/res/wxInterface.rc
-    src/interface/wxWindows/widgets/ContourView.cxx
-    src/interface/wxWindows/widgets/PointView.cxx
-    src/interface/wxWindows/widgets/LineView.cxx
-    src/interface/wxWindows/widgets/UtilVtk3DGeometriSelection.cxx
-#####pPlotter classes
-    src/interface/wxWindows/widgets/pPlotter/HistogramDialog.cxx
-    src/interface/wxWindows/widgets/pPlotter/HistogramWidget.cxx
-    src/interface/wxWindows/widgets/pPlotter/pHistogram.cxx
-    src/interface/wxWindows/widgets/pPlotter/mBarRange.cxx
-    src/interface/wxWindows/widgets/pPlotter/pLogicalFunction.cxx
-    src/interface/wxWindows/widgets/pPlotter/LogicalColorBar.cxx
-    src/interface/wxWindows/widgets/pPlotter/pGraphicalFunction.cxx
-    src/interface/wxWindows/widgets/pPlotter/pFunctionPoint.cxx
-    src/interface/wxWindows/widgets/pPlotter/pPlotterWindow.cxx
-    src/interface/wxWindows/widgets/pPlotter/pPlotterLayer.cxx
-    src/interface/wxWindows/widgets/pPlotter/pPlotterScaleX.cxx
-    src/interface/wxWindows/widgets/pPlotter/pPlotterScaleY.cxx
-    src/interface/wxWindows/widgets/pPlotter/pColorBar.cxx
-    src/interface/wxWindows/widgets/pPlotter/pFigure.cxx
-    src/interface/wxWindows/widgets/pPlotter/pColorPoint.cxx
-    src/interface/wxWindows/widgets/pPlotter/pPlotter.cxx
-    src/interface/wxWindows/widgets/pPlotter/mathplot.cxx
-    src/interface/wxWindows/widgets/pPlotter/MaximumsDialog.cxx
-    src/interface/wxWindows/widgets/pPlotter/Histogram.cxx
-###
-       src/kernel/marImageData.cpp
-       src/kernel/marDicomBase.cpp
-       src/kernel/marGdcmDicom.cpp
-       src/kernel/marObject.cpp
-       src/kernel/volume.cxx
-       src/kernel/marParameters.cpp
-       src/kernel/marDynData.cpp       
+       ${${LIBRARY_NAME}_SOURCES_WXWIN}
+       ${${LIBRARY_NAME}_SOURCES_CONTOUR}
+       ${${LIBRARY_NAME}_SOURCES_ThresholdImageView}
+       ${${LIBRARY_NAME}_SOURCES_WIDGETS}
+       ${${LIBRARY_NAME}_SOURCES_PPLOTTER}
+       ${${LIBRARY_NAME}_SOURCES_MANUAL_CONTOUR}
+       ${${LIBRARY_NAME}_SOURCES_MANUAL_PAINT}
+       ${${LIBRARY_NAME}_SOURCES_KERNEL}
+       ${${LIBRARY_NAME}_SOURCES_CUTMODULE}
+       ${${LIBRARY_NAME}_SOURCES_CBUTTONCONTAINER}
+       ${${LIBRARY_NAME}_SOURCES_CPBUTTONCONTAINER}
   )
   #----------------------------------------------------------------------------
 #jhcl-Start===========================================================================
 #message(jhcl4${LIBIDO_LIBRARIES})
 #jhcl-End===========================================================================
-         
+
   #----------------------------------------------------------------------------
   # LIBRARY DEPENDENCIES (LIBRARIES TO LINK WITH)
   SET ( ${LIBRARY_NAME}_LINK_LIBRARIES
@@ -176,7 +122,7 @@ IF ( BUILD_${LIBRARY_NAME} )
         ${WXWIDGETS_LIBRARIES}
         ${VTK_LIBRARIES}
         ${ITK_LIBRARIES}
-        ${GDCM_LIBRARIES}
+#        ${GDCM_LIBRARIES}
     #    ${BOOST_LIBRARIES}
        #jhcl-Start===========================================================================
                
@@ -184,6 +130,7 @@ IF ( BUILD_${LIBRARY_NAME} )
                ${CREA_LIBRARIES}
        #${BOOST_LIBRARIES}
        #jhcl-End===========================================================================
+               #creaMaracasVisu_CutModule_interface
     )
   #----------------------------------------------------------------------------
 
@@ -205,11 +152,9 @@ IF ( BUILD_${LIBRARY_NAME} )
   ENDIF(CREA_VERBOSE_CMAKE)
 
 
-  # MANAGE SHARED LIB
-  CREA_MANAGE_SHARED_LIBRARY(${LIBRARY_NAME})
 
   # CREATE THE TARGET
-  ADD_LIBRARY(${LIBRARY_NAME} ${${LIBRARY_NAME}_SHARED} ${${LIBRARY_NAME}_SOURCES})
+  ADD_LIBRARY (${LIBRARY_NAME} ${${LIBRARY_NAME}_SHARED} ${${LIBRARY_NAME}_SOURCES} ${${LIBRARY_NAME}_HEADERS})
 
   # LINK
   TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${${LIBRARY_NAME}_LINK_LIBRARIES})
@@ -217,7 +162,7 @@ IF ( BUILD_${LIBRARY_NAME} )
  # Sets the settings for macro CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE
   SET(${LIBRARY_NAME}_INSTALL_FOLDER ${LIBRARY_NAME})
   SET(${LIBRARY_NAME}_LIBRARIES ${LIBRARY_NAME})
+
 #  FILE(RELATIVE_PATH
  #   ${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS
  #   ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
@@ -232,19 +177,29 @@ SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS
     lib/maracasVisuLib/src/kernel
        #${MARACAS_SOURCE_DIR}/src/SnakeIsoContour+Deriche
     lib/maracasVisuLib/src/interface/wxWindows
+    lib/maracasVisuLib/src/interface/wxWindows/Contour
     lib/maracasVisuLib/src/interface/wxWindows/widgets
     lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter
+       lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour
+       lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView
        lib/maracasVisuLib/../../../
 )
 
+
+IF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
+  SET(CILFC_EXECUTABLE_OUTPUT_REL_PATH ".")
+ELSE ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
+  FILE(RELATIVE_PATH 
+    CILFC_EXECUTABLE_OUTPUT_REL_PATH
+    ${PROJECT_BINARY_DIR} ${EXECUTABLE_OUTPUT_PATH})
+ENDIF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
+
 IF(UNIX)
-  SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS
-    ${EXECUTABLE_OUTPUT_REL_PATH})
-  SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS lib)
+  SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS ${CILFC_EXECUTABLE_OUTPUT_REL_PATH})
+  SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS ${CREAMARACASVISU_LIB_PATH} )
 ELSE(UNIX)
   SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS
-    ${EXECUTABLE_OUTPUT_REL_PATH}/Debug
-    ${EXECUTABLE_OUTPUT_REL_PATH}/Release)
+    ${CILFC_EXECUTABLE_OUTPUT_REL_PATH})
   SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS bin)
 ENDIF(UNIX)
   SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_INCLUDE_PATHS include/${LIBRARY_NAME})
@@ -255,22 +210,28 @@ ENDIF(UNIX)
 #  ${PROJECT_SOURCE_DIR}/src/AdditionalUsecreaImageIO.cmake.in)
 
 # Invoke the advanced macro
+
+
 CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME})
 
 # INSTALLS LIBRARY
 INSTALL(
   FILES ${${LIBRARY_NAME}_HEADERS}
   DESTINATION ${${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_INCLUDE_PATHS}
-  ) 
-INSTALL(
-  TARGETS ${LIBRARY_NAME}
-  DESTINATION lib)
-
-  
-  
+  )
+IF(WIN32)
+  INSTALL(
+    TARGETS ${LIBRARY_NAME}
+    DESTINATION bin)
+ELSE(WIN32)
+  INSTALL(
+    TARGETS ${LIBRARY_NAME}
+    DESTINATION ${CREAMARACASVISU_LIB_PATH})
+ENDIF(WIN32)
   
   #----------------------------------------------------------------------------
 
-
   #---------------------------------------------------------------------------
 ENDIF ( BUILD_${LIBRARY_NAME} )
+
+ADD_SUBDIRECTORY(src)