]> Creatis software - creaImageIO.git/blob - src2/CMakeLists.txt
*** empty log message ***
[creaImageIO.git] / src2 / CMakeLists.txt
1 SET(LIBRARY_NAME creaImageIO2)
2
3
4 FILE(GLOB SOURCES_CREAIMAGEIO  
5   # SQLite 
6   CppSQLite3.cpp
7   # 
8   creaImageIOGimmick.cpp
9   creaImageIOSynchron.cpp
10   creaImageIOPACSConnection.cpp
11
12   # Abstract views
13   creaImageIOTreeView.cpp
14
15   # settings
16   creaImageIOSettings.cpp
17
18    BlockScopeWxApp.cpp
19   creaImageIOGimmickReaderDialog.cpp
20   #  Viewer
21   creaImageIOWxViewer.cpp
22   creaImageIOGimmickView.cpp
23   creaImageIOListener.cpp
24
25  
26  # Attributed tree data structure
27 FILE(GLOB SOURCES_CREAIMAGEIO_TREE
28           creaImageIOTree.cpp
29           creaImageIOTreeAttributeDescriptor.cpp
30           creaImageIOTreeDescriptor.cpp
31           creaImageIOTreeNode.cpp
32           creaImageIOTreeLevelDescriptor.cpp
33             # Tree Handlers
34           creaImageIOTreeHandler.cpp
35           creaImageIOTreeHandlerImageAdder.cpp
36           creaImageIOSQLiteTreeHandler.cpp
37           )
38  
39  # Image Readers
40 FILE(GLOB SOURCES_CREAIMAGEIO_IMG_READER
41           creaImageIOAbstractImageReader.cpp
42           creaImageIODicomImageReader.cpp
43           creaImageIOImageReader.cpp
44           creaImageIOUltrasonixImageReader.cpp
45           creaImageIOVtkImageReader.cpp
46           creaImageIOMultiThreadImageReader.cpp
47           )
48
49
50 # The wxWidgets-based components
51 if (USE_WXWIDGETS)
52 FILE(GLOB SOURCES_CREAIMAGEIO_WX
53           creaImageIOWxGimmickView.cpp
54           creaImageIOWxTreeView.cpp
55       creaImageIOWxGimmickReaderDialog.cpp
56       creaImageIOWxGimmickFrame.cpp
57       creaImageIOWxGimmickPanel.cpp
58       creaImageIOWxGimmickTools.cpp
59       creaImageIOWxCustomizeConfigPanel.cpp
60       creaImageIOWxListenerPanel.cpp
61       creaImageIOWxEditFieldsPanel.cpp
62           creaImageIOWxAttributeSelectionPanel.cpp
63           creaImageIOWxPACSConnectionPanel.cpp
64           creaImageIOWxDescriptorPanel.cpp
65           )
66 endif()
67
68 # Header Files    
69 FILE(GLOB HEADER_CREAIMAGEIO creaImageIOImagePointerHolder.h)
70 FILE(GLOB SOURCES_CREAIMAGEIO_PACS PACS/*.cpp)
71 FILE(GLOB HEADER_CREAIMAGEIO_PACS PACS/*.h)
72
73
74 SOURCE_GROUP("Source Files" FILES ${SOURCES_CREAIMAGEIO})
75 SOURCE_GROUP("Header Files" FILES ${HEADER_CREAIMAGEIO})
76 SOURCE_GROUP("Source Files\\GUI" FILES ${SOURCES_CREAIMAGEIO_WX})
77 if(BUILD_CREA_PACS)
78         SOURCE_GROUP("Source Files\\PACS" FILES ${SOURCES_CREAIMAGEIO_PACS})
79         SOURCE_GROUP("Header Files\\PACS" FILES ${HEADER_CREAIMAGEIO_PACS})
80 endif(BUILD_CREA_PACS)
81 SOURCE_GROUP("Source Files\\Readers" FILES ${SOURCES_CREAIMAGEIO_IMG_READER})
82 SOURCE_GROUP("Source Files\\Tree" FILES ${SOURCES_CREAIMAGEIO_TREE})
83
84
85 SET( PRIMITIVE_SRCS
86  ${SOURCES_CREAIMAGEIO}
87  ${HEADER_CREAIMAGEIO}
88  ${SOURCES_CREAIMAGEIO_IMG_READER}
89  ${SOURCES_CREAIMAGEIO_WX}
90  ${SOURCES_CREAIMAGEIO_TREE}
91 )
92
93 if( BUILD_CREA_PACS)
94         SET (SRCS
95                 ${PRIMITIVE_SRCS}
96                 ${SOURCES_CREAIMAGEIO_PACS}
97                 ${HEADER_CREAIMAGEIO_PACS}
98                 )
99 else (BUILD_CREA_PACS)
100         SET (SRCS
101                 ${PRIMITIVE_SRCS}
102                 )
103 endif (BUILD_CREA_PACS)
104
105
106
107
108 OPTION(${LIBRARY_NAME}_BUILD_SHARED 
109   "Build ${LIBRARY_NAME} as a shared library (dynamic) ?" ON)
110 IF (${LIBRARY_NAME}_BUILD_SHARED)
111   SET(CREAIMAGEIO_BUILD_SHARED SHARED)
112   crea_DEFINE(CREAIMAGEIO_BUILD_SHARED)
113 ENDIF(${LIBRARY_NAME}_BUILD_SHARED)
114
115 crea_DEFINE(CREAIMAGEIO_EXPORT_SYMBOLS)
116
117 ADD_LIBRARY(${LIBRARY_NAME} ${CREAIMAGEIO_BUILD_SHARED} ${SRCS})
118
119
120 TARGET_LINK_LIBRARIES(${LIBRARY_NAME} 
121   ${crea_LIBRARIES}
122   ${creaBruker_LIBRARIES}
123   ${WXWIDGETS_LIBRARIES}
124   ${VTK_LIBRARIES}
125   ${GDCM_LIBRARIES}
126   ${BOOST_LIBRARIES}
127   sqlite3)
128
129 #----------------------------------------------------------------------------
130 # INSTALLS LIBRARY
131 FILE(GLOB HEADERS "*.h" "*.txx")
132 INSTALL(
133   FILES ${HEADERS}
134   DESTINATION include/${LIBRARY_NAME}
135   )
136   
137
138 IF (WIN32)
139   SET(CREAIMAGEIO_LIB_PATH bin)
140 ELSE (WIN32)
141   SET(CREAIMAGEIO_LIB_PATH lib)
142 ENDIF(WIN32)
143
144 INSTALL(
145   TARGETS ${LIBRARY_NAME} 
146   DESTINATION ${CREAIMAGEIO_LIB_PATH})
147
148      # Sets the settings for macro CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE
149   SET(${LIBRARY_NAME}_INSTALL_FOLDER ${LIBRARY_NAME})
150   SET(${LIBRARY_NAME}_LIBRARIES ${LIBRARY_NAME})
151   
152 #  FILE(RELATIVE_PATH 
153 #    ${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS 
154 #    ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
155 #    )
156 SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS
157     src2
158     win32
159 )
160
161
162   IF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
163     SET(CILFC_EXECUTABLE_OUTPUT_REL_PATH ".")
164   ELSE ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
165     FILE(RELATIVE_PATH 
166       CILFC_EXECUTABLE_OUTPUT_REL_PATH
167       ${PROJECT_BINARY_DIR} ${EXECUTABLE_OUTPUT_PATH})
168   ENDIF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
169
170   IF(UNIX)
171     SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS 
172       ${CILFC_EXECUTABLE_OUTPUT_REL_PATH})
173     SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS lib)
174   ELSE(UNIX)
175     SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS 
176       ${CILFC_EXECUTABLE_OUTPUT_REL_PATH})
177     SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS bin)
178   ENDIF(UNIX)
179   SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_INCLUDE_PATHS include/${LIBRARY_NAME})
180   
181   SET(${LIBRARY_NAME}_HAS_ADDITIONAL_CONFIG_FILE TRUE)
182 SET(${LIBRARY_NAME}_ADDITIONAL_CONFIG_FILE 
183   ${PROJECT_SOURCE_DIR}/src2/Additional${LIBRARY_NAME}Config.cmake.in)
184 SET(${LIBRARY_NAME}_ADDITIONAL_USE_FILE 
185   ${PROJECT_SOURCE_DIR}/src2/AdditionalUse${LIBRARY_NAME}.cmake.in)
186
187   # Invoke the advanced macro
188   CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME})
189 IF (WIN32)
190         SET(INPUT_DATA_DIR ${PROJECT_SOURCE_DIR}/src2/data)
191         SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/bin/Shared/gimmick)
192 ELSE (WIN32)
193         SET(INPUT_DATA_DIR ${PROJECT_SOURCE_DIR}/src2/data)
194         SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/Shared/gimmick)
195 ENDIF (WIN32)
196 CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
197
198   
199 #CREA_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME})
200 #-----------------------------------------------------------------------------
201
202 OPTION( BUILD_DOXYGEN_DOC "Build doxygen doc ?" OFF)
203 IF(BUILD_DOXYGEN_DOC)
204   SUBDIRS(doxygen)
205 ENDIF(BUILD_DOXYGEN_DOC)
206
207 INCLUDE_DIRECTORIES(
208 #  ${PROJECT_BINARY_DIR}
209   ${PROJECT_SOURCE_DIR}/src2
210 #  ${PROJECT_SOURCE_DIR}/src2/CppSQLite3
211   )