]> Creatis software - creaImageIO.git/blobdiff - src/CMakeLists.txt
change src2 to src and creaImageIO2 to creaImageIO to clarify future developments.
[creaImageIO.git] / src / CMakeLists.txt
index 7a0ac0785c03d307401e9f2491c2cac0d42ae026..8e2191899241dfe10da6fdeb579872edcc511a00 100644 (file)
-SET( SRCS
-  # SQLite 
-  CppSQLite3
-  
-  # wxTreeListCtrl
-  treelistctrl.cpp
-
-  # Image readers
-  creaImageIOImageReader
-  creaImageIOMultiThreadImageReader
-
-  # Dicom database management
-  creaImageIODicomNode
-  creaImageIODicomNodeComparators
-  creaImageIODicomNodeTypeDescription
-  creaImageIODicomDatabaseStructure
-  creaImageIODicomDatabase
-  creaImageIOField
-
-  # The Gimmick! widgets
-  creaImageIOWxGimmick
-  creaImageIOWxGimmickSettings
-  creaImageIOWxGimmickFieldsView
-
-  creaImageIOWxGimmickDialog
+SET(LIBRARY_NAME creaImageIO)
 
 
-#  creaImageIOWxDicomDatabaseTreeView
-#  creaImageIOWxDicomDatabaseTreeViewSettings
-#  creaImageIOWxDicomNodeFieldsView
-  
-  # File selector wxDialog using a DDB tree view
-#  creaImageIOWxDicomFilesSelectorDialog
+FILE(GLOB SOURCES_CREAIMAGEIO  
+  # SQLite 
+  CppSQLite3.cpp
+  # 
+  creaImageIOGimmick.cpp
+  creaImageIOSynchron.cpp
+  creaImageIOPACSConnection.cpp
+
+  # Abstract views
+  creaImageIOTreeView.cpp
+
+  # settings
+  creaImageIOSettings.cpp
+
+   BlockScopeWxApp.cpp
+  creaImageIOGimmickReaderDialog.cpp
+  creaImageIOExternalGimmick.cpp
+  #  Viewer
+  creaImageIOWxViewer.cpp
+  creaImageIOGimmickView.cpp
+  creaImageIOListener.cpp
+)
+ # Attributed tree data structure
+FILE(GLOB SOURCES_CREAIMAGEIO_TREE
+         creaImageIOTree.cpp
+         creaImageIOTreeAttributeDescriptor.cpp
+         creaImageIOTreeDescriptor.cpp
+         creaImageIOTreeNode.cpp
+         creaImageIOTreeLevelDescriptor.cpp
+           # Tree Handlers
+         creaImageIOTreeHandler.cpp
+         creaImageIOTreeHandlerImageAdder.cpp
+         creaImageIOSQLiteTreeHandler.cpp
+         )
+IF(USE_GDCM)
+ FILE(GLOB SOURCES_CREAIMAGEIO_IMG_DICOM_READER
+               creaImageIODicomImageReader.cpp)
+ENDIF(USE_GDCM)
+
+         
+IF(USE_GDCM2)
+ FILE(GLOB SOURCES_CREAIMAGEIO_IMG_DICOM_READER
+               creaImageIODicomImageReader2.cpp
+               creaImageIODicomScanner.cpp)
+ENDIF(USE_GDCM2)
+
+ # Image Readers
+FILE(GLOB SOURCES_CREAIMAGEIO_IMG_READER
+         creaImageIOAbstractImageReader.cpp
+         creaImageIOImageReader.cpp
+         creaImageIOUltrasonixImageReader.cpp
+         creaImageIOVtkImageReader.cpp
+         creaImageIOMultiThreadImageReader.cpp
+         ${SOURCES_CREAIMAGEIO_IMG_DICOM_READER}
+         )
+
+
+# The wxWidgets-based components
+if (USE_WXWIDGETS)
+FILE(GLOB SOURCES_CREAIMAGEIO_WX
+         creaImageIOWxAttributeSelectionPanel.cpp
+         creaImageIOWxCustomizeConfigPanel.cpp
+         creaImageIOWxDescriptorPanel.cpp
+         creaImageIOWxEditFieldsPanel.cpp
+         creaImageIOWxExportDlg.cpp
+         creaImageIOWxDumpPanel.cpp
+         creaImageIOWxGimmickView.cpp
+         creaImageIOWxGimmickReaderDialog.cpp
+      creaImageIOWxGimmickFrame.cpp
+      creaImageIOWxGimmickPanel.cpp
+      creaImageIOWxGimmickTools.cpp
+      creaImageIOWxListenerPanel.cpp
+      creaImageIOWxPACSConnectionPanel.cpp
+         creaImageIOWxTreeView.cpp
+         )
+endif()
+
+# Header Files   
+FILE(GLOB HEADER_CREAIMAGEIO creaImageIOImagePointerHolder.h)
+FILE(GLOB SOURCES_CREAIMAGEIO_PACS PACS/*.cpp)
+FILE(GLOB HEADER_CREAIMAGEIO_PACS PACS/*.h)
+
+
+SOURCE_GROUP("Source Files" FILES ${SOURCES_CREAIMAGEIO})
+SOURCE_GROUP("Header Files" FILES ${HEADER_CREAIMAGEIO})
+SOURCE_GROUP("Source Files\\GUI" FILES ${SOURCES_CREAIMAGEIO_WX})
+if(BUILD_CREA_PACS)
+       SOURCE_GROUP("Source Files\\PACS" FILES ${SOURCES_CREAIMAGEIO_PACS})
+       SOURCE_GROUP("Header Files\\PACS" FILES ${HEADER_CREAIMAGEIO_PACS})
+endif(BUILD_CREA_PACS)
+SOURCE_GROUP("Source Files\\Readers" FILES ${SOURCES_CREAIMAGEIO_IMG_READER}
+                                                                                       ${SOURCES_CREAIMAGEIO_IMG_DICOM_READER})
+SOURCE_GROUP("Source Files\\Tree" FILES ${SOURCES_CREAIMAGEIO_TREE})
+
+
+SET( PRIMITIVE_SRCS
+ ${SOURCES_CREAIMAGEIO}
+ ${HEADER_CREAIMAGEIO}
+ ${SOURCES_CREAIMAGEIO_IMG_READER}
+ ${SOURCES_CREAIMAGEIO_IMG_DICOM_READER}
+ ${SOURCES_CREAIMAGEIO_WX}
+ ${SOURCES_CREAIMAGEIO_TREE}
+)
 
-  # wx-free function which opens a file selector dialog 
-#  BlockScopeWxApp
-#  creaImageIODicomFilesSelectorDialog
+if( BUILD_CREA_PACS)
+       SET (SRCS
+               ${PRIMITIVE_SRCS}
+               ${SOURCES_CREAIMAGEIO_PACS}
+               ${HEADER_CREAIMAGEIO_PACS}
+               )
+else (BUILD_CREA_PACS)
+       SET (SRCS
+               ${PRIMITIVE_SRCS}
+               )
+endif (BUILD_CREA_PACS)
 
-)
 
 
 
-OPTION(creaImageIO_BUILD_SHARED 
-  "Build creaImageIO as a shared library (dynamic) ?" ON)
-IF (creaImageIO_BUILD_SHARED)
+OPTION(${LIBRARY_NAME}_BUILD_SHARED 
+  "Build ${LIBRARY_NAME} as a shared library (dynamic) ?" ON)
+IF (${LIBRARY_NAME}_BUILD_SHARED)
   SET(CREAIMAGEIO_BUILD_SHARED SHARED)
   crea_DEFINE(CREAIMAGEIO_BUILD_SHARED)
-ENDIF(creaImageIO_BUILD_SHARED)
+ENDIF(${LIBRARY_NAME}_BUILD_SHARED)
 
 crea_DEFINE(CREAIMAGEIO_EXPORT_SYMBOLS)
 
-ADD_LIBRARY(creaImageIO ${CREAIMAGEIO_BUILD_SHARED} ${SRCS})
-
+ADD_LIBRARY(${LIBRARY_NAME} ${CREAIMAGEIO_BUILD_SHARED} ${SRCS})
 
 
-TARGET_LINK_LIBRARIES(creaImageIO 
+TARGET_LINK_LIBRARIES(${LIBRARY_NAME} 
   ${crea_LIBRARIES}
+  ${creaBruker_LIBRARIES}
   ${WXWIDGETS_LIBRARIES}
   ${VTK_LIBRARIES}
   ${GDCM_LIBRARIES}
@@ -63,14 +146,84 @@ TARGET_LINK_LIBRARIES(creaImageIO
 
 #----------------------------------------------------------------------------
 # INSTALLS LIBRARY
-FILE(GLOB HEADERS "*.h")
+FILE(GLOB HEADERS "*.h" "*.txx")
 INSTALL(
   FILES ${HEADERS}
-  DESTINATION include/creaImageIO
-  )  
+  DESTINATION include/${LIBRARY_NAME}
+  )
+  
+
+IF (WIN32)
+  SET(CREAIMAGEIO_LIB_PATH bin)
+ELSE (WIN32)
+  SET(CREAIMAGEIO_LIB_PATH lib)
+ENDIF(WIN32)
+
 INSTALL(
-  TARGETS creaImageIO 
-  DESTINATION lib)
+  TARGETS ${LIBRARY_NAME} 
+  DESTINATION ${CREAIMAGEIO_LIB_PATH})
+
+     # 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}
+#    )
+SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS
+    src
+    win32
+)
 
-CREA_INSTALL_LIBRARY_FOR_CMAKE(creaImageIO)
+
+  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 
+      ${CILFC_EXECUTABLE_OUTPUT_REL_PATH})
+    SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS lib)
+  ELSE(UNIX)
+    SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS 
+      ${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})
+  
+  SET(${LIBRARY_NAME}_HAS_ADDITIONAL_CONFIG_FILE TRUE)
+SET(${LIBRARY_NAME}_ADDITIONAL_CONFIG_FILE 
+  ${PROJECT_SOURCE_DIR}/src/Additional${LIBRARY_NAME}Config.cmake.in)
+SET(${LIBRARY_NAME}_ADDITIONAL_USE_FILE 
+  ${PROJECT_SOURCE_DIR}/src/AdditionalUse${LIBRARY_NAME}.cmake.in)
+
+  # Invoke the advanced macro
+  CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME})
+IF (WIN32)
+       SET(INPUT_DATA_DIR ${PROJECT_SOURCE_DIR}/src/data)
+       SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/bin/Shared/gimmick)
+ELSE (WIN32)
+       SET(INPUT_DATA_DIR ${PROJECT_SOURCE_DIR}/src/data)
+       SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/share/gimmick)
+ENDIF (WIN32)
+CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
+
+  
+#CREA_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME})
 #-----------------------------------------------------------------------------
+
+OPTION( BUILD_DOXYGEN_DOC "Build doxygen doc ?" OFF)
+IF(BUILD_DOXYGEN_DOC)
+  SUBDIRS(doxygen)
+ENDIF(BUILD_DOXYGEN_DOC)
+
+INCLUDE_DIRECTORIES(
+#  ${PROJECT_BINARY_DIR}
+  ${PROJECT_SOURCE_DIR}/src
+#  ${PROJECT_SOURCE_DIR}/src/CppSQLite3
+  )