X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FCMakeLists.txt;h=bce3f2be3170872481828e3711bff374bb2c243d;hb=1d55c1cf210e95a6dc12fb8af67b2d21e48fb408;hp=1aff598a837784e55f34fa594fb3a26d4f956b79;hpb=a99612dd5ef81843557b0f4b0367ac6eade8d60f;p=creaImageIO.git diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1aff598..bce3f2b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,93 +1,293 @@ -SET( SRCS +SET(LIBRARY_NAME creaImageIO) + +#----------------------------------------- +#SOURCES +FILE(GLOB SOURCES_CREAIMAGEIO # SQLite - CppSQLite3 - - # wxTreeListCtrl - treelistctrl.cpp + CppSQLite3.cpp + # + creaImageIOGimmick.cpp + creaImageIOSynchron.cpp + creaImageIOPACSConnection.cpp + + # Abstract views + creaImageIOTreeView.cpp + + # settings + creaImageIOSettings.cpp + creaImageIOGimmickView.cpp + ) +#-------------------------------------------- - # Image readers - creaImageIOImageReader - creaImageIOMultiThreadImageReader +IF(USE_WXWIDGETS) + FILE(GLOB SOURCES_CREAIMAGEIO_DIALOG + creaImageIOGimmickReaderDialog.cpp + ) + SOURCE_GROUP("Source Files\\Reader Dialog" FILES ${SOURCES_CREAIMAGEIO_DIALOG}) +ENDIF(USE_WXWIDGETS) - # Dicom database management - creaImageIODicomNode - creaImageIODicomNodeComparators - creaImageIODicomNodeTypeDescription - creaImageIODicomDatabaseStructure - creaImageIODicomDatabase - creaImageIOField +#-------------------------------------------- + # 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 + creaImageIOOutputModel.cpp + ) - # The Gimmick! widgets - creaImageIOWxGimmick - creaImageIOWxGimmickSettings - creaImageIOWxGimmickFieldsView +#-------------------------------------------- + # Image Readers +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) - creaImageIOWxGimmickDialog +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 + ${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 + creaImageIOWxOutputDlg.cpp + # Viewer + creaImageIOWxViewer.cpp + creaImageIOExternalGimmick.cpp + BlockScopeWxApp.cpp + creaImageIOListener.cpp + ) + SOURCE_GROUP("Source Files\\GUI" FILES ${SOURCES_CREAIMAGEIO_WX}) +endif(USE_WXWIDGETS) -# creaImageIOWxDicomDatabaseTreeView -# creaImageIOWxDicomDatabaseTreeViewSettings -# creaImageIOWxDicomNodeFieldsView +#-------------------------------------------- +# 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} + ) + - # File selector wxDialog using a DDB tree view -# creaImageIOWxDicomFilesSelectorDialog + # 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) + - # wx-free function which opens a file selector dialog -# BlockScopeWxApp -# creaImageIODicomFilesSelectorDialog + +# Header Files +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}) +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}) + +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} + ${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} + ${SOURCES_CREAIMAGEIO_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(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}) + +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) -TARGET_LINK_LIBRARIES(creaImageIO +IF (NOT USE_XERCES) +TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${crea_LIBRARIES} + ${creaBruker_LIBRARIES} ${WXWIDGETS_LIBRARIES} ${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") +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) + + +SET(CREAIMAGEIO_LIB_PATH ${CMAKE_CREA_LIB_PATH} ) INSTALL( - TARGETS creaImageIO + TARGETS ${LIBRARY_NAME} DESTINATION ${CREAIMAGEIO_LIB_PATH}) - - # Sets the settings for macro CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE - SET(LIBRARY_NAME creaImageIO) + # 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} - ) +# 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 +) + + IF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} ) SET(CILFC_EXECUTABLE_OUTPUT_REL_PATH ".") ELSE ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} ) @@ -96,31 +296,46 @@ INSTALL( ${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}) SET(${LIBRARY_NAME}_HAS_ADDITIONAL_CONFIG_FILE TRUE) SET(${LIBRARY_NAME}_ADDITIONAL_CONFIG_FILE - ${PROJECT_SOURCE_DIR}/src/AdditionalcreaImageIOConfig.cmake.in) + ${PROJECT_SOURCE_DIR}/src/Additional${LIBRARY_NAME}Config.cmake.in) SET(${LIBRARY_NAME}_ADDITIONAL_USE_FILE - ${PROJECT_SOURCE_DIR}/src/AdditionalUsecreaImageIO.cmake.in) + ${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/share/creaImageIO) +ELSE (WIN32) + SET(INPUT_DATA_DIR ${PROJECT_SOURCE_DIR}/src/data) + SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/share/creaImageIO) +ENDIF (WIN32) +CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR}) -#CREA_INSTALL_LIBRARY_FOR_CMAKE(creaImageIO) +#CREA_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME}) #----------------------------------------------------------------------------- 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 + )