#----------------------------------------------------------------------------- #OPTION(USE_VTK "Build VTK-based black boxes" OFF) IF(USE_VTK) # Search VTK FIND_PACKAGE(VTK) # If vtk found IF(VTK_FOUND) 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) #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- #OPTION(USE_ITK "Build ITK-based black boxes" OFF) IF(USE_ITK) # Search ITK FIND_PACKAGE(ITK) # If itk found IF(ITK_FOUND) 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 ITKCommon ITKIO ITKBasicFilters ITKAlgorithms ) MARK_AS_ADVANCED(ITK_DIR) # images compilation option OPTION ( itk_IMAGE_DIM_2 "itk : Compile 2D images" ON) OPTION ( itk_IMAGE_DIM_3 "itk : Compile 3D images" ON) OPTION ( itk_IMAGE_DIM_4 "itk : Compile 4D images" ON) OPTION ( itk_IMAGE_TYPE_CHAR "itk : Compile char images" ON) OPTION ( itk_IMAGE_TYPE_UCHAR "itk : Compile unsigned char images" ON) OPTION ( itk_IMAGE_TYPE_SHORT "itk : Compile short images" ON) OPTION ( itk_IMAGE_TYPE_USHORT "itk : Compile unsigned short images" ON) OPTION ( itk_IMAGE_TYPE_INT "itk : Compile int images" ON) OPTION ( itk_IMAGE_TYPE_UINT "itk : Compile unsigned int images" ON) OPTION ( itk_IMAGE_TYPE_FLOAT "itk : Compile float images" ON) OPTION ( itk_IMAGE_TYPE_DOUBLE "itk : Compile double images" ON) IF ( itk_IMAGE_DIM_2 ) ADD_DEF( BBTK_ITK_IMAGE_DIM_2 ) ENDIF ( itk_IMAGE_DIM_2 ) IF ( itk_IMAGE_DIM_3 ) ADD_DEF( BBTK_ITK_IMAGE_DIM_3 ) ENDIF ( itk_IMAGE_DIM_3 ) IF ( itk_IMAGE_DIM_4 ) ADD_DEF( BBTK_ITK_IMAGE_DIM_4 ) ENDIF ( itk_IMAGE_DIM_4 ) IF ( itk_IMAGE_TYPE_CHAR ) ADD_DEF( BBTK_ITK_IMAGE_TYPE_int8_t ) ENDIF ( itk_IMAGE_TYPE_CHAR ) IF ( itk_IMAGE_TYPE_UCHAR ) ADD_DEF( BBTK_ITK_IMAGE_TYPE_uint8_t ) ENDIF ( itk_IMAGE_TYPE_UCHAR ) IF ( itk_IMAGE_TYPE_SHORT ) ADD_DEF( BBTK_ITK_IMAGE_TYPE_int16_t ) ENDIF ( itk_IMAGE_TYPE_SHORT ) IF ( itk_IMAGE_TYPE_USHORT ) ADD_DEF( BBTK_ITK_IMAGE_TYPE_uint16_t ) ENDIF ( itk_IMAGE_TYPE_USHORT ) IF ( itk_IMAGE_TYPE_INT ) ADD_DEF( BBTK_ITK_IMAGE_TYPE_int32_t ) ENDIF ( itk_IMAGE_TYPE_INT ) IF ( itk_IMAGE_TYPE_UINT ) ADD_DEF( BBTK_ITK_IMAGE_TYPE_uint32_t ) ENDIF ( itk_IMAGE_TYPE_UINT ) IF ( itk_IMAGE_TYPE_FLOAT ) ADD_DEF( BBTK_ITK_IMAGE_TYPE_float ) ENDIF ( itk_IMAGE_TYPE_FLOAT ) 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) # Search GDCM FIND_PACKAGE(GDCM) # If gdcm found 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_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 (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") MARK_AS_ADVANCED(GDCM_DIR) SET(BBTK_GDCM_LIBRARIES # TO DO : USE GDCM LINK LIBRARIES !!! # 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) #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- IF(USE_WXWIDGETS) INCLUDE(${BBTK_CMAKE_DIR}/BBTKWxWidgets.cmake) BBTK_FIND_WXWIDGETS() BBTK_USE_WXWIDGETS() ENDIF(USE_WXWIDGETS) #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- IF(USE_DOXYGEN) FIND_PACKAGE(Doxygen REQUIRED) # MESSAGE(STATUS "Looking for doxygen... - found ${DOXYGEN}") IF(DOXYGEN) ELSE(DOXYGEN) MESSAGE(FATAL_ERROR "Doxygen not found. Required to build the doxygen documentation") ENDIF(DOXYGEN) ENDIF(USE_DOXYGEN) #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- IF(USE_DOT) IF(WIN32) FIND_PATH(DOT_DIR dot.exe PATHS $ENV{PATH} ) IF(NOT DOT_DIR) MESSAGE(FATAL_ERROR "Dot not found : set DOT_DIR to the folder containing dot.exe") ENDIF(NOT DOT_DIR) ENDIF(WIN32) ENDIF(USE_DOT) #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- IF(USE_LATEX) FIND_PACKAGE(LATEX REQUIRED) MESSAGE(STATUS "Looking for latex... - found ${LATEX_COMPILER}") ENDIF(USE_LATEX) #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- IF(USE_TTH) 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) MESSAGE(STATUS "Looking for tth... - found ${LATEX_tth_CONVERTER}") ENDIF(NOT LATEX_tth_CONVERTER) 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) #-----------------------------------------------------------------------------