1 # ---------------------------------------------------------------------
3 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
5 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
6 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
7 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
9 # This software is governed by the CeCILL-B license under French law and
10 # abiding by the rules of distribution of free software. You can use,
11 # modify and/ or redistribute the software under the terms of the CeCILL-B
12 # license as circulated by CEA, CNRS and INRIA at the following URL
13 # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
14 # or in the file LICENSE.txt.
16 # As a counterpart to the access to the source code and rights to copy,
17 # modify and redistribute granted by the license, users are provided only
18 # with a limited warranty and the software's author, the holder of the
19 # economic rights, and the successive licensors have only limited
22 # The fact that you are presently reading this means that you have had
23 # knowledge of the CeCILL-B license and that you accept its terms.
24 # ------------------------------------------------------------------------
26 SET(LIBRARY_NAME creaImageIO)
28 #-----------------------------------------
30 FILE(GLOB SOURCES_CREAIMAGEIO
34 creaImageIOGimmick.cpp
35 creaImageIOSynchron.cpp
36 creaImageIOPACSConnection.cpp
39 creaImageIOTreeView.cpp
42 creaImageIOSettings.cpp
43 creaImageIOGimmickView.cpp
45 #--------------------------------------------
48 FILE(GLOB SOURCES_CREAIMAGEIO_DIALOG
49 creaImageIOGimmickReaderDialog.cpp
51 SOURCE_GROUP("Source Files\\Reader Dialog" FILES ${SOURCES_CREAIMAGEIO_DIALOG})
54 #--------------------------------------------
55 # Attributed tree data structure
56 FILE(GLOB SOURCES_CREAIMAGEIO_TREE
58 creaImageIOTreeAttributeDescriptor.cpp
59 creaImageIOTreeDescriptor.cpp
60 creaImageIOTreeNode.cpp
61 creaImageIOTreeLevelDescriptor.cpp
63 creaImageIOTreeHandler.cpp
64 creaImageIOTreeHandlerImageAdder.cpp
65 creaImageIOSQLiteTreeHandler.cpp
66 creaImageIOOutputModel.cpp
69 #--------------------------------------------
72 FILE(GLOB SOURCES_CREAIMAGEIO_IMG_DICOM_READER
73 creaImageIODicomImageReader.cpp
78 FILE(GLOB SOURCES_CREAIMAGEIO_IMG_DICOM_READER
79 creaImageIODicomImageReader2.cpp
80 creaImageIODicomScanner.cpp
85 FILE(GLOB SOURCES_CREAIMAGEIO_MULTI_IMG_READER creaImageIOMultiThreadImageReader.cpp)
87 #FILE(GLOB SOURCES_CREAIMAGEIO_MULTI_IMG_READER creaImageIOQMultiThreadImageReader.cpp)
90 FILE(GLOB SOURCES_CREAIMAGEIO_IMG_READER
91 creaImageIOSimpleView.cpp
92 creaImageIOUnMosaicVtkImageData.cpp
93 creaImageIOAbstractImageReader.cpp
94 creaImageIOImageReader.cpp
95 creaImageIOUltrasonixImageReader.cpp
96 creaImageIOVtkImageReader.cpp
97 ${SOURCES_CREAIMAGEIO_IMG_DICOM_READER}
98 ${SOURCES_CREAIMAGEIO_MULTI_IMG_READER}
101 FILE(GLOB SOURCES_CREAIMAGEIO_ITK_DLG
102 creaImageIOWxIsimpleDlg.h
103 creaImageIOWxIsimpleDlg.hpp
104 creaImageIOWxAnySimpleDlg.h
105 creaImageIOWxAnySimpleDlg.cpp
109 #--------------------------------------------
110 # The wxWidgets-based components
112 FILE(GLOB SOURCES_CREAIMAGEIO_WX
113 creaImageIOWxSimpleDlg.cpp
114 creaImageIOWxAttributeSelectionPanel.cpp
115 creaImageIOWxCustomizeConfigPanel.cpp
116 creaImageIOWxDescriptorPanel.cpp
117 creaImageIOWxEditFieldsPanel.cpp
118 creaImageIOWxExportDlg.cpp
119 creaImageIOWxDumpPanel.cpp
120 creaImageIOWxGimmickView.cpp
121 creaImageIOWxGimmickReaderDialog.cpp
122 creaImageIOWxGimmickFrame.cpp
123 creaImageIOWxGimmickPanel.cpp
124 creaImageIOWxGimmickTools.cpp
125 creaImageIOWxListenerPanel.cpp
126 creaImageIOWxPACSConnectionPanel.cpp
127 creaImageIOWxTreeView.cpp
128 creaImageIOWxOutputDlg.cpp
130 creaImageIOWxViewer.cpp
131 creaImageIOExternalGimmick.cpp
133 creaImageIOListener.cpp
135 SOURCE_GROUP("Source Files\\GUI" FILES ${SOURCES_CREAIMAGEIO_WX})
138 FILE(GLOB SOURCES_CREAIMAGEIO_ITK_DLG
139 creaImageIOWxIsimpleDlg.h
140 creaImageIOWxIsimpleDlg.hpp
141 creaImageIOWxAnySimpleDlg.h
142 creaImageIOWxAnySimpleDlg.cpp
151 #--------------------------------------------
152 # USE QT, need to transform files (moc mechanism)
156 #ADD_SUBDIRECTORY(Qt)
158 FILE(GLOB UI_FILES Qt/*.ui)
159 QT4_WRAP_UI(UI_SOURCES ${UI_FILES})
160 SOURCE_GROUP("Source Files\\UI Files" FILES ${UI_FILES})
161 SOURCE_GROUP("Source Files\\Qt Generated Files" FILES ${UI_SOURCES})
164 FILE(GLOB QT_CPP Qt/*.cpp
165 #creaImageIOQtGimmickReaderDialog.cpp
169 FILE(GLOB QT4_HEADERS_TO_WRAP Qt/*.h
170 #creaImageIOQtGimmickReaderDialog.h
173 # FILE(GLOB UI_FILES *.ui)
174 # QT4_WRAP_UI(UI_SOURCES ${UI_FILES})
175 # SOURCE_GROUP("UI Files" FILES ${UI_FILES})
176 # SOURCE_GROUP("Qt Generated Files" FILES ${UI_SOURCES})
177 # FILE(GLOB UI_FILES creaImageIOQtGimmickReaderDialog.ui)
178 # QT4_WRAP_UI(UI_SOURCES_H ${UI_FILES} OPTIONS -o ${PROJECT_BINARY_DIR}/src)
179 QT4_WRAP_CPP(QT_MOC_CPP ${QT4_HEADERS_TO_WRAP})
181 # FILE(GLOB ${LIBRARY_NAME}_HEADERS "*.h" "*.txx" "${PROJECT_BINARY_DIR}/src/*.h")
182 # MEssage(STATUS" qt files = ${QT_MOC_CPP}")
183 SOURCE_GROUP("Source Files\\GUI" FILES ${QT_MOC_CPP} ${QT_CPP} )
184 # INCLUDE_DIRECTORIES ( ${PROJECT_BINARY_DIR})
185 SOURCE_GROUP("Source Files\\GUI" FILES ${UI_SOURCES_H} ${UI_FILES})
186 SOURCE_GROUP("Header Files" FILES ${QT4_HEADERS_TO_WRAP})
190 FILE(GLOB SOURCES_CREAIMAGEIO_OUTPUT
191 creaImageIOOutputModel.cpp
192 creaImageIOOutputModelParser.cpp
194 SOURCE_GROUP("Source Files\\Output" FILES ${SOURCES_CREAIMAGEIO_OUTPUT})
201 FILE(GLOB HEADER_CREAIMAGEIO creaImageIOImagePointerHolder.h CppSQLite3.h)
203 FILE(GLOB SOURCES_CREAIMAGEIO_PACS PACS/*.cpp)
204 FILE(GLOB HEADER_CREAIMAGEIO_PACS PACS/*.h)
206 FILE(GLOB QT4_HEADERS creaImageIOQtGimmickReaderDialog.h )
207 MEssage(STATUS" qt files = ${QT4_HEADERS}")
208 SOURCE_GROUP("Source Files" FILES ${SOURCES_CREAIMAGEIO})
209 SOURCE_GROUP("Header Files" FILES ${HEADER_CREAIMAGEIO} ${QT4_HEADERS})
211 SOURCE_GROUP("Source Files\\PACS" FILES ${SOURCES_CREAIMAGEIO_PACS})
212 SOURCE_GROUP("Header Files\\PACS" FILES ${HEADER_CREAIMAGEIO_PACS})
213 endif(BUILD_CREA_PACS)
214 SOURCE_GROUP("Source Files\\Readers" FILES ${SOURCES_CREAIMAGEIO_IMG_READER}
215 ${SOURCES_CREAIMAGEIO_IMG_DICOM_READER})
216 SOURCE_GROUP("Source Files\\Tree" FILES ${SOURCES_CREAIMAGEIO_TREE})
218 SOURCE_GROUP("Source Files\\ITK" FILES ${SOURCES_CREAIMAGEIO_ITK_DLG})
223 ${SOURCES_CREAIMAGEIO_WX}
224 ${SOURCES_CREAIMAGEIO_DIALOG}
234 ${SOURCES_CREAIMAGEIO}
235 ${HEADER_CREAIMAGEIO}
236 ${SOURCES_CREAIMAGEIO_IMG_READER}
237 ${SOURCES_CREAIMAGEIO_IMG_DICOM_READER}
239 ${SOURCES_CREAIMAGEIO_TREE}
240 ${SOURCES_CREAIMAGEIO_ITK_DLG}
244 #if ( ${CMAKE_EXE_LINKER_FLAGS} MATCHES "message:x64")message("charlie ${CMAKE_SYSTEM_PROCESSOR}")endif()
249 ${SOURCES_CREAIMAGEIO_PACS}
250 ${HEADER_CREAIMAGEIO_PACS}
252 else (BUILD_CREA_PACS)
256 ${SOURCES_CREAIMAGEIO_OUTPUT}
263 endif (BUILD_CREA_PACS)
265 OPTION(${LIBRARY_NAME}_BUILD_SHARED
266 "Build ${LIBRARY_NAME} as a shared library (dynamic) ?" ON)
267 IF (${LIBRARY_NAME}_BUILD_SHARED)
268 SET(CREAIMAGEIO_BUILD_SHARED SHARED)
269 crea_DEFINE(CREAIMAGEIO_BUILD_SHARED)
270 ENDIF(${LIBRARY_NAME}_BUILD_SHARED)
272 crea_DEFINE(CREAIMAGEIO_EXPORT_SYMBOLS)
274 ADD_LIBRARY(${LIBRARY_NAME} ${CREAIMAGEIO_BUILD_SHARED} ${SRCS})
277 TARGET_LINK_LIBRARIES(${LIBRARY_NAME}
282 TARGET_LINK_LIBRARIES(${LIBRARY_NAME}
283 ${WXWIDGETS_LIBRARIES})
289 message("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
290 message(${VTK_LIBRARIES})
292 TARGET_LINK_LIBRARIES(${LIBRARY_NAME}
294 ${creaBruker_LIBRARIES}
295 ${WXWIDGETS_LIBRARIES}
302 TARGET_LINK_LIBRARIES(${LIBRARY_NAME}
304 ${creaBruker_LIBRARIES}
305 ${WXWIDGETS_LIBRARIES}
311 ENDIF(NOT USE_XERCES)
314 #----------------------------------------------------------------------------
316 FILE(GLOB HEADERS "*.h" "*.txx")
319 DESTINATION include/${LIBRARY_NAME}
323 SET(CREAIMAGEIO_LIB_PATH ${CMAKE_CREA_LIB_PATH} )
326 TARGETS ${LIBRARY_NAME}
327 DESTINATION ${CREAIMAGEIO_LIB_PATH})
329 # Sets the settings for macro CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE
330 SET(${LIBRARY_NAME}_INSTALL_FOLDER ${LIBRARY_NAME})
331 SET(${LIBRARY_NAME}_LIBRARIES ${LIBRARY_NAME} )
334 # ${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS
335 # ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
337 SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS
343 IF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
344 SET(CILFC_EXECUTABLE_OUTPUT_REL_PATH ".")
345 ELSE ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
347 CILFC_EXECUTABLE_OUTPUT_REL_PATH
348 ${PROJECT_BINARY_DIR} ${EXECUTABLE_OUTPUT_PATH})
349 ENDIF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
353 SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS ${CMAKE_CREA_LIB_PATH} )
356 SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS
357 ${CILFC_EXECUTABLE_OUTPUT_REL_PATH})
359 SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS
360 ${CILFC_EXECUTABLE_OUTPUT_REL_PATH})
362 SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_INCLUDE_PATHS include/${LIBRARY_NAME})
364 SET(${LIBRARY_NAME}_HAS_ADDITIONAL_CONFIG_FILE TRUE)
365 SET(${LIBRARY_NAME}_ADDITIONAL_CONFIG_FILE
366 ${PROJECT_SOURCE_DIR}/src/Additional${LIBRARY_NAME}Config.cmake.in)
367 SET(${LIBRARY_NAME}_ADDITIONAL_USE_FILE
368 ${PROJECT_SOURCE_DIR}/src/AdditionalUse${LIBRARY_NAME}.cmake.in)
370 # Invoke the advanced macro
371 CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME})
373 SET(INPUT_DATA_DIR ${PROJECT_SOURCE_DIR}/src/data)
374 SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/bin/share/creaImageIO)
376 SET(INPUT_DATA_DIR ${PROJECT_SOURCE_DIR}/src/data)
377 SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/share/creaImageIO)
379 CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
382 #CREA_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME})
383 #-----------------------------------------------------------------------------
385 OPTION( BUILD_DOXYGEN_DOC "Build doxygen doc ?" OFF)
386 IF(BUILD_DOXYGEN_DOC)
387 ADD_SUBDIRECTORY(doxygen)
388 ENDIF(BUILD_DOXYGEN_DOC)
391 # ${PROJECT_BINARY_DIR}
392 ${PROJECT_SOURCE_DIR}/src