X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=cmake%2FCREAMacro_FindAndUseLibraries.cmake;h=b6935c28d3f12416099c405e0a8ea2bccde63149;hb=41e6b6003e71b53e28c72925442eaec6469c736e;hp=668dadce32e7565ab6b3efaf7885a397fed19de3;hpb=1791e7ca5480b33709c85a85926bc424fa142c24;p=crea.git diff --git a/cmake/CREAMacro_FindAndUseLibraries.cmake b/cmake/CREAMacro_FindAndUseLibraries.cmake index 668dadc..b6935c2 100644 --- a/cmake/CREAMacro_FindAndUseLibraries.cmake +++ b/cmake/CREAMacro_FindAndUseLibraries.cmake @@ -1,6 +1,8 @@ MACRO(CREA_FIND_AND_USE_LIBRARIES) +#MESSAGE(ERROR "EED CREAMacrp_FindAndUseLibraries") +set(USE_DEBUG_LIB "" CACHE BOOL "Use Debug Libraries" ) #----------------------------------------------------------------------------- # If one can invoke this macro then crea has already been found !! @@ -120,13 +122,13 @@ IF(USE_GDCM) IF(GDCM_FOUND) INCLUDE(${GDCM_USE_FILE}) CREA_DEFINE( USE_GDCM ) - + MESSAGE ( STATUS "=======================================") MESSAGE ( STATUS "Looking for GDCM... found") MESSAGE ( STATUS "* Dir = ${GDCM_DIR}") MESSAGE ( STATUS "* Version = ${GDCM_MAJOR_VERSION}.${GDCM_MINOR_VERSION}.${GDCM_BUILD_VERSION}") MESSAGE ( STATUS "* Namespace = ${GDCM_NAME_SPACE}") - + # 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) @@ -134,13 +136,13 @@ IF(USE_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) - + SET(GDCM_LIBRARIES ${GDCM_LIBRARIES} ) - + # TODO : Test that GDCM was built with option "vtkgdcm" IF(USE_GDCM_VTK) IF(USE_VTK) @@ -155,22 +157,18 @@ IF(USE_GDCM) 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 "=======================================") @@ -181,39 +179,36 @@ 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) - - 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 + vtkgdcm + gdcm2vtk ) ENDIF(USE_VTK) ENDIF(USE_GDCM_VTK) - ENDIF(GDCM_FOUND) - ENDIF(NOT GDCM_FOUND) + ENDIF(USE_GDCM2) + + +#----------------------------------------------------------------------------- + #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- IF(USE_WXWIDGETS) IF(NOT wxWidgets_FOUND) INCLUDE(${CREA_CMAKE_DIR}/CREAMacro_FindAndUseWxWidgets.cmake) - CREA_FIND_WXWIDGETS() + CREA_FIND_WXWIDGETS(${USE_DEBUG_LIB}) CREA_USE_WXWIDGETS() ENDIF(NOT wxWidgets_FOUND) ENDIF(USE_WXWIDGETS) @@ -237,11 +232,14 @@ 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_FOUND) + MESSAGE(FATAL_ERROR "LATEX_COMPILER NOT FOUND. Example:latex (MacOS:/opt/local/bin/latex)") + ENDIF (NOT LATEX_FOUND) ENDIF (NOT LATEX_COMPILER) ENDIF(USE_LATEX) @@ -266,80 +264,94 @@ ENDIF(USE_TTH) #----------------------------------------------------------------------------- IF(USE_BOOST) IF(NOT Boost_FOUND) - - find_package( Boost 1.37.0 COMPONENTS signals date_time filesystem system ) - - IF(Boost_FOUND) - MESSAGE ( STATUS "=======================================") - MESSAGE ( STATUS "Looking for boost C++ library... - found in ${Boost_INCLUDE_DIR}") - INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS}) - LINK_DIRECTORIES( ${Boost_LIBRARY_DIRS} ) - #target_link_libraries(${Boost_LIBRARIES}) - ELSE(Boost_FOUND) - MESSAGE(FATAL_ERROR "boost C++ library not found - Set Boost_INCLUDE_DIR to the directory containing boost headers") - ENDIF(Boost_FOUND) - # CREA_DEFINE( USE_BOOST ) -# include_directories(${Boost_INCLUDE_DIRS}) - # add_executable(foo foo.cc) - # target_link_libraries(foo ${Boost_LIBRARIES}) - # endif() - - # FIND_PACKAGE(Boost REQUIRED) - # IF(Boost_FOUND) - # 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 ) - # IF(WIN32) + FIND_PACKAGE(Boost REQUIRED) + IF(Boost_FOUND) + 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 ) + IF(WIN32) - # LINK_DIRECTORIES( ${Boost_INCLUDE_DIRS}/stage/lib) #JCP 01/10/2009 - # #LINK_DIRECTORIES( ${Boost_LIBRARY_DIRS}) - # #MESSAGE ("EED " ${Boost_LIBRARY_DIRS}) - # #libboost_signals-vc71-mt-1_37 - # #libboost_filesystem-vc71-mt-1_37 - # #boost_date_time-vc71-mt-1_37 - - # #message("creamacro find and use lib = ${Boost_SIGNALS_LIBRARY}") - # SET(BOOST_LIBRARIES - # boost_signals-vc90-mt-1_40 - # boost_filesystem-vc90-mt-1_40 - # boost_date_time-vc90-mt-1_40 - - # #what about boost_thread? JPR - # ) - # ENDIF(WIN32) - # IF(NOT WIN32) - # IF(APPLE) - # SET(BOOST_LIBRARIES - # boost_signals - # boost_filesystem - # boost_date_time - # boost_program_options - # boost_regex - # boost_thread - # ) - # ELSE(NOT APPLE) - # SET(BOOST_LIBRARIES - # boost_signals-mt - # boost_filesystem-mt - # boost_date_time-mt - # boost_system-mt - # boost_program_options-mt - # boost_regex-mt - # boost_thread-mt - # ) - # ENDIF(APPLE) - # ENDIF(NOT WIN32) - - # MARK_AS_ADVANCED(Boost_INCLUDE_DIR) - # ELSE(Boost_FOUND) - # MESSAGE(FATAL_ERROR "boost C++ library not found - Set Boost_INCLUDE_DIR to the directory containing boost headers") - # ENDIF(Boost_FOUND) + LINK_DIRECTORIES( ${Boost_INCLUDE_DIRS}/Bin/lib) + #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 + ) + ENDIF(USE_DEBUG_LIB) + ENDIF(WIN32) + IF(NOT WIN32) + SET(BOOST_LIBRARIES + boost_signals-mt + boost_filesystem-mt + boost_date_time-mt + boost_system-mt + boost_program_options-mt + boost_regex-mt + boost_thread-mt + ) + ENDIF(NOT WIN32) + + MARK_AS_ADVANCED(Boost_INCLUDE_DIR) + ELSE(Boost_FOUND) + MESSAGE(FATAL_ERROR "boost C++ library not found - Set Boost_INCLUDE_DIR to the directory containing boost headers") + ENDIF(Boost_FOUND) ENDIF(NOT Boost_FOUND) ENDIF(USE_BOOST) #----------------------------------------------------------------------------- +IF(USE_XERCES) + + # FIND 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 ) + + ENDIF(NOT XERCES_LIB_DIR) + + IF(USE_DEBUG_LIB) + set(XERCES_LIBRARIES ${XERCES_LIB_DIR}/Build/Win32/VC9/Debug/xerces-c_3D) + ELSE(USE_DEBUG_LIB) + set(XERCES_LIBRARIES ${XERCES_LIB_DIR}/Build/Win32/VC9/Release/xerces-c_3) + ENDIF(USE_DEBUG_LIB) + + MARK_AS_ADVANCED(XERCES_LIB_DIR) + ENDIF(WIN32) + + + 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) + + + +ENDIF(USE_XERCES) + ENDMACRO(CREA_FIND_AND_USE_LIBRARIES)