#--------------------------------------------------------------------------- # If not a core package must include necessary cmake scripts IF(NOT BBTK_CORE_PACKAGE) # INCLUDE(${BBTK_CMAKE_DIR}/BBTKBuildAllOption.cmake) INCLUDE(${BBTK_CMAKE_DIR}/BBTKMacros.cmake) INCLUDE(${BBTK_CMAKE_DIR}/BBTKFindLibraries.cmake) #------------------------------------------------------------------------- # Configure bbtk_config_build.xml.in for bbi to find the bbs INCLUDE(${BBTK_CMAKE_DIR}/BBTKConfigureBbtkConfigXmlForBuildTree.cmake) #------------------------------------------------------------------------- # ENDIF(NOT BBTK_CORE_PACKAGE) #--------------------------------------------------------------------------- #----------------------------------------------------------------------------- SET(${BBTK_PACKAGE_NAME}_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- # DOES THE USER WANT TO BUILD THE PACKAGE ? OPTION(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME} "Build the bbtk package ${BBTK_PACKAGE_NAME} ?" OFF) SWITCH_ON_IF_BUILD_ALL(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}) #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- # Package dependencies SET(${BBTK_PACKAGE_NAME}_DEPS bb${BBTK_PACKAGE_NAME}) STRING(REGEX MATCH "${${BBTK_PACKAGE_NAME}_DEPS}" ${BBTK_PACKAGE_NAME}_IN_DEPS "${BBTK_PACKAGES_DEPS}") ENDIF(UNIX) #----------------------------------------------------------------------------- #SET(BBTK_PACKAGES_DEPS "" CACHE INTERNAL "bbtk packages dependencies" FORCE) #----------------------------------------------------------------------------- # IF THE USER HAS CHOSEN TO BUILD THE PACKAGE IF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}) #--------------------------------------------------------------------------- #---------------------------------------------------------------------------- # VARS CONFIGURED IN bbPackage.h AND IN doc/bbdoc/header.html.in SET(BBTK_PACKAGE_AUTHOR "${${BBTK_PACKAGE_NAME}_AUTHOR}") SET(BBTK_PACKAGE_DESCRIPTION "${${BBTK_PACKAGE_NAME}_DESCRIPTION}") SET(BBTK_PACKAGE_MAJOR_VERSION ${${BBTK_PACKAGE_NAME}_MAJOR_VERSION}) SET(BBTK_PACKAGE_MINOR_VERSION ${${BBTK_PACKAGE_NAME}_MINOR_VERSION}) SET(BBTK_PACKAGE_BUILD_VERSION ${${BBTK_PACKAGE_NAME}_BUILD_VERSION}) SET(BBTK_PACKAGE_VERSION "\"${${BBTK_PACKAGE_NAME}_MAJOR_VERSION}.${${BBTK_PACKAGE_NAME}_MINOR_VERSION}.${${BBTK_PACKAGE_NAME}_BUILD_VERSION}\"") #---------------------------------------------------------------------------- #--------------------------------------------------------------------------- # If package deps not in global deps : add them IF(NOT ${BBTK_PACKAGE_NAME}_IN_DEPS) SET(BBTK_PACKAGES_DEPS "${${BBTK_PACKAGE_NAME}_DEPS};${BBTK_PACKAGES_DEPS}" CACHE INTERNAL "bbtk packages dependencies" FORCE) # MESSAGE(STATUS "Packages=${BBTK_PACKAGES_DEPS}") ENDIF(NOT ${BBTK_PACKAGE_NAME}_IN_DEPS) #--------------------------------------------------------------------------- #--------------------------------------------------------------------------- # Package dependencies IF(${BBTK_PACKAGE_NAME}_USE_VTK) SET(USE_VTK ON CACHE BOOL "Use VTK" FORCE) SET(${BBTK_PACKAGE_NAME}_LIBS ${${BBTK_PACKAGE_NAME}_LIBS} ${BBTK_VTK_LIBRARIES} ) ENDIF(${BBTK_PACKAGE_NAME}_USE_VTK) IF(${BBTK_PACKAGE_NAME}_USE_ITK) SET(USE_ITK ON CACHE BOOL "Use ITK" FORCE) SET(${BBTK_PACKAGE_NAME}_LIBS ${${BBTK_PACKAGE_NAME}_LIBS} ${BBTK_ITK_LIBRARIES} ) ENDIF(${BBTK_PACKAGE_NAME}_USE_ITK) IF(${BBTK_PACKAGE_NAME}_USE_GDCM) SET(USE_GDCM ON CACHE BOOL "Use GDCM" FORCE) SET(${BBTK_PACKAGE_NAME}_LIBS ${${BBTK_PACKAGE_NAME}_LIBS} ${BBTK_GDCM_LIBRARIES} ) ENDIF(${BBTK_PACKAGE_NAME}_USE_GDCM) IF(${BBTK_PACKAGE_NAME}_USE_GSMIS) SET(USE_GSMIS ON CACHE BOOL "Use GSMIS" FORCE) SET(${BBTK_PACKAGE_NAME}_LIBS ${${BBTK_PACKAGE_NAME}_LIBS} ${BBTK_GSMIS_LIBRARIES} ) ENDIF(${BBTK_PACKAGE_NAME}_USE_GSMIS) IF(${BBTK_PACKAGE_NAME}_USE_WXWIDGETS) IF(BBTK_CORE_PACKAGE) SET(BBTK_USE_WXWIDGETS ON CACHE BOOL "Use wxWidgets" FORCE) MESSAGE(STATUS "BBTK_USE_WXWIDGETS forced to ON by the compilation of the package ${BBTK_PACKAGE_NAME}") # bbtk already links against wx ... # SET(${BBTK_PACKAGE_NAME}_LIBS # ${${BBTK_PACKAGE_NAME}_LIBS} # ${BBTK_WXWIDGETS_LIBRARIES} # ) ELSE(BBTK_CORE_PACKAGE) # If linking against a non-wx bbtk : problem IF(NOT BBTK_USE_WXWIDGETS) MESSAGE(FATAL_ERROR "The bbtk package ${BBTK_PACKAGE_NAME} needs wxWidgets however the bbtk library which was found on your system was not compiled with wxWidgets : recompile it and rebuild the package.") ELSE(NOT BBTK_USE_WXWIDGETS) SET(USE_WXWIDGETS ON CACHE BOOL "Use wxWidgets" FORCE) ENDIF(NOT BBTK_USE_WXWIDGETS) ENDIF(BBTK_CORE_PACKAGE) ENDIF(${BBTK_PACKAGE_NAME}_USE_WXWIDGETS) #--------------------------------------------------------------------------- #--------------------------------------------------------------------------- # Recurse into subdirs SUBDIRS(src) SUBDIRS(doc) SUBDIRS(bbs) #--------------------------------------------------------------------------- #--------------------------------------------------------------------------- ELSE(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}) #------------------------------------------------------------------------- #----------------------------------------------------------------------- # If package deps in global deps : reset global deps IF(${BBTK_PACKAGE_NAME}_IN_DEPS) SET(BBTK_PACKAGES_DEPS "" CACHE INTERNAL "bbtk packages dependencies" FORCE) # STRING(REPLACE "${${BBTK_PACKAGE_NAME}_DEPS};" # "" TEMP # ${BBTK_PACKAGES_DEPS}) # # SET(BBTK_PACKAGES_DEPS ${TEMP} # CACHE INTERNAL "bbtk packages dependencies" FORCE) ENDIF(${BBTK_PACKAGE_NAME}_IN_DEPS) #----------------------------------------------------------------------- #----------------------------------------------------------------------- # Remove the package include scripts to avoid loading it by include * FILE(REMOVE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}.bbs) FILE(REMOVE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}-appli.bbs) #----------------------------------------------------------------------- #--------------------------------------------------------------------------- ENDIF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}) #----------------------------------------------------------------------------- # EOF #-----------------------------------------------------------------------------