3 MACRO(CREA_FIND_AND_USE_LIBRARIES)
4 #MESSAGE(ERROR "EED CREAMacrp_FindAndUseLibraries")
9 set(USE_DEBUG_LIB "" CACHE BOOL "Use Debug Libraries" )
11 #-----------------------------------------------------------------------------
12 # If one can invoke this macro then crea has already been found !!
13 # However if one whishes to link against crea and crea was built
14 # with wx or vtk then we have to find them.
15 # This USE_CREA var is made to resolve this dependency.
17 IF(CREA_BUILT_WITH_WX)
19 ENDIF(CREA_BUILT_WITH_WX)
20 IF(CREA_BUILT_WITH_VTK)
22 ENDIF(CREA_BUILT_WITH_VTK)
24 #-----------------------------------------------------------------------------
27 #-----------------------------------------------------------------------------
31 INCLUDE(${CREA_CMAKE_DIR}/CREAMacro_FindAndUseQt.cmake)
32 #FIND_PACKAGE(Qt4 REQUIRED)
35 MESSAGE ( STATUS "=======================================")
36 MESSAGE ( STATUS "Looking for QT4... found")
37 MESSAGE ( STATUS "* Inc Dir = ${QT_INCLUDE_DIR}")
38 MESSAGE ( STATUS "* Version = ${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}")
39 INCLUDE(${QT_USE_FILE})
45 # MARK_AS_ADVANCED(Qt4_DIR)
49 #-----------------------------------------------------------------------------
51 #-----------------------------------------------------------------------------
53 INCLUDE(${CREA_CMAKE_DIR}/CREAMacro_FindAndUseVTK.cmake)
54 CREA_FIND_AND_USE_VTK()
56 #-----------------------------------------------------------------------------
58 #-----------------------------------------------------------------------------
60 IF(NOT KWWidgets_FOUND)
62 FIND_PACKAGE(KWWidgets)
65 MESSAGE ( STATUS "=======================================")
66 MESSAGE ( STATUS "Looking for KWWidgets... found")
67 MESSAGE ( STATUS "* Dir = ${KWWidgets_DIR}")
68 MESSAGE ( STATUS "* Version = ${KWWidgets_MAJOR_VERSION}.${KWWidgets_MINOR_VERSION}.${KWWidgets_BUILD_VERSION}")
70 # KWWidgets must not search again for vtk !
71 SET(KWWidgets_NO_USE_VTK ON)
74 INCLUDE(${KWWidgets_USE_FILE})
75 CREA_DEFINE( USE_KWWIDGETS )
76 SET(KWWIDGETS_LIBRARIES
77 ${KWWidgets_LIBRARIES}
79 MARK_AS_ADVANCED(KWWidgets_DIR)
81 message(FATAL_ERROR "KWWidgets_DIR not found")
82 ENDIF(KWWidgets_FOUND)
83 ENDIF(NOT KWWidgets_FOUND)
85 #-----------------------------------------------------------------------------
89 #-----------------------------------------------------------------------------
96 MESSAGE ( STATUS "=======================================")
97 MESSAGE ( STATUS "Looking for ITK... found")
98 MESSAGE ( STATUS "* Dir = ${ITK_DIR}")
99 MESSAGE ( STATUS "* Version = ${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}.${ITK_VERSION_PATCH}")
100 SET(SKIP_ITK_BUILD_SETTINGS_FILE ON)
101 INCLUDE(${ITK_USE_FILE})
102 CREA_DEFINE( USE_ITK )
103 CREA_DEFINE( _USE_ITK_ )
105 ITKCommon ITKIO ITKBasicFilters ITKAlgorithms
107 MARK_AS_ADVANCED(ITK_DIR)
109 message(FATAL_ERROR "ITK_DIR not found")
113 #-----------------------------------------------------------------------------
116 #-----------------------------------------------------------------------------
119 MESSAGE(ERROR "CANNOT USE BOTH gdcm AND gdcm2 !")
127 INCLUDE(${GDCM_USE_FILE})
128 CREA_DEFINE( USE_GDCM )
130 MESSAGE ( STATUS "=======================================")
131 MESSAGE ( STATUS "Looking for GDCM... found")
132 MESSAGE ( STATUS "* Dir = ${GDCM_DIR}")
133 MESSAGE ( STATUS "* Version = ${GDCM_MAJOR_VERSION}.${GDCM_MINOR_VERSION}.${GDCM_BUILD_VERSION}")
134 MESSAGE ( STATUS "* Namespace = ${GDCM_NAME_SPACE}")
136 # Test that GDCM_NAME_SPACE is **NOT** "gdcm" or will conflict with
137 # embedded gdcm in ITK and will result in hard seg faults !
139 IF (GDCM_NAME_SPACE STREQUAL "gdcm")
140 MESSAGE(FATAL_ERROR "GDCM_NAME_SPACE value is 'gdcm' which conflicts with ITK embededd gdcm namespace : rebuild gdcm with another GDCM_NAME_SPACE value")
141 ENDIF (GDCM_NAME_SPACE STREQUAL "gdcm")
144 MARK_AS_ADVANCED(GDCM_DIR)
150 # TODO : Test that GDCM was built with option "vtkgdcm"
160 MESSAGE(FATAL_ERROR "GDCM not found....")
162 ENDIF(NOT GDCM_FOUND)
165 #-----------------------------------------------------------------------------
168 FIND_PACKAGE(GDCM REQUIRED)
169 INCLUDE(${GDCM_USE_FILE})
171 IF(NOT ${GDCM_MAJOR_VERSION} EQUAL 2)
172 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")
173 ENDIF(NOT ${GDCM_MAJOR_VERSION} EQUAL 2)
175 CREA_DEFINE( USE_GDCM2 )
176 MARK_AS_ADVANCED(GDCM_DIR)
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 !
208 #-----------------------------------------------------------------------------
210 #-----------------------------------------------------------------------------
212 #-----------------------------------------------------------------------------
214 IF(NOT wxWidgets_FOUND)
215 INCLUDE(${CREA_CMAKE_DIR}/CREAMacro_FindAndUseWxWidgets.cmake)
216 CREA_FIND_WXWIDGETS(${USE_DEBUG_LIB})
218 ENDIF(NOT wxWidgets_FOUND)
220 #-----------------------------------------------------------------------------
224 #-----------------------------------------------------------------------------
227 MESSAGE ( STATUS "=======================================")
228 FIND_PACKAGE(Doxygen REQUIRED)
229 # MESSAGE(STATUS "Looking for doxygen... - found ${DOXYGEN}")
233 # MESSAGE(FATAL_ERROR "Doxygen not found. Required to build the doxygen documentation")
236 #-----------------------------------------------------------------------------
239 #-----------------------------------------------------------------------------
241 IF (NOT LATEX_COMPILER)
242 FIND_PACKAGE(LATEX REQUIRED)
243 MESSAGE ( STATUS "=======================================")
244 MESSAGE(STATUS "Looking for latex... - found ${LATEX_COMPILER}")
246 MESSAGE(FATAL_ERROR "LATEX_COMPILER NOT FOUND. Example:latex (MacOS:/opt/local/bin/latex)")
247 ENDIF (NOT LATEX_FOUND)
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}/Bin/lib)
283 #message("creamacro find and use lib = ${Boost_SIGNALS_LIBRARY}")
286 boost_signals-vc90-mt-gd-1_40
287 boost_filesystem-vc90-mt-gd-1_40
288 boost_date_time-vc90-mt-gd-1_40
289 #what about boost_thread? JPR
291 ELSE(NOT USE_DEBUG_LIB)
293 boost_signals-vc90-mt-1_40
294 boost_filesystem-vc90-mt-1_40
295 boost_date_time-vc90-mt-1_40
305 boost_program_options-mt
311 MARK_AS_ADVANCED(Boost_INCLUDE_DIR)
313 MESSAGE(FATAL_ERROR "boost C++ library not found - Set Boost_INCLUDE_DIR to the directory containing boost headers")
315 ENDIF(NOT Boost_FOUND)
317 #-----------------------------------------------------------------------------
323 SET(XERCES_LIB_DIR $ENV{XERCES_DIR})
324 IF(NOT XERCES_LIB_DIR)
325 MESSAGE(FATAL_ERROR "XERCES_DIR not found")
326 ELSE(NOT XERCES_LIB_DIR)
327 ##EED INCLUDE_DIRECTORIES( ${XERCES_LIB_DIR}/src )
328 ##EED LINK_DIRECTORIES( ${XERCES_LIB_DIR}/Build/Win32/VC9/Debug )
329 INCLUDE_DIRECTORIES( ${XERCES_LIB_DIR}/include )
330 LINK_DIRECTORIES( ${XERCES_LIB_DIR}/lib )
331 ENDIF(NOT XERCES_LIB_DIR)
333 ##EED set(XERCES_LIBRARIES ${XERCES_LIB_DIR}/Build/Win32/VC9/Debug/xerces-c_3D)
334 set(XERCES_LIBRARIES xerces-c_3D)
336 #EED set(XERCES_LIBRARIES ${XERCES_LIB_DIR}/Build/Win32/VC9/Release/xerces-c_3)
337 set(XERCES_LIBRARIES xerces-c_3)
339 MARK_AS_ADVANCED(XERCES_LIB_DIR)
344 SET(XERCES_LIBRARIES xerces-c )
345 INCLUDE_DIRECTORIES( /opt/local/include )
346 LINK_DIRECTORIES( /opt/local/lib )
348 SET(XERCES_LIBRARIES libxerces-c.so )
349 INCLUDE_DIRECTORIES( /usr/local/include )
350 LINK_DIRECTORIES( /usr/local/lib )
351 #FIND_PACKAGE(Xerces)
354 # INCLUDE_DIRECTORIES( ${XERCES_INCLUDE_DIR} )
362 ENDMACRO(CREA_FIND_AND_USE_LIBRARIES)