#---------------------------------------------------------------------------
+# 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
-IF(${BBTK_PACKAGE_NAME}_USE_VTK)
- SET(USE_VTK ON CACHE BOOL "Use VTK" FORCE)
- SET(BBTK_PACKAGE_LIBS
- ${BBTK_PACKAGE_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}
- ${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}
- ${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}
- ${BBTK_GSMIS_LIBRARIES}
- )
-ENDIF(${BBTK_PACKAGE_NAME}_USE_GSMIS)
-
-IF(${BBTK_PACKAGE_NAME}_USE_WXWIDGETS)
- 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}
- # )
-ENDIF(${BBTK_PACKAGE_NAME}_USE_WXWIDGETS)
+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)
-#----------------------------------------------------------------------------
-# 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})
-#----------------------------------------------------------------------------
+ #---------------------------------------------------------------------------
+
+
+ #---------------------------------------------------------------------------
+ # 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
+#-----------------------------------------------------------------------------