]> Creatis software - creaImageIO.git/blobdiff - src/CMakeLists.txt
correction of minor bugs: quotes and last slice in first place
[creaImageIO.git] / src / CMakeLists.txt
index 4e9615e9d24faf861c2a156def452c9e000d0c81..bce3f2be3170872481828e3711bff374bb2c243d 100644 (file)
@@ -1,6 +1,7 @@
 SET(LIBRARY_NAME creaImageIO)
 
-
+#-----------------------------------------
+#SOURCES
 FILE(GLOB SOURCES_CREAIMAGEIO  
   # SQLite 
   CppSQLite3.cpp
@@ -14,18 +15,18 @@ FILE(GLOB SOURCES_CREAIMAGEIO
 
   # settings
   creaImageIOSettings.cpp
-
-   BlockScopeWxApp.cpp
-  creaImageIOGimmickReaderDialog.cpp
-  creaImageIOExternalGimmick.cpp
-  #  Viewer
-  creaImageIOWxViewer.cpp
   creaImageIOGimmickView.cpp
-  creaImageIOListener.cpp
-)
+  )
+#--------------------------------------------
+
+IF(USE_WXWIDGETS)
+        FILE(GLOB SOURCES_CREAIMAGEIO_DIALOG  
+          creaImageIOGimmickReaderDialog.cpp
+          )
+       SOURCE_GROUP("Source Files\\Reader Dialog" FILES ${SOURCES_CREAIMAGEIO_DIALOG})
+ENDIF(USE_WXWIDGETS)
+
+#--------------------------------------------
  # Attributed tree data structure
 FILE(GLOB SOURCES_CREAIMAGEIO_TREE
          creaImageIOTree.cpp
@@ -37,61 +38,127 @@ FILE(GLOB SOURCES_CREAIMAGEIO_TREE
          creaImageIOTreeHandler.cpp
          creaImageIOTreeHandlerImageAdder.cpp
          creaImageIOSQLiteTreeHandler.cpp
-         )
+         creaImageIOOutputModel.cpp
+          )
+
+#--------------------------------------------
+ # Image Readers
 IF(USE_GDCM)
- FILE(GLOB SOURCES_CREAIMAGEIO_IMG_DICOM_READER
-               creaImageIODicomImageReader.cpp)
+        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)
+        FILE(GLOB SOURCES_CREAIMAGEIO_IMG_DICOM_READER
+                       creaImageIODicomImageReader2.cpp
+                       creaImageIODicomScanner.cpp
+                       )
 ENDIF(USE_GDCM2)
 
- # Image Readers
+IF (USE_WXWIDGETS)
+       FILE(GLOB SOURCES_CREAIMAGEIO_MULTI_IMG_READER   creaImageIOMultiThreadImageReader.cpp)
+ELSEIF(USE_QT4)
+       FILE(GLOB SOURCES_CREAIMAGEIO_MULTI_IMG_READER   creaImageIOQMultiThreadImageReader.cpp)
+ENDIF()
+
 FILE(GLOB SOURCES_CREAIMAGEIO_IMG_READER
          creaImageIOSimpleView.cpp
          creaImageIOAbstractImageReader.cpp
          creaImageIOImageReader.cpp
          creaImageIOUltrasonixImageReader.cpp
          creaImageIOVtkImageReader.cpp
-         creaImageIOMultiThreadImageReader.cpp
          ${SOURCES_CREAIMAGEIO_IMG_DICOM_READER}
+         ${SOURCES_CREAIMAGEIO_MULTI_IMG_READER}
          )
-
-
+IF(USE_ITK)
+FILE(GLOB SOURCES_CREAIMAGEIO_ITK_DLG
+       creaImageIOWxIsimpleDlg.h
+       creaImageIOWxIsimpleDlg.txx
+       )
+ENDIF(USE_ITK)
+         
+#--------------------------------------------
 # The wxWidgets-based components
 if (USE_WXWIDGETS)
