]> Creatis software - bbtk.git/blobdiff - kernel/cmake/BBTKConfigurePackage.cmake
*** empty log message ***
[bbtk.git] / kernel / cmake / BBTKConfigurePackage.cmake
index 0e5fe48af918f772599a35f35f0065951a16d78c..1faac169a00a98b6e9369f60381e43c828e6ddaa 100644 (file)
 #---------------------------------------------------------------------------
-# 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 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)
+#---------------------------------------------------------------------------
 
-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)
+#-----------------------------------------------------------------------------
+# 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(${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 THE USER HAS CHOSEN TO BUILD THE PACKAGE
+IF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME})
+  #---------------------------------------------------------------------------
 
-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)
+  #---------------------------------------------------------------------------
+  # 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)
+    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_LIBS
+      #      ${BBTK_PACKAGE_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)
 
-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)
 
+  #---------------------------------------------------------------------------
 
+  #----------------------------------------------------------------------------
+  # 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)
 #---------------------------------------------------------------------------
 
 
 
-
-#----------------------------------------------------------------------------
-# 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})
-#----------------------------------------------------------------------------
-
+#---------------------------------------------------------------------------
+ENDIF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME})
+#-----------------------------------------------------------------------------
+# EOF
+#-----------------------------------------------------------------------------