X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=cmake%2FCREAMacro_FindAndUseLibraries.cmake;h=d60b46335c289a02b948c1ab750045fb928a3336;hb=5139c575b9d3d4a58427b17db6a37ca26e3470d0;hp=b6935c28d3f12416099c405e0a8ea2bccde63149;hpb=41e6b6003e71b53e28c72925442eaec6469c736e;p=crea.git diff --git a/cmake/CREAMacro_FindAndUseLibraries.cmake b/cmake/CREAMacro_FindAndUseLibraries.cmake index b6935c2..d60b463 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" ) #----------------------------------------------------------------------------- @@ -21,6 +26,7 @@ ENDIF(USE_CREA) #----------------------------------------------------------------------------- + IF(USE_QT4) IF(NOT QT_FOUND) @@ -35,13 +41,18 @@ IF(USE_QT4) INCLUDE(${QT_USE_FILE}) CREA_DEFINE( USE_QT ) - # SET(QT_LIBRARIES - # ${QT_LIBRARIES} - # ) - # MARK_AS_ADVANCED(Qt4_DIR) + ENDIF(QT_FOUND) ENDIF(NOT QT_FOUND) ENDIF(USE_QT4) + + +#JFGA Pruebas WT + +MESSAGE ( "======================================= SET CMAKE USE_WT JFGA CREAMacro_FindAndUseLibraries.cmake") +SET(USE_WT ON) + + #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- @@ -80,7 +91,10 @@ IF(USE_KWWIDGETS) ENDIF(USE_KWWIDGETS) #----------------------------------------------------------------------------- - +# --- W A R N I N G : +# Always let ITK *BEFORE* GDCM +# It allows to use 'system installed gdcm' instead of 'itk embedded gdcm' +# #----------------------------------------------------------------------------- IF(USE_ITK) @@ -97,9 +111,15 @@ IF(USE_ITK) INCLUDE(${ITK_USE_FILE}) CREA_DEFINE( USE_ITK ) CREA_DEFINE( _USE_ITK_ ) - SET(ITK_LIBRARIES - ITKCommon ITKIO ITKBasicFilters ITKAlgorithms - ) + If (${ITK_VERSION_MAJOR} MATCHES "4") + MESSAGE ( STATUS "* Version = ${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}.${ITK_VERSION_PATCH}") + SET(ITK_LIBRARIES + ${ITK_LIBRARIES}) + MESSAGE ( STATUS "${ITK_LIBRARIES}") + ELSEIF() + SET(ITK_LIBRARIES + ITKCommon ITKIO ITKBasicFilters ITKAlgorithms) + ENDIF() MARK_AS_ADVANCED(ITK_DIR) ELSE(ITK_FOUND) message(FATAL_ERROR "ITK_DIR not found") @@ -110,6 +130,7 @@ ENDIF(USE_ITK) #----------------------------------------------------------------------------- + IF(USE_GDCM) IF (USE_GDCM2) MESSAGE(ERROR "CANNOT USE BOTH gdcm AND gdcm2 !") @@ -152,14 +173,24 @@ 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 (USE_GDCM) + MESSAGE(ERROR "CANNOT USE BOTH gdcm AND gdcm2 !") + ENDIF (USE_GDCM) + +# IF(NOT USE_ITK) # JPR : ITK vs GDCM (avoid cmake break) # Search GDCM2 + FIND_PACKAGE(GDCM REQUIRED) INCLUDE(${GDCM_USE_FILE}) @@ -179,31 +210,59 @@ 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 ! - - + INCLUDE_DIRECTORIES(${GDCM_INCLUDE_DIRS}) + LINK_DIRECTORIES( ${GDCM_LIBRARY_DIRS}) + SET(GDCM2_LIBRARIES ${GDCM_LIBRARIES} ) IF(USE_GDCM_VTK) IF(USE_VTK) - SET(GDCM_LIBRARIES - ${GDCM_LIBRARIES} - vtkgdcm - gdcm2vtk - ) + IF(WIN32) + SET(GDCM_LIBRARIES + ${GDCM_LIBRARIES} + vtkgdcm + gdcmIOD + gdcmMSFF + gdcmexpat + gdcmCommon + gdcmMEXD + gdcmexpat + gdcmDSED + gdcmDICT + gdcmjpeg8 + gdcmjpeg12 + gdcmjpeg16 + socketxx + gdcmopenjpeg + gdcmcharls + ) + ELSE(WIN32) + SET(GDCM_LIBRARIES + ${GDCM_LIBRARIES} + vtkgdcm + gdcmIOD + ) + ENDIF(WIN32) + ENDIF(USE_VTK) ENDIF(USE_GDCM_VTK) - + # ENDIF(NOT USE_ITK) # JPR : ITK vs GDCM (avoid cmake break) ENDIF(USE_GDCM2) - - #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- +#-------------------- JFGA --- +IF(USE_WT) + MESSAGE ( "======================================= JFGA ------------USE WT CREAMacro_FindAndUseLibraries.cmake") + INCLUDE(${CREA_CMAKE_DIR}/CREAMacro_FindAndUseWt.cmake) + CREA_FINDANDUSEWT() +ENDIF(USE_WT) + #----------------------------------------------------------------------------- IF(USE_WXWIDGETS) IF(NOT wxWidgets_FOUND) @@ -260,56 +319,76 @@ IF(USE_TTH) ENDIF(NOT TTH_EXECUTABLE) ENDIF(USE_TTH) #----------------------------------------------------------------------------- - #----------------------------------------------------------------------------- IF(USE_BOOST) IF(NOT Boost_FOUND) - FIND_PACKAGE(Boost REQUIRED) - IF(Boost_FOUND) + add_definitions( -DBOOST_ALL_NO_LIB ) + add_definitions( -DBOOST_ALL_DYN_LINK ) + FIND_PACKAGE(Boost COMPONENTS filesystem system signals date_time thread regex program_options REQUIRED) + IF(Boost_FOUND) + ADD_DEFINITIONS(-DBOOST_FILESYSTEM_VERSION=3) 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}/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 + CREA_DEFINE( USE_BOOST ) + ADD_DEFINITIONS(-DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED) + SET(BOOST_LIBRARIES + ${Boost_LIBRARIES} ) - 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) + +# 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 - boost_date_time-mt - boost_system-mt - boost_program_options-mt - boost_regex-mt - boost_thread-mt + + ${Boost_LIBRARIES} +#EED 10 Fev 2014 +#EED boost_system-mt +#EED boost_thread-mt +#EED boost_program_options-mt + +#EED 03 mars 2011 +#EED boost_signals-mt +#EED boost_filesystem-mt +#EED boost_date_time-mt +#EED boost_system-mt +#EED boost_program_options-mt +#EED boost_regex-mt +#EED boost_thread-mt + ) 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 "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) @@ -317,20 +396,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) @@ -338,18 +417,22 @@ 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 ) +#JCP 10/01/11 + ELSE(NOT APPLE) + SET(XERCES_LIBRARIES xerces-c ) + 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)