]> Creatis software - bbtk.git/blobdiff - kernel/cmake/BBTKConfigurePackage_bbs.cmake
Added cmake option BUILD_BBS_APPLI_BINARIES which allows to compile package appli...
[bbtk.git] / kernel / cmake / BBTKConfigurePackage_bbs.cmake
index 808f1d3d3f4cdaddce1a6e2781c0e9a84e2963e0..17c24d4becee9aeba26777590e2112ef556a780f 100644 (file)
@@ -27,6 +27,7 @@ IF(${BBTK_PACKAGE_NAME}_INCLUDE_ALL_BBS_APPLI)
 ENDIF(${BBTK_PACKAGE_NAME}_INCLUDE_ALL_BBS_APPLI) 
 #----------------------------------------------------------------------------
 
+#----------------------------------------------------------------------------
 INCLUDE(${BBTK_CMAKE_DIR}/BBTKCreatePackageIncludeScript.cmake)
 
 BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT(
@@ -34,3 +35,47 @@ BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT(
   "${${BBTK_PACKAGE_NAME}_BBS_BOXES}"
   "${${BBTK_PACKAGE_NAME}_BBS_APPLI}"
   )
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+#---------------------------------------------------------------------------
+IF(BBTK_CORE_PACKAGE)
+  # If a core package set option from bbtk global one
+  IF (BUILD_BBS_APPLI_BINARIES)
+    SET(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_BBS_APP ON)
+  ELSE (BUILD_BBS_APPLI_BINARIES)
+    SET(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_BBS_APP OFF)
+  ENDIF (BUILD_BBS_APPLI_BINARIES)
+ELSE(BBTK_CORE_PACKAGE)
+  # If not a core package 
+  # Create the option
+  OPTION(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_BBS_APP 
+    "Build binaries for bbs applications of package ${BBTK_PACKAGE_NAME} ?" OFF)
+  SWITCH_ON_IF_BUILD_ALL(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_BBS_APP)
+ENDIF(BBTK_CORE_PACKAGE)
+#---------------------------------------------------------------------------
+
+
+IF (BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_BBS_APP)
+  FOREACH(bbs ${${BBTK_PACKAGE_NAME}_BBS_APPLI})  
+    GET_FILENAME_COMPONENT(name "${bbs}" NAME_WE) 
+    SET(OUTPUT bb${name})
+    ADD_CUSTOM_COMMAND(
+      OUTPUT ${BBTK_BIN_PATH}/${OUTPUT}
+      COMMAND 
+      cd ${BBTK_BIN_PATH} && ${BBTK_BBC} ${BBTK_PACKAGE_NAME}/appli/${name}
+      DEPENDS ${bbs}
+      ${BBTK_BBS2CPP_DEPENDENCY} 
+      )
+    INSTALL(
+      FILES ${BBTK_BIN_PATH}/${OUTPUT}
+      DESTINATION bin
+      )
+    ADD_CUSTOM_TARGET(${OUTPUT} ALL
+      DEPENDS ${BBTK_BIN_PATH}/${OUTPUT} 
+      )
+
+    
+  ENDFOREACH(bbs)
+ENDIF (BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_BBS_APP)
+#----------------------------------------------------------------------------