3 MACRO(CREA_FIND_AND_USE_LIBRARIES)
5 set(USE_DEBUG_LIB "" CACHE BOOL "Use Debug Libraries" )
7 #-----------------------------------------------------------------------------
8 # If one can invoke this macro then crea has already been found !!
9 # However if one whishes to link against crea and crea was built
10 # with wx or vtk then we have to find them.
11 # This USE_CREA var is made to resolve this dependency.
13 IF(CREA_BUILT_WITH_WX)
15 ENDIF(CREA_BUILT_WITH_WX)
16 IF(CREA_BUILT_WITH_VTK)
18 ENDIF(CREA_BUILT_WITH_VTK)
20 #-----------------------------------------------------------------------------
23 #-----------------------------------------------------------------------------
27 INCLUDE(${CREA_CMAKE_DIR}/CREAMacro_FindAndUseQt.cmake)
28 #FIND_PACKAGE(Qt4 REQUIRED)
31 MESSAGE ( STATUS "=======================================")
32 MESSAGE ( STATUS "Looking for QT4... found")
33 MESSAGE ( STATUS "* Inc Dir = ${QT_INCLUDE_DIR}")
34 MESSAGE ( STATUS "* Version = ${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}")
35 INCLUDE(${QT_USE_FILE})
41 # MARK_AS_ADVANCED(Qt4_DIR)
45 #-----------------------------------------------------------------------------
47 #-----------------------------------------------------------------------------
49 INCLUDE(${CREA_CMAKE_DIR}/CREAMacro_FindAndUseVTK.cmake)
50 CREA_FIND_AND_USE_VTK()
52 #-----------------------------------------------------------------------------
54 #-----------------------------------------------------------------------------
56 IF(NOT KWWidgets_FOUND)
58 FIND_PACKAGE(KWWidgets)
61 MESSAGE ( STATUS "=======================================")
62 MESSAGE ( STATUS "Looking for KWWidgets... found")
63 MESSAGE ( STATUS "* Dir = ${KWWidgets_DIR}")
64 MESSAGE ( STATUS "* Version = ${KWWidgets_MAJOR_VERSION}.${KWWidgets_MINOR_VERSION}.${KWWidgets_BUILD_VERSION}")
66 # KWWidgets must not search again for vtk !
67 SET(KWWidgets_NO_USE_VTK ON)
70 INCLUDE(${KWWidgets_USE_FILE})
71 CREA_DEFINE( USE_KWWIDGETS )
72 SET(KWWIDGETS_LIBRARIES
73 ${KWWidgets_LIBRARIES}
75 MARK_AS_ADVANCED(KWWidgets_DIR)
77 message(FATAL_ERROR "KWWidgets_DIR not found")
78 ENDIF(KWWidgets_FOUND)
79 ENDIF(NOT KWWidgets_FOUND)
81 #-----------------------------------------------------------------------------
85 #-----------------------------------------------------------------------------
93 MESSAGE ( STATUS "=======================================")
94 MESSAGE ( STATUS "Looking for ITK... found")
95 MESSAGE ( STATUS "* Dir = ${ITK_DIR}")
96 MESSAGE ( STATUS "* Version = ${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}.${ITK_VERSION_PATCH}")
97 SET(SKIP_ITK_BUILD_SETTINGS_FILE ON)
98 INCLUDE(${ITK_USE_FILE})
99 CREA_DEFINE( USE_ITK )
100 CREA_DEFINE( _USE_ITK_ )
102 ITKCommon ITKIO ITKBasicFilters ITKAlgorithms
104 MARK_AS_ADVANCED(ITK_DIR)
106 message(FATAL_ERROR "ITK_DIR not found")
110 #-----------------------------------------------------------------------------
113 #-----------------------------------------------------------------------------
116 MESSAGE(ERROR "CANNOT USE BOTH gdcm AND gdcm2 !")
124 INCLUDE(${GDCM_USE_FILE})
125 CREA_DEFINE( USE_GDCM )
127 MESSAGE ( STATUS "=======================================")
128 MESSAGE ( STATUS "Looking for GDCM... found")
129 MESSAGE ( STATUS "* Dir = ${GDCM_DIR}")
130 MESSAGE ( STATUS "* Version = ${GDCM_MAJOR_VERSION}.${GDCM_MINOR_VERSION}.${GDCM_BUILD_VERSION}")
131 MESSAGE ( STATUS "* Namespace = ${GDCM_NAME_SPACE}")
133 # Test that GDCM_NAME_SPACE is **NOT** "gdcm" or will conflict with
134 # embedded gdcm in ITK and will result in hard seg faults !
136 IF (GDCM_NAME_SPACE STREQUAL "gdcm")
137 MESSAGE(FATAL_ERROR "GDCM_NAME_SPACE value is 'gdcm' which conflicts with ITK embededd gdcm namespace : rebuild gdcm with another GDCM_NAME_SPACE value")
138 ENDIF (GDCM_NAME_SPACE STREQUAL "gdcm")
141 MARK_AS_ADVANCED(GDCM_DIR)
147 # TODO : Test that GDCM was built with option "vtkgdcm"
158 ENDIF(NOT GDCM_FOUND)
161 #-----------------------------------------------------------------------------
163 #-----------------------------------------------------------------------------
170 INCLUDE(${GDCM_USE_FILE})
172 IF(NOT ${GDCM_MAJOR_VERSION} EQUAL 2)
173 MESSAGE(FATAL_ERROR "gdcm version 2 needed. found ${GDCM_MAJOR_VERSION}.${GDCM_MINOR_VERSION}.${GDCM_BUILD_VERSION}. Set GDCM_DIR to the gdcm version 2 directory")
174 ENDIF(NOT ${GDCM_MAJOR_VERSION} EQUAL 2)
176 CREA_DEFINE( USE_GDCM2 )
177 CREA_DEFINE_WITH_VAL( GDCM_NAME_SPACE gdcm )
179 MESSAGE ( STATUS "=======================================")
180 MESSAGE ( STATUS "Looking for GDCM2... found")
181 MESSAGE ( STATUS "* Dir = ${GDCM_DIR}")
182 MESSAGE ( STATUS "* Version = ${GDCM_MAJOR_VERSION}.${GDCM_MINOR_VERSION}.${GDCM_BUILD_VERSION}")
183 MESSAGE ( STATUS "* Namespace = ${GDCM_NAME_SPACE}")
185 # Test that GDCM_NAME_SPACE is **NOT** "gdcm" or will conflict with
186 # embedded gdcm in ITK and will result in hard seg faults !
188 IF (GDCM_NAME_SPACE STREQUAL "gdcm")
189 MESSAGE(FATAL_ERROR "GDCM_NAME_SPACE value is 'gdcm' which conflicts with ITK embededd gdcm namespace : rebuild gdcm with another GDCM_NAME_SPACE value")
190 ENDIF (GDCM_NAME_SPACE STREQUAL "gdcm")
193 MARK_AS_ADVANCED(GDCM_DIR)
199 # TODO : Test that GDCM was built with option "vtkgdcm"
210 ENDIF(NOT GDCM_FOUND)
213 #-----------------------------------------------------------------------------
215 #-----------------------------------------------------------------------------
217 IF(NOT wxWidgets_FOUND)
218 INCLUDE(${CREA_CMAKE_DIR}/CREAMacro_FindAndUseWxWidgets.cmake)
219 CREA_FIND_WXWIDGETS(${USE_DEBUG_LIB})
221 ENDIF(NOT wxWidgets_FOUND)
223 #-----------------------------------------------------------------------------
227 #-----------------------------------------------------------------------------
230 MESSAGE ( STATUS "=======================================")
231 FIND_PACKAGE(Doxygen REQUIRED)
232 # MESSAGE(STATUS "Looking for doxygen... - found ${DOXYGEN}")
236 # MESSAGE(FATAL_ERROR "Doxygen not found. Required to build the doxygen documentation")
239 #-----------------------------------------------------------------------------
242 #-----------------------------------------------------------------------------
244 IF (NOT LATEX_COMPILER)
245 FIND_PACKAGE(LATEX REQUIRED)
246 MESSAGE ( STATUS "=======================================")
247 MESSAGE(STATUS "Looking for latex... - found ${LATEX_COMPILER}")
248 ENDIF (NOT LATEX_COMPILER)
251 #-----------------------------------------------------------------------------
253 #-----------------------------------------------------------------------------
255 IF (NOT TTH_EXECUTABLE)
256 FIND_FILE( TTH_EXECUTABLE NAME tth tth.exe PATHS . $ENV{CREATIS}/tth_exe/ ~/Creatis/tth ~/Creatis/tth_linux $ENV{TTH})
258 IF (NOT TTH_EXECUTABLE)
259 MESSAGE(FATAL_ERROR "TTH not found (LATEX_tth_CONVERTER). Required to build the HTML documentation from tex source")
260 ELSE (NOT TTH_EXECUTABLE)
261 MESSAGE ( STATUS "=======================================")
262 MESSAGE ( STATUS "Looking for tth... - found ${TTH_EXECUTABLE}")
263 ENDIF(NOT TTH_EXECUTABLE)
264 MARK_AS_ADVANCED( TTH_EXECUTABLE )
265 ENDIF(NOT TTH_EXECUTABLE)
267 #-----------------------------------------------------------------------------
269 #-----------------------------------------------------------------------------
272 FIND_PACKAGE(Boost REQUIRED)
274 MESSAGE ( STATUS "=======================================")
275 MESSAGE ( STATUS "Looking for boost C++ library... - found in ${Boost_INCLUDE_DIR}")
276 INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
277 LINK_DIRECTORIES( ${Boost_LIBRARY_DIRS} )
279 CREA_DEFINE( USE_BOOST )
282 LINK_DIRECTORIES( ${Boost_INCLUDE_DIRS}/stage/lib) #JCP 01/10/2009
283 #LINK_DIRECTORIES( ${Boost_LIBRARY_DIRS})
284 #MESSAGE ("EED " ${Boost_LIBRARY_DIRS})
285 #libboost_signals-vc71-mt-1_37
286 #libboost_filesystem-vc71-mt-1_37
287 #boost_date_time-vc71-mt-1_37
289 #message("creamacro find and use lib = ${Boost_SIGNALS_LIBRARY}")
292 boost_signals-vc90-mt-gd-1_40
293 boost_filesystem-vc90-mt-gd-1_40
294 boost_date_time-vc90-mt-gd-1_40
295 #what about boost_thread? JPR
297 ELSE(NOT USE_DEBUG_LIB)
299 boost_signals-vc90-mt-1_40
300 boost_filesystem-vc90-mt-1_40
301 boost_date_time-vc90-mt-1_40
311 boost_program_options
321 boost_program_options-mt
328 MARK_AS_ADVANCED(Boost_INCLUDE_DIR)
330 MESSAGE(FATAL_ERROR "boost C++ library not found - Set Boost_INCLUDE_DIR to the directory containing boost headers")
332 ENDIF(NOT Boost_FOUND)
334 #-----------------------------------------------------------------------------
341 SET(XERCES_LIB_DIR $ENV{XERCES_DIR})
343 IF(NOT XERCES_LIB_DIR)
344 MESSAGE(FATAL_ERROR "XERCES_DIR not found")
345 ELSE(NOT XERCES_LIB_DIR)
347 INCLUDE_DIRECTORIES( ${XERCES_LIB_DIR}/src )
348 LINK_DIRECTORIES( ${XERCES_LIB_DIR}/Build/Win32/VC9/Debug )
350 ENDIF(NOT XERCES_LIB_DIR)
353 set(XERCES_LIBRARIES ${XERCES_LIB_DIR}/Build/Win32/VC9/Debug/xerces-c_3D)
355 set(XERCES_LIBRARIES ${XERCES_LIB_DIR}/Build/Win32/VC9/Release/xerces-c_3)
358 MARK_AS_ADVANCED(XERCES_LIB_DIR)
364 SET(XERCES_LIBRARIES libxerces-c.so )
365 INCLUDE_DIRECTORIES( /usr/local/include )
366 LINK_DIRECTORIES( /usr/local/lib )
367 #FIND_PACKAGE(Xerces)
370 # INCLUDE_DIRECTORIES( ${XERCES_INCLUDE_DIR} )
379 ENDMACRO(CREA_FIND_AND_USE_LIBRARIES)