X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fcmake%2FBBTKFindLibraries.cmake;h=1763d8337f40c917ebee2e41b71f7dc99df57019;hb=62f21094493592cc2ccf1f105db791fb0ebbe2d0;hp=5f4346c6877280b3de79510d0bbc3d5703420bb1;hpb=aeafe748c859675cf481bd9e5e5a5afa84a3fa52;p=bbtk.git diff --git a/kernel/cmake/BBTKFindLibraries.cmake b/kernel/cmake/BBTKFindLibraries.cmake index 5f4346c..1763d83 100644 --- a/kernel/cmake/BBTKFindLibraries.cmake +++ b/kernel/cmake/BBTKFindLibraries.cmake @@ -1,3 +1,5 @@ + + #----------------------------------------------------------------------------- #OPTION(USE_VTK "Build VTK-based black boxes" OFF) IF(USE_VTK) @@ -5,15 +7,20 @@ IF(USE_VTK) FIND_PACKAGE(VTK) # If vtk found IF(VTK_FOUND) - MESSAGE ( STATUS "VTK FOUND - VERSION = ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION}") + MESSAGE ( STATUS "Looking for VTK... found") + MESSAGE ( STATUS "* Dir = ${VTK_DIR}") + MESSAGE ( STATUS "* Version = ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION}") INCLUDE(${VTK_USE_FILE}) ADD_DEF( _USE_VTK_ ) SET(BBTK_VTK_LIBRARIES # vtkCommon vtkImaging vtkGraphics vtkRendering vtkFiltering vtkCommon vtkWidgets + vtkVolumeRendering # LG : removed vtkIO because conflict with itktiff lib in ITKIO ) MARK_AS_ADVANCED(VTK_DIR) + ELSE(VTK_FOUND) + message(FATAL_ERROR "VTK_DIR not found") ENDIF(VTK_FOUND) ENDIF(USE_VTK) #----------------------------------------------------------------------------- @@ -26,7 +33,9 @@ IF(USE_ITK) FIND_PACKAGE(ITK) # If itk found IF(ITK_FOUND) - MESSAGE ( STATUS "ITK FOUND - VERSION = ${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}.${ITK_VERSION_PATCH}") + MESSAGE ( STATUS "Looking for ITK... found") + MESSAGE ( STATUS "* Dir = ${ITK_DIR}") + MESSAGE ( STATUS "* Version = ${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}.${ITK_VERSION_PATCH}") INCLUDE(${ITK_USE_FILE}) ADD_DEF( _USE_ITK_ ) SET(BBTK_ITK_LIBRARIES @@ -89,10 +98,13 @@ IF(USE_ITK) IF ( itk_IMAGE_TYPE_DOUBLE ) ADD_DEF( BBTK_ITK_IMAGE_TYPE_double ) ENDIF ( itk_IMAGE_TYPE_DOUBLE ) + ELSE(ITK_FOUND) + message(FATAL_ERROR "ITK_DIR not found") ENDIF(ITK_FOUND) ENDIF(USE_ITK) #----------------------------------------------------------------------------- + #----------------------------------------------------------------------------- #OPTION(USE_GDCM "Build GDCM-based black boxes" OFF) IF(USE_GDCM) @@ -102,79 +114,38 @@ IF(USE_GDCM) IF(GDCM_FOUND) INCLUDE(${GDCM_USE_FILE}) ADD_DEF( _USE_GDCM_ ) + + MESSAGE ( STATUS "Looking for GDCM... found") + MESSAGE ( STATUS "* Dir = ${GDCM_DIR}") + MESSAGE ( STATUS "* Version = ${GDCM_VERSION_MAJOR}.${GDCM_VERSION_MINOR}.${GDCM_VERSION_PATCH}") + MESSAGE ( STATUS "* Namespace = ${GDCM_NAME_SPACE}") + SET(BBTK_GDCM_LIBRARIES # TO DO : USE GDCM LINK LIBRARIES !!! - libgdcm libgdcmjpeg8 libgdcmjpeg12libgdcmjpeg16 +# IF gdcm WAS NOT COMPILE WITH VTK THE ABOVE FORCED LINK WITH vtkgdcm DOES NOT WORK + ${GDCM_LIBRARIES} +#gdcm gdcmjpeg8 gdcmjpeg12 gdcmjpeg16 ) + + +# IF(USE_VTK ) +# SET(BBTK_GDCM_LIBRARIES +# ${BBTK_GDCM_LIBRARIES} +# vtkgdcm +# ) +# ENDIF(USE_VTK) + ENDIF(GDCM_FOUND) ENDIF(USE_GDCM) + #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- -#OPTION(USE_WXWIDGETS "Build wxWidgets-based black boxes" OFF) IF(USE_WXWIDGETS) - -IF(WIN32) - # Search WXWIDGETS - - # WXWINDOWS_LIBRARY = full path to the wxWindows library and linker flags on unix - # CMAKE_WX_CXX_FLAGS = compiler flags for building wxWindows - # WXWINDOWS_INCLUDE_PATH = include path of wxWindows - SET(WXWINDOWS_USE_GL 1) - - #wxWidgets build related stuff - SET(WXW_USE_DEBUG ON) - SET(WXW_USE_UNICODE OFF) - SET(WXW_USE_SHARED ON) - SET(WXW_USE_UNIV OFF) - SET(WXW_USE_MONO OFF) - SET(WXW_FILE_VERSION "28") - SET(WXW_VERSION "2.8") - - #CMake Options - # Why forcing verbosity ? - # SET(CMAKE_VERBOSE_MAKEFILE TRUE) - - INCLUDE (${BBTK_DIR}/BBTKFindWX_WIN.cmake) - # - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}${WXWIDGETS_CXX_FLAGS}") - SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}${WXWIDGETS_EXE_LINKER_FLAGS}") - ADD_DEFINITIONS( ${WXWIDGETS_DEFINITIONS} ) - # - INCLUDE_DIRECTORIES(${WXWIDGETS_INCLUDE_DIR}) - LINK_DIRECTORIES( ${WXWIDGETS_LINK_DIRECTORIES} ) - SET(THE_WXWIDGETS_LIBRARIES - ${WXWIDGETS_LIBRARIES} - debug msvcrtd - debug msvcprtd - optimized msvcrt - optimized msvcprt - ) -ENDIF(WIN32) -IF(UNIX) - # GTK2 - INCLUDE(${BBTK_DIR}/BBTKFindGTK2.cmake) - INCLUDE_DIRECTORIES(${GTK2_INCLUDE_DIRS}) - LINK_DIRECTORIES(${GTK2_LIBRARY_DIRS}) - LINK_LIBRARIES(${GTK2_LIBRARIES}) - # WX - # LG : Do not force but use what is installed ! - # SET(wxWidgets_USE_LIBS base core gl) - FIND_PACKAGE( wxWidgets REQUIRED) - INCLUDE( ${wxWidgets_USE_FILE} ) - MARK_AS_ADVANCED(wxWidgets_CONFIG_EXECUTABLE) - SET(THE_WXWIDGETS_LIBRARIES - ${GTK2_LIBRARIES} - ${wxWidgets_LIBRARIES} - ) -ENDIF(UNIX) - -ADD_DEF( _USE_WXWIDGETS_ ) -SET(BBTK_WXWIDGETS_LIBRARIES - ${THE_WXWIDGETS_LIBRARIES} - ) - + INCLUDE(${BBTK_CMAKE_DIR}/BBTKWxWidgets.cmake) + BBTK_FIND_WXWIDGETS() + BBTK_USE_WXWIDGETS() ENDIF(USE_WXWIDGETS) #----------------------------------------------------------------------------- @@ -202,7 +173,7 @@ ENDIF(USE_LATEX) #----------------------------------------------------------------------------- IF(USE_TTH) - FIND_FILE(LATEX_tth_CONVERTER NAME tth tth.exe PATHS . c:/Creatis/tth_exe/ ~/Creatis/tth ~/Creatis/tth_linux) + FIND_FILE(LATEX_tth_CONVERTER NAME tth tth.exe PATHS . $ENV{CREATIS}/tth_exe/ ~/Creatis/tth ~/Creatis/tth_linux) IF (NOT LATEX_tth_CONVERTER) MESSAGE(FATAL_ERROR "TTH not found (LATEX_tth_CONVERTER). Required to build the HTML documentation from tex source") ELSE (NOT LATEX_tth_CONVERTER) @@ -211,3 +182,33 @@ IF(USE_TTH) MARK_AS_ADVANCED(LATEX_tth_CONVERTER) ENDIF(USE_TTH) #----------------------------------------------------------------------------- + +#----------------------------------------------------------------------------- +IF(USE_BOOST) + IF(BBTK_USE_SHIPPED_BOOST) + MESSAGE(STATUS "bbtk uses shipped boost C++ library (${BBTK_SHIPPED_BOOST})") + INCLUDE_DIRECTORIES( + ${PROJECT_SOURCE_DIR}/kernel/src/ThirdParty/${BBTK_SHIPPED_BOOST}) + + # TO DO : CLEANLY BLOCK auto_link.hpp INCLUSION + #ADD_DEF(BOOST_SIGNALS_NO_LIB) + SET(BBTK_BOOST_LIBRARIES + bbtk_boost_signals + ) + + ELSE(BBTK_USE_SHIPPED_BOOST) + FIND_PACKAGE(Boost REQUIRED) + MARK_AS_ADVANCED(Boost_INCLUDE_DIR) + IF(Boost_FOUND) + MESSAGE(STATUS "Looking for boost C++ library... - found in ${Boost_INCLUDE_DIR}") + INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS}) + LINK_DIRECTORIES( ${Boost_LIBRARY_DIRS} ) + SET(BBTK_BOOST_LIBRARIES + boost_signals + ) + ELSE(Boost_FOUND) + MESSAGE(FATAL_ERRO "boost C++ library not found - either set Boost_INCLUDE_DIR or set BBTK_USE_SHIPPED_BOOST to ON to use shipped ${BBTK_SHIPPED_BOOST}") + ENDIF(Boost_FOUND) + ENDIF(BBTK_USE_SHIPPED_BOOST) +ENDIF(USE_BOOST) +#-----------------------------------------------------------------------------