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 creaImageIOAbstractImageReader.cpp
93 creaImageIOImageReader.cpp
94 creaImageIOUltrasonixImageReader.cpp
95 creaImageIOVtkImageReader.cpp
96 ${SOURCES_CREAIMAGEIO_IMG_DICOM_READER}
97 ${SOURCES_CREAIMAGEIO_MULTI_IMG_READER}
100 FILE(GLOB SOURCES_CREAIMAGEIO_ITK_DLG
101 creaImageIOWxIsimpleDlg.h
102 creaImageIOWxIsimpleDlg.hpp
103 creaImageIOWxAnySimpleDlg.h
104 creaImageIOWxAnySimpleDlg.cpp
108 #--------------------------------------------
109 # The wxWidgets-based components
111 FILE(GLOB SOURCES_CREAIMAGEIO_WX
112 creaImageIOWxSimpleDlg.cpp
113 creaImageIOWxAttributeSelectionPanel.cpp
114 creaImageIOWxCustomizeConfigPanel.cpp
115 creaImageIOWxDescriptorPanel.cpp
116 creaImageIOWxEditFieldsPanel.cpp
117 creaImageIOWxExportDlg.cpp
118 creaImageIOWxDumpPanel.cpp
119 creaImageIOWxGimmickView.cpp
120 creaImageIOWxGimmickReaderDialog.cpp
121 creaImageIOWxGimmickFrame.cpp
122 creaImageIOWxGimmickPanel.cpp
123 creaImageIOWxGimmickTools.cpp
124 creaImageIOWxListenerPanel.cpp
125 creaImageIOWxPACSConnectionPanel.cpp
126 creaImageIOWxTreeView.cpp
127 creaImageIOWxOutputDlg.cpp
129 creaImageIOWxViewer.cpp
130 creaImageIOExternalGimmick.cpp
132 creaImageIOListener.cpp
134 SOURCE_GROUP("Source Files\\GUI" FILES ${SOURCES_CREAIMAGEIO_WX})
137 FILE(GLOB SOURCES_CREAIMAGEIO_ITK_DLG
138 creaImageIOWxIsimpleDlg.h
139 creaImageIOWxIsimpleDlg.hpp
140 creaImageIOWxAnySimpleDlg.h
141 creaImageIOWxAnySimpleDlg.cpp
150 #--------------------------------------------
151 # USE QT, need to transform files (moc mechanism)
155 #ADD_SUBDIRECTORY(Qt)
157 FILE(GLOB UI_FILES Qt/*.ui)
158 QT4_WRAP_UI(UI_SOURCES ${UI_FILES})
159 SOURCE_GROUP("Source Files\\UI Files" FILES ${UI_FILES})
160 SOURCE_GROUP("Source Files\\Qt Generated Files" FILES ${UI_SOURCES})
163 FILE(GLOB QT_CPP Qt/*.cpp
164 #creaImageIOQtGimmickReaderDialog.cpp
168 FILE(GLOB QT4_HEADERS_TO_WRAP Qt/*.h
169 #creaImageIOQtGimmickReaderDialog.h
172 # FILE(GLOB UI_FILES *.ui)
173 # QT4_WRAP_UI(UI_SOURCES ${UI_FILES})
174 # SOURCE_GROUP("UI Files" FILES ${UI_FILES})
175 # SOURCE_GROUP("Qt Generated Files" FILES ${UI_SOURCES})
176 # FILE(GLOB UI_FILES creaImageIOQtGimmickReaderDialog.ui)
177 # QT4_WRAP_UI(UI_SOURCES_H ${UI_FILES} OPTIONS -o ${PROJECT_BINARY_DIR}/src)
178 QT4_WRAP_CPP(QT_MOC_CPP ${QT4_HEADERS_TO_WRAP})
180 # FILE(GLOB ${LIBRARY_NAME}_HEADERS "*.h" "*.txx" "${PROJECT_BINARY_DIR}/src/*.h")
181 # MEssage(STATUS" qt files = ${QT_MOC_CPP}")
182 SOURCE_GROUP("Source Files\\GUI" FILES ${QT_MOC_CPP} ${QT_CPP} )
183 # INCLUDE_DIRECTORIES ( ${PROJECT_BINARY_DIR})
184 SOURCE_GROUP("Source Files\\GUI" FILES ${UI_SOURCES_H} ${UI_FILES})
185 SOURCE_GROUP("Header Files" FILES ${QT4_HEADERS_TO_WRAP})
189 FILE(GLOB SOURCES_CREAIMAGEIO_OUTPUT
190 creaImageIOOutputModel.cpp
191 creaImageIOOutputModelParser.cpp
193 SOURCE_GROUP("Source Files\\Output" FILES ${SOURCES_CREAIMAGEIO_OUTPUT})
200 FILE(GLOB HEADER_CREAIMAGEIO creaImageIOImagePointerHolder.h CppSQLite3.h)
202 FILE(GLOB SOURCES_CREAIMAGEIO_PACS PACS/*.cpp)
203 FILE(GLOB HEADER_CREAIMAGEIO_PACS PACS/*.h)
205 FILE(GLOB QT4_HEADERS creaImageIOQtGimmickReaderDialog.h )
206 MEssage(STATUS" qt files = ${QT4_HEADERS}")
207 SOURCE_GROUP("Source Files" FILES ${SOURCES_CREAIMAGEIO})
208 SOURCE_GROUP("Header Files" FILES ${HEADER_CREAIMAGEIO} ${QT4_HEADERS})
210 SOURCE_GROUP("Source Files\\PACS" FILES ${SOURCES_CREAIMAGEIO_PACS})
211 SOURCE_GROUP("Header Files\\PACS" FILES ${HEADER_CREAIMAGEIO_PACS})
212 endif(BUILD_CREA_PACS)
213 SOURCE_GROUP("Source Files\\Readers" FILES ${SOURCES_CREAIMAGEIO_IMG_READER}
214 ${SOURCES_CREAIMAGEIO_IMG_DICOM_READER})
215 SOURCE_GROUP("Source Files\\Tree" FILES ${SOURCES_CREAIMAGEIO_TREE})
217 SOURCE_GROUP("Source Files\\ITK" FILES ${SOURCES_CREAIMAGEIO_ITK_DLG})
222 ${SOURCES_CREAIMAGEIO_WX}
223 ${SOURCES_CREAIMAGEIO_DIALOG}
233 ${SOURCES_CREAIMAGEIO}
234 ${HEADER_CREAIMAGEIO}
235 ${SOURCES_CREAIMAGEIO_IMG_READER}
236 ${SOURCES_CREAIMAGEIO_IMG_DICOM_READER}
238 ${SOURCES_CREAIMAGEIO_TREE}
239 ${SOURCES_CREAIMAGEIO_ITK_DLG}
243 #if ( ${CMAKE_EXE_LINKER_FLAGS} MATCHES "message:x64")message("charlie ${CMAKE_SYSTEM_PROCESSOR}")endif()
248 ${SOURCES_CREAIMAGEIO_PACS}
249 ${HEADER_CREAIMAGEIO_PACS}
251 else (BUILD_CREA_PACS)
255 ${SOURCES_CREAIMAGEIO_OUTPUT}
262 endif (BUILD_CREA_PACS)
264 OPTION(${LIBRARY_NAME}_BUILD_SHARED
265 "Build ${LIBRARY_NAME} as a shared library (dynamic) ?" ON)
266 IF (${LIBRARY_NAME}_BUILD_SHARED)
267 SET(CREAIMAGEIO_BUILD_SHARED SHARED)
268 crea_DEFINE(CREAIMAGEIO_BUILD_SHARED)
269 ENDIF(${LIBRARY_NAME}_BUILD_SHARED)
271 crea_DEFINE(CREAIMAGEIO_EXPORT_SYMBOLS)
273 ADD_LIBRARY(${LIBRARY_NAME} ${CREAIMAGEIO_BUILD_SHARED} ${SRCS})
276 TARGET_LINK_LIBRARIES(${LIBRARY_NAME}
281 TARGET_LINK_LIBRARIES(${LIBRARY_NAME}
282 ${WXWIDGETS_LIBRARIES})
287 TARGET_LINK_LIBRARIES(${LIBRARY_NAME}
289 ${creaBruker_LIBRARIES}
290 ${WXWIDGETS_LIBRARIES}
297 TARGET_LINK_LIBRARIES(${LIBRARY_NAME}
299 ${creaBruker_LIBRARIES}
300 ${WXWIDGETS_LIBRARIES}
306 ENDIF(NOT USE_XERCES)
309 #----------------------------------------------------------------------------
311 FILE(GLOB HEADERS "*.h" "*.txx")
314 DESTINATION include/${LIBRARY_NAME}
318 SET(CREAIMAGEIO_LIB_PATH ${CMAKE_CREA_LIB_PATH} )
321 TARGETS ${LIBRARY_NAME}
322 DESTINATION ${CREAIMAGEIO_LIB_PATH})
324 # Sets the settings for macro CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE
325 SET(${LIBRARY_NAME}_INSTALL_FOLDER ${LIBRARY_NAME})
326 SET(${LIBRARY_NAME}_LIBRARIES ${LIBRARY_NAME} )
329 # ${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS
330 # ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
332 SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS
338 IF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
339 SET(CILFC_EXECUTABLE_OUTPUT_REL_PATH ".")
340 ELSE ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
342 CILFC_EXECUTABLE_OUTPUT_REL_PATH
343 ${PROJECT_BINARY_DIR} ${EXECUTABLE_OUTPUT_PATH})
344 ENDIF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
348 SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS ${CMAKE_CREA_LIB_PATH} )
351 SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS
352 ${CILFC_EXECUTABLE_OUTPUT_REL_PATH})
354 SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS
355 ${CILFC_EXECUTABLE_OUTPUT_REL_PATH})
357 SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_INCLUDE_PATHS include/${LIBRARY_NAME})
359 SET(${LIBRARY_NAME}_HAS_ADDITIONAL_CONFIG_FILE TRUE)
360 SET(${LIBRARY_NAME}_ADDITIONAL_CONFIG_FILE
361 ${PROJECT_SOURCE_DIR}/src/Additional${LIBRARY_NAME}Config.cmake.in)
362 SET(${LIBRARY_NAME}_ADDITIONAL_USE_FILE
363 ${PROJECT_SOURCE_DIR}/src/AdditionalUse${LIBRARY_NAME}.cmake.in)
365 # Invoke the advanced macro
366 CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME})
368 SET(INPUT_DATA_DIR ${PROJECT_SOURCE_DIR}/src/data)
369 SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/bin/share/creaImageIO)
371 SET(INPUT_DATA_DIR ${PROJECT_SOURCE_DIR}/src/data)
372 SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/share/creaImageIO)
374 CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
377 #CREA_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME})
378 #-----------------------------------------------------------------------------
380 OPTION( BUILD_DOXYGEN_DOC "Build doxygen doc ?" OFF)
381 IF(BUILD_DOXYGEN_DOC)
382 ADD_SUBDIRECTORY(doxygen)
383 ENDIF(BUILD_DOXYGEN_DOC)
386 # ${PROJECT_BINARY_DIR}
387 ${PROJECT_SOURCE_DIR}/src