X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=cmake%2FCREAMacro_FindAndUseLibraries.cmake;h=09fa8b0115c7560b018d3cf1703fa7c9ff8517aa;hb=71ff7141cd36d08235432c186d09d8cbcea3eafc;hp=5643dc28b4dd0694ad687e958de800da90820cf9;hpb=1e5be493cdcce26e57246ebafa4f50e201e98a54;p=crea.git diff --git a/cmake/CREAMacro_FindAndUseLibraries.cmake b/cmake/CREAMacro_FindAndUseLibraries.cmake index 5643dc2..09fa8b0 100644 --- a/cmake/CREAMacro_FindAndUseLibraries.cmake +++ b/cmake/CREAMacro_FindAndUseLibraries.cmake @@ -1,7 +1,12 @@ MACRO(CREA_FIND_AND_USE_LIBRARIES) -MESSAGE(ERROR "EED CREAMacrp_FindAndUseLibraries") + +IF(INCLUDE_CTEST) + include(CTest) +ENDIF(INCLUDE_CTEST) + + set(USE_DEBUG_LIB "" CACHE BOOL "Use Debug Libraries" ) #----------------------------------------------------------------------------- @@ -152,27 +157,26 @@ IF(USE_GDCM) ) ENDIF(USE_VTK) ENDIF(USE_GDCM_VTK) - + + ELSE(GDCM_FOUND) + MESSAGE(FATAL_ERROR "GDCM not found....") ENDIF(GDCM_FOUND) + ENDIF(NOT GDCM_FOUND) ENDIF(USE_GDCM) -#----------------------------------------------------------------------------- - #----------------------------------------------------------------------------- IF(USE_GDCM2) - IF(NOT GDCM_FOUND) # Search GDCM2 - FIND_PACKAGE(GDCM) - # If gdcm found - IF(GDCM_FOUND) - INCLUDE(${GDCM_USE_FILE}) + FIND_PACKAGE(GDCM REQUIRED) + INCLUDE(${GDCM_USE_FILE}) IF(NOT ${GDCM_MAJOR_VERSION} EQUAL 2) 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") ENDIF(NOT ${GDCM_MAJOR_VERSION} EQUAL 2) CREA_DEFINE( USE_GDCM2 ) + MARK_AS_ADVANCED(GDCM_DIR) CREA_DEFINE_WITH_VAL( GDCM_NAME_SPACE gdcm ) MESSAGE ( STATUS "=======================================") @@ -183,32 +187,38 @@ IF(USE_GDCM2) # Test that GDCM_NAME_SPACE is **NOT** "gdcm" or will conflict with # embedded gdcm in ITK and will result in hard seg faults ! - IF(USE_ITK) - IF (GDCM_NAME_SPACE STREQUAL "gdcm") - MESSAGE(FATAL_ERROR "GDCM_NAME_SPACE value is 'gdcm' which conflicts with ITK embededd gdcm namespace : rebuild gdcm with another GDCM_NAME_SPACE value") - ENDIF (GDCM_NAME_SPACE STREQUAL "gdcm") - ENDIF(USE_ITK) - - MARK_AS_ADVANCED(GDCM_DIR) + INCLUDE_DIRECTORIES(${GDCM_INCLUDE_DIR}) + LINK_DIRECTORIES( ${GDCM_LIBRARY_DIR}) - SET(GDCM_LIBRARIES + SET(GDCM2_LIBRARIES ${GDCM_LIBRARIES} ) - # TODO : Test that GDCM was built with option "vtkgdcm" IF(USE_GDCM_VTK) IF(USE_VTK) - SET(GDCM_LIBRARIES - ${GDCM_LIBRARIES} - vtkgdcm - ) + IF(WIN32) + SET(GDCM_LIBRARIES + ${GDCM_LIBRARIES} + vtkgdcm + #gdcm2vtk + ) + ELSE(WIN32) + SET(GDCM_LIBRARIES + ${GDCM_LIBRARIES} + vtkgdcm + ) + ENDIF(WIN32) + ENDIF(USE_VTK) ENDIF(USE_GDCM_VTK) - - ENDIF(GDCM_FOUND) - ENDIF(NOT GDCM_FOUND) + + ENDIF(USE_GDCM2) + + +#----------------------------------------------------------------------------- + #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- @@ -239,12 +249,12 @@ ENDIF(USE_DOXYGEN) #----------------------------------------------------------------------------- -IF(USE_LATEX) +IF(USE_LATEX) IF (NOT LATEX_COMPILER) FIND_PACKAGE(LATEX REQUIRED) MESSAGE ( STATUS "=======================================") MESSAGE(STATUS "Looking for latex... - found ${LATEX_COMPILER}") - IF (NOT LATEX_COMPILER) + IF (NOT LATEX_FOUND) MESSAGE(FATAL_ERROR "LATEX_COMPILER NOT FOUND. Example:latex (MacOS:/opt/local/bin/latex)") ENDIF (NOT LATEX_FOUND) ENDIF (NOT LATEX_COMPILER) @@ -267,39 +277,46 @@ IF(USE_TTH) ENDIF(NOT TTH_EXECUTABLE) ENDIF(USE_TTH) #----------------------------------------------------------------------------- - #----------------------------------------------------------------------------- IF(USE_BOOST) +message(STATUS "1") IF(NOT Boost_FOUND) - FIND_PACKAGE(Boost REQUIRED) + FIND_PACKAGE(Boost COMPONENTS filesystem signals date_time regex REQUIRED) IF(Boost_FOUND) + message(STATUS "1 bis") MESSAGE ( STATUS "=======================================") MESSAGE ( STATUS "Looking for boost C++ library... - found in ${Boost_INCLUDE_DIR}") INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS}) - LINK_DIRECTORIES( ${Boost_LIBRARY_DIRS} ) - - CREA_DEFINE( USE_BOOST ) + LINK_DIRECTORIES( ${Boost_LIBRARY_DIRS}) IF(WIN32) - - LINK_DIRECTORIES( ${Boost_INCLUDE_DIRS}/stage/lib) #JCP 01/10/2009 + message("creamacro find and use lib = ${Boost_LIBRARIES}") + - #message("creamacro find and use lib = ${Boost_SIGNALS_LIBRARY}") - IF(USE_DEBUG_LIB) - SET(BOOST_LIBRARIES - boost_signals-vc90-mt-gd-1_40 - boost_filesystem-vc90-mt-gd-1_40 - boost_date_time-vc90-mt-gd-1_40 - #what about boost_thread? JPR - ) - ELSE(NOT USE_DEBUG_LIB) - SET(BOOST_LIBRARIES - boost_signals-vc90-mt-1_40 - boost_filesystem-vc90-mt-1_40 - boost_date_time-vc90-mt-1_40 + CREA_DEFINE( USE_BOOST ) + + SET(BOOST_LIBRARIES + ${Boost_LIBRARIES} ) - ENDIF(USE_DEBUG_LIB) +# FCY with cmake boost, it's useless. +# But if it is not working, uncomment +# +# IF(USE_DEBUG_LIB) +# SET(BOOST_LIBRARIES +# boost_signals-vc90-mt-gd-1_40 +# boost_filesystem-vc90-mt-gd-1_40 +# boost_date_time-vc90-mt-gd-1_40 +# #what about boost_thread? JPR +# ) +# ELSE(NOT USE_DEBUG_LIB) +# SET(BOOST_LIBRARIES +# boost_signals-vc90-mt-1_40 +# boost_filesystem-vc90-mt-1_40 +# boost_date_time-vc90-mt-1_40 +# ) +# ENDIF(USE_DEBUG_LIB) ENDIF(WIN32) IF(NOT WIN32) + SET(BOOST_LIBRARIES boost_signals-mt boost_filesystem-mt @@ -311,13 +328,19 @@ IF(USE_BOOST) ) ENDIF(NOT WIN32) - MARK_AS_ADVANCED(Boost_INCLUDE_DIR) + MARK_AS_ADVANCED(Boost_INCLUDE_DIR) + MARK_AS_ADVANCED(Boost_LIBRARY_DIRS) + ELSE(Boost_FOUND) - MESSAGE(FATAL_ERROR "boost C++ library not found - Set Boost_INCLUDE_DIR to the directory containing boost headers") + message(STATUS "2") + MESSAGE( "boost C++ library not found - Set Boost_INCLUDE_DIR to the directory containing boost headers") ENDIF(Boost_FOUND) ENDIF(NOT Boost_FOUND) + message("${Boost_FOUND}") + + ENDIF(USE_BOOST) -#----------------------------------------------------------------------------- +#----------------------------------------------------------- IF(USE_XERCES) @@ -325,20 +348,20 @@ IF(USE_XERCES) IF(WIN32) SET(XERCES_LIB_DIR $ENV{XERCES_DIR}) - + IF(NOT XERCES_LIB_DIR) MESSAGE(FATAL_ERROR "XERCES_DIR not found") ELSE(NOT XERCES_LIB_DIR) - INCLUDE_DIRECTORIES( ${XERCES_LIB_DIR}/src ) - LINK_DIRECTORIES( ${XERCES_LIB_DIR}/Build/Win32/VC9/Debug ) + INCLUDE_DIRECTORIES( ${XERCES_LIB_DIR}/include ) + LINK_DIRECTORIES( ${XERCES_LIB_DIR}/lib ) ENDIF(NOT XERCES_LIB_DIR) IF(USE_DEBUG_LIB) - set(XERCES_LIBRARIES ${XERCES_LIB_DIR}/Build/Win32/VC9/Debug/xerces-c_3D) + set(XERCES_LIBRARIES xerces-c_3D) ELSE(USE_DEBUG_LIB) - set(XERCES_LIBRARIES ${XERCES_LIB_DIR}/Build/Win32/VC9/Release/xerces-c_3) + set(XERCES_LIBRARIES xerces-c_3) ENDIF(USE_DEBUG_LIB) MARK_AS_ADVANCED(XERCES_LIB_DIR) @@ -346,18 +369,21 @@ IF(USE_XERCES) IF(UNIX) - - SET(XERCES_LIBRARIES libxerces-c.so ) - INCLUDE_DIRECTORIES( /usr/local/include ) - LINK_DIRECTORIES( /usr/local/lib ) - #FIND_PACKAGE(Xerces) - # Use if found - #IF(Xerces_FOUND) - # INCLUDE_DIRECTORIES( ${XERCES_INCLUDE_DIR} ) - #ENDIF(Xerces_FOUND) - ENDIF(UNIX) - - + IF(APPLE) + SET(XERCES_LIBRARIES xerces-c ) + INCLUDE_DIRECTORIES( /opt/local/include ) + LINK_DIRECTORIES( /opt/local/lib ) + ELSEIF(APPLE) + SET(XERCES_LIBRARIES libxerces-c.so ) + INCLUDE_DIRECTORIES( /usr/local/include ) + LINK_DIRECTORIES( /usr/local/lib /usr/lib) + #FIND_PACKAGE(Xerces) + # Use if found + #IF(Xerces_FOUND) + # INCLUDE_DIRECTORIES( ${XERCES_INCLUDE_DIR} ) + #ENDIF(Xerces_FOUND) + ENDIF(APPLE) + ENDIF(UNIX) ENDIF(USE_XERCES)