-FILE(GLOB SOURCES_CREAIMAGEIO_WX
-         creaImageIOWxSimpleDlg.cpp
-         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()
+       FILE(GLOB SOURCES_CREAIMAGEIO_WX
+                 creaImageIOWxSimpleDlg.cpp
+                 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
+                 creaImageIOWxOutputDlg.cpp
+                 #  Viewer
+                 creaImageIOWxViewer.cpp
+                 creaImageIOExternalGimmick.cpp
+                 BlockScopeWxApp.cpp
+                 creaImageIOListener.cpp
+                 )
+       SOURCE_GROUP("Source Files\\GUI" FILES ${SOURCES_CREAIMAGEIO_WX})
+endif(USE_WXWIDGETS)
+
+#--------------------------------------------
+# USE QT, need to transform files (moc mechanism)
+IF (USE_QT4)
+       #cpp
+       FILE(GLOB QT_CPP 
+               QtGUI/*.cpp 
+               QtGUI/*.cxx
+               )
+       
+       # headers
+       SET(QT4_HEADERS_TO_WRAP
+               QtGUI/creaimageioqtreeview.h
+               QtGUI/creaImageIOQTGimmickReaderDialog.h
+               )
+       
+
+       QT4_WRAP_CPP(MOC_SOURCES 
+                       ${QT4_HEADERS_TO_WRAP}
+                       )
+       SOURCE_GROUP("Source Files\\GUI" FILES 
+                       ${MOC_SOURCES}
+                   )
+  
+  
+       # UI
+       FILE(GLOB UI_FILES QtGUI/*.ui)
+       QT4_WRAP_UI(UI_SOURCES ${UI_FILES})
+       #SOURCE_GROUP("UI Files" FILES ${UI_FILES})
+       SOURCE_GROUP("Source Files\\GUI" FILES ${UI_SOURCES})
+ENDIF(USE_QT4)
+
+
+IF(USE_XERCES)
+       FILE(GLOB SOURCES_CREAIMAGEIO_OUTPUT
+                 creaImageIOOutputModel.cpp
+                 creaImageIOOutputModelParser.cpp
+                 )
+       SOURCE_GROUP("Source Files\\Output" FILES ${SOURCES_CREAIMAGEIO_OUTPUT})         
+ENDIF(USE_XERCES)
+
+
+
 
 # Header Files   
-FILE(GLOB HEADER_CREAIMAGEIO creaImageIOImagePointerHolder.h)
+FILE(GLOB HEADER_CREAIMAGEIO creaImageIOImagePointerHolder.h  CppSQLite3.h)
+#*.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})
@@ -100,16 +167,34 @@ SOURCE_GROUP("Source Files\\Readers" FILES ${SOURCES_CREAIMAGEIO_IMG_READER}
                                                                                        ${SOURCES_CREAIMAGEIO_IMG_DICOM_READER})
 SOURCE_GROUP("Source Files\\Tree" FILES ${SOURCES_CREAIMAGEIO_TREE})
 
-
+SOURCE_GROUP("Source Files\\ITK" FILES ${SOURCES_CREAIMAGEIO_ITK_DLG})
+
+
+IF(USE_WXWIDGETS)
+SET( GUI_SRCS
+        ${SOURCES_CREAIMAGEIO_WX}
+        ${SOURCES_CREAIMAGEIO_DIALOG}
+        )
+ELSE(USE_WXWIDGETS)
+SET( GUI_SRCS
+        ${QT_CPP}
+        ${UI_SOURCES}
+        ${MOC_SOURCES}
+        )
+ENDIF(USE_WXWIDGETS)
 SET( PRIMITIVE_SRCS
  ${SOURCES_CREAIMAGEIO}
  ${HEADER_CREAIMAGEIO}
  ${SOURCES_CREAIMAGEIO_IMG_READER}
  ${SOURCES_CREAIMAGEIO_IMG_DICOM_READER}
- ${SOURCES_CREAIMAGEIO_WX}
+ ${GUI_SRCS}
  ${SOURCES_CREAIMAGEIO_TREE}
+ ${SOURCES_CREAIMAGEIO_ITK_DLG}
 )
 
+
+#if ( ${CMAKE_EXE_LINKER_FLAGS} MATCHES "message:x64")message("charlie ${CMAKE_SYSTEM_PROCESSOR}")endif()
+
 if( BUILD_CREA_PACS)
        SET (SRCS
                ${PRIMITIVE_SRCS}
@@ -117,14 +202,18 @@ if( BUILD_CREA_PACS)
                ${HEADER_CREAIMAGEIO_PACS}
                )
 else (BUILD_CREA_PACS)
+IF(USE_XERCES)
        SET (SRCS
                ${PRIMITIVE_SRCS}
+               ${SOURCES_CREAIMAGEIO_OUTPUT}
                )
+ELSE(USE_XERCES)
+       SET (SRCS
+               ${PRIMITIVE_SRCS}
+               )
+ENDIF(USE_XERCES)
 endif (BUILD_CREA_PACS)
 
-
-
-
 OPTION(${LIBRARY_NAME}_BUILD_SHARED 
   "Build ${LIBRARY_NAME} as a shared library (dynamic) ?" ON)
 IF (${LIBRARY_NAME}_BUILD_SHARED)
@@ -136,7 +225,18 @@ crea_DEFINE(CREAIMAGEIO_EXPORT_SYMBOLS)
 
 ADD_LIBRARY(${LIBRARY_NAME} ${CREAIMAGEIO_BUILD_SHARED} ${SRCS})
 
+IF(USE_QT4)
+TARGET_LINK_LIBRARIES(${LIBRARY_NAME} 
+      ${QT_LIBRARIES})
+ENDIF(USE_QT4)
 
+IF(USE_WXWIDGETS)
+TARGET_LINK_LIBRARIES(${LIBRARY_NAME} 
+      ${WXWIDGETS_LIBRARIES})
+ENDIF(USE_WXWIDGETS)
+
+
+IF (NOT USE_XERCES)
 TARGET_LINK_LIBRARIES(${LIBRARY_NAME} 
   ${crea_LIBRARIES}
   ${creaBruker_LIBRARIES}
@@ -144,8 +244,21 @@ TARGET_LINK_LIBRARIES(${LIBRARY_NAME}
   ${VTK_LIBRARIES}
   ${GDCM_LIBRARIES}
   ${BOOST_LIBRARIES}
+  ${ITK_LIBRARIES}
   sqlite3)
-
+ELSE(NOT USE_XERCES)
+TARGET_LINK_LIBRARIES(${LIBRARY_NAME} 
+  ${crea_LIBRARIES}
+  ${creaBruker_LIBRARIES}
+  ${WXWIDGETS_LIBRARIES}
+  ${VTK_LIBRARIES}
+  ${GDCM_LIBRARIES}
+  ${BOOST_LIBRARIES}
+  ${XERCES_LIBRARIES}
+  sqlite3)  
+ENDIF(NOT USE_XERCES)
+  
 #----------------------------------------------------------------------------
 # INSTALLS LIBRARY
 FILE(GLOB HEADERS "*.h" "*.txx")
@@ -155,11 +268,7 @@ INSTALL(
   )
   
 
-IF (WIN32)
-  SET(CREAIMAGEIO_LIB_PATH bin)
-ELSE (WIN32)
-  SET(CREAIMAGEIO_LIB_PATH lib)
-ENDIF(WIN32)
+SET(CREAIMAGEIO_LIB_PATH ${CMAKE_CREA_LIB_PATH} )
 
 INSTALL(
   TARGETS ${LIBRARY_NAME} 
@@ -187,14 +296,16 @@ SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS
       ${PROJECT_BINARY_DIR} ${EXECUTABLE_OUTPUT_PATH})
   ENDIF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
 
+
+
+  SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS ${CMAKE_CREA_LIB_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})
   
@@ -208,10 +319,10 @@ SET(${LIBRARY_NAME}_ADDITIONAL_USE_FILE
   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)
+       SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/bin/share/creaImageIO)
 ELSE (WIN32)
        SET(INPUT_DATA_DIR ${PROJECT_SOURCE_DIR}/src/data)
-       SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/share/gimmick)
+       SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/share/creaImageIO)
 ENDIF (WIN32)
 CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
 
@@ -221,11 +332,10 @@ CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
 
 OPTION( BUILD_DOXYGEN_DOC "Build doxygen doc ?" OFF)
 IF(BUILD_DOXYGEN_DOC)
-  SUBDIRS(doxygen)
+  ADD_SUBDIRECTORY(doxygen)
 ENDIF(BUILD_DOXYGEN_DOC)
 
 INCLUDE_DIRECTORIES(
 #  ${PROJECT_BINARY_DIR}
   ${PROJECT_SOURCE_DIR}/src
-#  ${PROJECT_SOURCE_DIR}/src/CppSQLite3
   )