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