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