]> Creatis software - bbtk.git/blobdiff - kernel/cmake/BBTKConfigurePackage.cmake
*** empty log message ***
[bbtk.git] / kernel / cmake / BBTKConfigurePackage.cmake
index 7b53b5430791fe94a237826fe5b8ebe309a89d8b..406b17f70870cc80d349e2e06ad52400fa2b9aa2 100644 (file)
@@ -1,3 +1,4 @@
+
 #---------------------------------------------------------------------------
 # If not a core package must include necessary cmake scripts
 IF(NOT BBTK_CORE_PACKAGE)
@@ -13,11 +14,23 @@ 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)
 #-----------------------------------------------------------------------------
   
 #-----------------------------------------------------------------------------
@@ -35,12 +48,25 @@ ENDIF(UNIX)
 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 "deps=${BBTK_PACKAGES_DEPS}")
+ #   MESSAGE(STATUS "Packages=${BBTK_PACKAGES_DEPS}")
   ENDIF(NOT ${BBTK_PACKAGE_NAME}_IN_DEPS)
   #---------------------------------------------------------------------------
 
@@ -48,32 +74,32 @@ MESSAGE(STATUS "deps=${BBTK_PACKAGES_DEPS}")
   # 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)
@@ -83,37 +109,32 @@ MESSAGE(STATUS "deps=${BBTK_PACKAGES_DEPS}")
       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})
-  #----------------------------------------------------------------------------
   
   
   #---------------------------------------------------------------------------
@@ -121,21 +142,24 @@ MESSAGE(STATUS "deps=${BBTK_PACKAGES_DEPS}")
   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)
   #-----------------------------------------------------------------------