-SET( SRCS
+# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+# pour la Santé)
+# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+# Previous Authors : Laurent Guigues, Jean-Pierre Roux
+# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+#
+# This software is governed by the CeCILL-B license under French law and
+# abiding by the rules of distribution of free software. You can use,
+# modify and/ or redistribute the software under the terms of the CeCILL-B
+# license as circulated by CEA, CNRS and INRIA at the following URL
+# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+# or in the file LICENSE.txt.
+#
+# As a counterpart to the access to the source code and rights to copy,
+# modify and redistribute granted by the license, users are provided only
+# with a limited warranty and the software's author, the holder of the
+# economic rights, and the successive licensors have only limited
+# liability.
+#
+# The fact that you are presently reading this means that you have had
+# knowledge of the CeCILL-B license and that you accept its terms.
+# ------------------------------------------------------------------------
+
+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
+ )
+#--------------------------------------------
+
+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
+ creaImageIOTreeAttributeDescriptor.cpp
+ creaImageIOTreeDescriptor.cpp
+ creaImageIOTreeNode.cpp
+ creaImageIOTreeLevelDescriptor.cpp
+ # Tree Handlers
+ creaImageIOTreeHandler.cpp
+ creaImageIOTreeHandlerImageAdder.cpp
+ creaImageIOSQLiteTreeHandler.cpp
+ creaImageIOOutputModel.cpp
+ )
+
+#--------------------------------------------
+ # 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)
+
+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
+ creaImageIOUnMosaicVtkImageData.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.hpp
+ creaImageIOWxAnySimpleDlg.h
+ creaImageIOWxAnySimpleDlg.cpp
+ )
+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})
+
+ IF(USE_ITK)
+FILE(GLOB SOURCES_CREAIMAGEIO_ITK_DLG
+ creaImageIOWxIsimpleDlg.h
+ creaImageIOWxIsimpleDlg.hpp
+ creaImageIOWxAnySimpleDlg.h
+ creaImageIOWxAnySimpleDlg.cpp
+ )
+ENDIF(USE_ITK)
+
+endif(USE_WXWIDGETS)
+
- # Image readers
- creaImageIOImageReader
- creaImageIOMultiThreadImageReader
- # Dicom database management
- creaImageIODicomNode
- creaImageIODicomNodeComparators
- creaImageIODicomNodeTypeDescription
- creaImageIODicomDatabaseStructure
- creaImageIODicomDatabase
- creaImageIOField
- # The Gimmick! widgets
- creaImageIOWxGimmick
- creaImageIOWxGimmickSettings
- creaImageIOWxGimmickFieldsView
+#--------------------------------------------
+# USE QT, need to transform files (moc mechanism)
- creaImageIOWxGimmickDialog
+IF (USE_QT4)
+#ADD_SUBDIRECTORY(Qt)
+ # UI
+ FILE(GLOB UI_FILES Qt/*.ui)
+ QT4_WRAP_UI(UI_SOURCES ${UI_FILES})
+ SOURCE_GROUP("Source Files\\UI Files" FILES ${UI_FILES})
+ SOURCE_GROUP("Source Files\\Qt Generated Files" FILES ${UI_SOURCES})
-# creaImageIOWxDicomDatabaseTreeView
-# creaImageIOWxDicomDatabaseTreeViewSettings
-# creaImageIOWxDicomNodeFieldsView
+ #cpp
+ FILE(GLOB QT_CPP Qt/*.cpp
+ #creaImageIOQtGimmickReaderDialog.cpp
+ )
+
+ # headers
+ FILE(GLOB QT4_HEADERS_TO_WRAP Qt/*.h
+ #creaImageIOQtGimmickReaderDialog.h
+ )
+ # UI
+ # FILE(GLOB UI_FILES *.ui)
+ # QT4_WRAP_UI(UI_SOURCES ${UI_FILES})
+ # SOURCE_GROUP("UI Files" FILES ${UI_FILES})
+ # SOURCE_GROUP("Qt Generated Files" FILES ${UI_SOURCES})
+# FILE(GLOB UI_FILES creaImageIOQtGimmickReaderDialog.ui)
+# QT4_WRAP_UI(UI_SOURCES_H ${UI_FILES} OPTIONS -o ${PROJECT_BINARY_DIR}/src)
+ QT4_WRAP_CPP(QT_MOC_CPP ${QT4_HEADERS_TO_WRAP})
- # File selector wxDialog using a DDB tree view
-# creaImageIOWxDicomFilesSelectorDialog
+ # FILE(GLOB ${LIBRARY_NAME}_HEADERS "*.h" "*.txx" "${PROJECT_BINARY_DIR}/src/*.h")
+ # MEssage(STATUS" qt files = ${QT_MOC_CPP}")
+ SOURCE_GROUP("Source Files\\GUI" FILES ${QT_MOC_CPP} ${QT_CPP} )
+ # INCLUDE_DIRECTORIES ( ${PROJECT_BINARY_DIR})
+ SOURCE_GROUP("Source Files\\GUI" FILES ${UI_SOURCES_H} ${UI_FILES})
+ SOURCE_GROUP("Header Files" FILES ${QT4_HEADERS_TO_WRAP})
+ENDIF(USE_QT4)
- # wx-free function which opens a file selector dialog
-# BlockScopeWxApp
-# creaImageIODicomFilesSelectorDialog
+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 CppSQLite3.h)
+#*.h)
+FILE(GLOB SOURCES_CREAIMAGEIO_PACS PACS/*.cpp)
+FILE(GLOB HEADER_CREAIMAGEIO_PACS PACS/*.h)
+
+FILE(GLOB QT4_HEADERS creaImageIOQtGimmickReaderDialog.h )
+MEssage(STATUS" qt files = ${QT4_HEADERS}")
+SOURCE_GROUP("Source Files" FILES ${SOURCES_CREAIMAGEIO})
+SOURCE_GROUP("Header Files" FILES ${HEADER_CREAIMAGEIO} ${QT4_HEADERS})
+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}
+ ${QT_MOC_CPP}
+ )
+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}
+ )
+
+
+SET(CREAIMAGEIO_LIB_PATH ${CMAKE_CREA_LIB_PATH} )
+
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_DEFAULT_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} )
+
+
+
+ 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})
+ ELSE(UNIX)
+ SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS
+ ${CILFC_EXECUTABLE_OUTPUT_REL_PATH})
+ 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/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(${LIBRARY_NAME})
#-----------------------------------------------------------------------------
+
+OPTION( BUILD_DOXYGEN_DOC "Build doxygen doc ?" OFF)
+IF(BUILD_DOXYGEN_DOC)
+ ADD_SUBDIRECTORY(doxygen)
+ENDIF(BUILD_DOXYGEN_DOC)
+
+INCLUDE_DIRECTORIES(
+# ${PROJECT_BINARY_DIR}
+ ${PROJECT_SOURCE_DIR}/src
+ )