X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fcmake%2FBBTKConfigurePackage.cmake;h=406b17f70870cc80d349e2e06ad52400fa2b9aa2;hb=b60f4996d8155665b79e20f85999f287bf1d73d3;hp=dfcc6b108d62d8a157081dbba7d87139e6c3bdf3;hpb=9244821a79f4853a78564d37b993b48d4b2ad4e9;p=bbtk.git diff --git a/kernel/cmake/BBTKConfigurePackage.cmake b/kernel/cmake/BBTKConfigurePackage.cmake index dfcc6b1..406b17f 100644 --- a/kernel/cmake/BBTKConfigurePackage.cmake +++ b/kernel/cmake/BBTKConfigurePackage.cmake @@ -1,3 +1,4 @@ + #--------------------------------------------------------------------------- # If not a core package must include necessary cmake scripts IF(NOT BBTK_CORE_PACKAGE) @@ -13,37 +14,59 @@ IF(NOT BBTK_CORE_PACKAGE) ENDIF(NOT BBTK_CORE_PACKAGE) #--------------------------------------------------------------------------- +#---------------------------------------------------------------------------- +# USER DEFINED ADDITIONAL INCLUDE DIRS +INCLUDE_DIRECTORIES(${${BBTK_PACKAGE_NAME}_INCLUDE_DIRS}) +#---------------------------------------------------------------------------- + + +#----------------------------------------------------------------------------- +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}) +IF(NOT ${BBTK_PACKAGE_NAME}_EXCLUDE_FROM_BUILD_ALL) + SWITCH_ON_IF_BUILD_ALL(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}) +ENDIF(NOT ${BBTK_PACKAGE_NAME}_EXCLUDE_FROM_BUILD_ALL) #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- # Package dependencies -#IF(UNIX) SET(${BBTK_PACKAGE_NAME}_DEPS bb${BBTK_PACKAGE_NAME}) -#${EXECUTABLE_OUTPUT_PATH}/libbb${BBTK_PACKAGE_NAME}.so) -#ELSE(UNIX) -#SET(${BBTK_PACKAGE_NAME}_DEPS ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}.bbs) -#ENDIF(UNIX) 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) #--------------------------------------------------------------------------- @@ -51,32 +74,32 @@ IF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}) # Package dependencies IF(${BBTK_PACKAGE_NAME}_USE_VTK) SET(USE_VTK ON CACHE BOOL "Use VTK" FORCE) - SET(BBTK_PACKAGE_LIBS - ${BBTK_PACKAGE_LIBS} + 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_LIBS - ${BBTK_PACKAGE_LIBS} + 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_LIBS - ${BBTK_PACKAGE_LIBS} + 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_LIBS - ${BBTK_PACKAGE_LIBS} + SET(${BBTK_PACKAGE_NAME}_LIBS + ${${BBTK_PACKAGE_NAME}_LIBS} ${BBTK_GSMIS_LIBRARIES} ) ENDIF(${BBTK_PACKAGE_NAME}_USE_GSMIS) @@ -86,37 +109,32 @@ IF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}) 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_LIBS - # ${BBTK_PACKAGE_LIBS} - # ${BBTK_WXWIDGETS_LIBRARIES} - # ) + IF(WIN32) + SET(${BBTK_PACKAGE_NAME}_LIBS + ${${BBTK_PACKAGE_NAME}_LIBS} + ${BBTK_WXWIDGETS_LIBRARIES} + ) + ENDIF(WIN32) ELSE(BBTK_CORE_PACKAGE) # If linking against a non-wx bbtk : problem - IF(NOT BBTK_USE_WXWIDGETS) + IF(NOT BBTK_BUILT_WITH_WX) 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) + ELSE(NOT BBTK_BUILT_WITH_WX) SET(USE_WXWIDGETS ON CACHE BOOL "Use wxWidgets" FORCE) - ENDIF(NOT BBTK_USE_WXWIDGETS) +# bbtk already links against wx ... + IF(WIN32) + SET(${BBTK_PACKAGE_NAME}_LIBS + ${${BBTK_PACKAGE_NAME}_LIBS} + ${BBTK_WXWIDGETS_LIBRARIES} + ) + ENDIF(WIN32) + ENDIF(NOT BBTK_BUILT_WITH_WX) ENDIF(BBTK_CORE_PACKAGE) ENDIF(${BBTK_PACKAGE_NAME}_USE_WXWIDGETS) #--------------------------------------------------------------------------- - #---------------------------------------------------------------------------- - # DEFINES ${PACKAGE_NAME}_AUTHOR - # ADD_DEFINITIONS( -D${PACKAGE_NAME}_AUTHOR="${PACKAGE_AUTHOR}") - #---------------------------------------------------------------------------- - #---------------------------------------------------------------------------- - # DEFINES ${PACKAGE_NAME}_DESCRIPTION - # ADD_DEFINITIONS( -D${PACKAGE_NAME}_DESCRIPTION="${PACKAGE_DESCRIPTION}") - #---------------------------------------------------------------------------- - #---------------------------------------------------------------------------- - # DEFINES ${BBTK_PACKAGE_NAME}_VERSION - SET(BBTK_PACKAGE_VERSION - "${BBTK_PACKAGE_MAJOR_VERSION}.${BBTK_PACKAGE_MINOR_VERSION}.${BBTK_PACKAGE_BUILD_VERSION}") - #ADD_DEFINITIONS( -D${BBTK_PACKAGE_NAME}_VERSION=${BBTK_PACKAGE_VERSION}) - #---------------------------------------------------------------------------- #--------------------------------------------------------------------------- @@ -124,24 +142,33 @@ IF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}) SUBDIRS(src) SUBDIRS(doc) SUBDIRS(bbs) -#--------------------------------------------------------------------------- + SUBDIRS(data) + #--------------------------------------------------------------------------- #--------------------------------------------------------------------------- ELSE(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}) #------------------------------------------------------------------------- #----------------------------------------------------------------------- - # If package deps in global deps : remove them + # If package deps in global deps : reset global deps IF(${BBTK_PACKAGE_NAME}_IN_DEPS) - STRING(REPLACE "${${BBTK_PACKAGE_NAME}_DEPS};" - "" TEMP - ${BBTK_PACKAGES_DEPS}) - - SET(BBTK_PACKAGES_DEPS ${TEMP} - CACHE INTERNAL "bbtk packages dependencies" FORCE) + 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})