From 1fd0a4edc8f7e8d5444788662f59c4384a9aab93 Mon Sep 17 00:00:00 2001 From: guigues Date: Fri, 28 Mar 2008 07:28:22 +0000 Subject: [PATCH] Added cmake option BUILD_BBS_APPLI_BINARIES which allows to compile package appli scripts using bbc --- kernel/CMakeLists.txt | 1 - kernel/appli/bbc/bbc.sh.in | 10 ++- kernel/cmake/BBTKConfigurePackagePaths.cmake | 2 + kernel/cmake/BBTKConfigurePackage_bbs.cmake | 45 ++++++++++++ kernel/cmake/BBTKConfigurePackage_doc.cmake | 34 +++++---- kernel/cmake/BBTKDefineOptions.cmake | 45 ++++++++++++ kernel/cmake/BBTKKernelConfig.cmake | 4 ++ kernel/cmake/BBTKSetDeducedPaths.cmake | 5 ++ kernel/doc/CMakeLists.txt | 72 ++++---------------- 9 files changed, 138 insertions(+), 80 deletions(-) diff --git a/kernel/CMakeLists.txt b/kernel/CMakeLists.txt index 6c90131..8526ed6 100644 --- a/kernel/CMakeLists.txt +++ b/kernel/CMakeLists.txt @@ -10,7 +10,6 @@ SUBDIRS(doc) #----------------------------------------------------------------------------- # Applications (bbi, bbfy...) -OPTION(BUILD_APPLICATIONS "Build Applications (bbi, bbfy, ...)" ON) IF(BUILD_APPLICATIONS) SUBDIRS(appli) ENDIF(BUILD_APPLICATIONS) diff --git a/kernel/appli/bbc/bbc.sh.in b/kernel/appli/bbc/bbc.sh.in index 337ed30..ac66ee3 100755 --- a/kernel/appli/bbc/bbc.sh.in +++ b/kernel/appli/bbc/bbc.sh.in @@ -24,7 +24,7 @@ TMP="${IN##*/}" BBS="${TMP%%.*}" OUTPUT="bb${BBS}" EXEC_FUNCTION="${BBS}" -echo Output=\"${OUTPUT}\" +#echo Output=\"${OUTPUT}\" WORKDIR=bbc_tmp mkdir ${WORKDIR} @@ -32,11 +32,9 @@ mkdir ${WORKDIR} sed s,OUTPUT,${OUTPUT},g ${DATADIR}/CMakeLists.txt.in > ${WORKDIR}/CMakeLists.txt sed s,EXEC_FUNCTION,${EXEC_FUNCTION},g ${DATADIR}/main.cxx.in > ${WORKDIR}/main.cxx cd ${WORKDIR} -bbs2cpp ${IN} -cmake . -#cmake . -#cmake . -make +bbs2cpp ${IN} > log.txt +cmake . > log.txt +make > log.txt mv ${OUTPUT} ${CUR}/ cd ${CUR} rm -Rf ${WORKDIR} diff --git a/kernel/cmake/BBTKConfigurePackagePaths.cmake b/kernel/cmake/BBTKConfigurePackagePaths.cmake index 402cb1e..bf6cfcf 100644 --- a/kernel/cmake/BBTKConfigurePackagePaths.cmake +++ b/kernel/cmake/BBTKConfigurePackagePaths.cmake @@ -8,6 +8,8 @@ ENDIF(WIN32) # TO DO : use computed path for build/install tree SET(BBTK_BBI "${BBTK_DIR}/bin/bbi") +SET(BBTK_BBS2CPP "${BBTK_DIR}/bin/bbs2cpp") +SET(BBTK_BBC "${BBTK_DIR}/bin/bbc") SET(BBTK_BBFY "${BBTK_DIR}/bin/bbfy") SET(BBTK_BBDOC "${BBTK_DIR}/bin/bbdoc") diff --git a/kernel/cmake/BBTKConfigurePackage_bbs.cmake b/kernel/cmake/BBTKConfigurePackage_bbs.cmake index 808f1d3..17c24d4 100644 --- a/kernel/cmake/BBTKConfigurePackage_bbs.cmake +++ b/kernel/cmake/BBTKConfigurePackage_bbs.cmake @@ -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) +#---------------------------------------------------------------------------- diff --git a/kernel/cmake/BBTKConfigurePackage_doc.cmake b/kernel/cmake/BBTKConfigurePackage_doc.cmake index 2fd9570..bf392a5 100644 --- a/kernel/cmake/BBTKConfigurePackage_doc.cmake +++ b/kernel/cmake/BBTKConfigurePackage_doc.cmake @@ -1,20 +1,26 @@ #--------------------------------------------------------------------------- -# If not a core package -# Create the build doc options -IF(NOT BBTK_CORE_PACKAGE) +IF(BBTK_CORE_PACKAGE) + # If a core package set doc options from bbtk global ones + IF (BUILD_BBTK_DOC_PACKAGE) + SET(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_HTML_DOC ON) + ELSE (BUILD_BBTK_DOC_PACKAGE) + SET(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_HTML_DOC OFF) + ENDIF (BUILD_BBTK_DOC_PACKAGE) + IF (BUILD_BBTK_DOC_DOXYGEN) + SET(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_DOXYGEN_DOC ON) + ELSE (BUILD_BBTK_DOC_DOXYGEN) + SET(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_DOXYGEN_DOC OFF) + ENDIF (BUILD_BBTK_DOC_DOXYGEN) +ELSE(BBTK_CORE_PACKAGE) + # If not a core package + # Create the build doc options OPTION(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_HTML_DOC "Build the bbtk package ${BBTK_PACKAGE_NAME} html documentation ?" OFF) SWITCH_ON_IF_BUILD_ALL(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_HTML_DOC) - IF (BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_HTML_DOC) - SET(BUILD_bbtk_DOC_PACKAGE ON) - ENDIF (BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_HTML_DOC) OPTION(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_DOXYGEN_DOC "Build the bbtk package ${BBTK_PACKAGE_NAME} doxygen documentation ?" OFF) SWITCH_ON_IF_BUILD_ALL(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_DOXYGEN_DOC) - IF (BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_DOXYGEN_DOC) - SET(BUILD_bbtk_DOC_DOXYGEN ON) - ENDIF (BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_DOXYGEN_DOC) -ENDIF(NOT BBTK_CORE_PACKAGE) +ENDIF(BBTK_CORE_PACKAGE) #--------------------------------------------------------------------------- #---------------------------------------------------------------------------- @@ -23,10 +29,10 @@ ENDIF(NOT BBTK_CORE_PACKAGE) #---------------------------------------------------------------------------- # Doxygen #---------------------------------------------------------------------------- -IF(BUILD_bbtk_DOC_DOXYGEN) +IF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_DOXYGEN_DOC) SET(${BBTK_PACKAGE_NAME}_DOXYGEN_REL_PATH ${BBTK_PACKAGE_NAME}) SUBDIRS(doxygen) -ENDIF(BUILD_bbtk_DOC_DOXYGEN) +ENDIF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_DOXYGEN_DOC) #---------------------------------------------------------------------------- @@ -34,7 +40,7 @@ ENDIF(BUILD_bbtk_DOC_DOXYGEN) #---------------------------------------------------------------------------- # bbdoc #--------------------------------------------------------------------------- -IF(BUILD_bbtk_DOC_PACKAGE) +IF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_HTML_DOC) SUBDIRS(bbdoc) -ENDIF(BUILD_bbtk_DOC_PACKAGE) +ENDIF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_HTML_DOC) #--------------------------------------------------------------------------- diff --git a/kernel/cmake/BBTKDefineOptions.cmake b/kernel/cmake/BBTKDefineOptions.cmake index 1eb5973..92f4cc9 100644 --- a/kernel/cmake/BBTKDefineOptions.cmake +++ b/kernel/cmake/BBTKDefineOptions.cmake @@ -5,3 +5,48 @@ OPTION ( BBTK_COMPILE_DEBUG_MESSAGES "Compile bbtk debug messages ?" OFF) OPTION ( BBTK_COMPILE_WARNING_MESSAGES "Compile bbtk warning messages ?" ON) OPTION ( BBTK_COMPILE_ERROR_MESSAGES "Compile bbtk error messages ?" ON) #----------------------------------------------------------------------------- +OPTION(BUILD_APPLICATIONS "Build Applications (bbi, bbfy, ...)" ON) +OPTION(BUILD_BBS_APPLI_BINARIES "Build binaries for bbs applications of all packages" OFF) +SWITCH_ON_IF_BUILD_ALL(BUILD_BBS_APPLI_BINARIES) +#----------------------------------------------------------------------------- +OPTION(BUILD_BBTK_DOC "Build documentation for bbtk." OFF) +SWITCH_ON_IF_BUILD_ALL(BUILD_BBTK_DOC) +#----------------------------------------------------------------------------- +IF(BUILD_BBTK_DOC) + + OPTION(BUILD_BBTK_DOC_PACKAGE + "Build bbtk packages documentation (bbi+dot)." ON) + OPTION(BUILD_BBTK_DOC_DOXYGEN + "Build doxygen documentation (doxygen)." ON) + OPTION(BUILD_BBTK_DOC_GUIDES_PDF + "Build bbtk Guides', PDF format (latex)." ON) + OPTION(BUILD_BBTK_DOC_GUIDES_HTML + "Build bbtk Guides', HTML format (latex+tth)." ON) + +ELSE(BUILD_BBTK_DOC) + + IF(BUILD_BBTK_DOC_PACKAGE) + SET(BUILD_BBTK_DOC_PACKAGE OFF CACHE BOOL + "Build bbtk packages documentation (bbdoc+dot)." FORCE) + ENDIF(BUILD_BBTK_DOC_PACKAGE) + IF(BUILD_BBTK_DOC_DOXYGEN) + SET(BUILD_BBTK_DOC_DOXYGEN OFF CACHE BOOL + "Build doxygen documentation. (doxygen)" FORCE) + ENDIF(BUILD_BBTK_DOC_DOXYGEN) + + IF(BUILD_BBTK_DOC_GUIDES_PDF) + SET(BUILD_BBTK_DOC_GUIDES_PDF OFF CACHE BOOL + "Build bbtk Guides', PDF format (latex)." FORCE) + ENDIF(BUILD_BBTK_DOC_GUIDES_PDF) + + IF(BUILD_BBTK_DOC_GUIDES_HTML) + SET(BUILD_BBTK_DOC_GUIDES_HTML OFF CACHE BOOL + "Build bbtk Guides', HTML format (latex tth)." FORCE) + ENDIF(BUILD_BBTK_DOC_GUIDES_HTML) +# IF(BUILD_BBTK_DOC_SCRIPTS) +# SET(BUILD_BBTK_DOC_SCRIPTS_HTML OFF CACHE BOOL +# "Build bbtk scripts documentation (bbi+dot)." FORCE) +# ENDIF(BUILD_BBTK_DOC_SCRIPTS) + +ENDIF(BUILD_BBTK_DOC) +#----------------------------------------------------------------------------- diff --git a/kernel/cmake/BBTKKernelConfig.cmake b/kernel/cmake/BBTKKernelConfig.cmake index e909c90..4645ed2 100644 --- a/kernel/cmake/BBTKKernelConfig.cmake +++ b/kernel/cmake/BBTKKernelConfig.cmake @@ -44,12 +44,16 @@ IF(WIN32) ELSE(CMAKE_GENERATOR STREQUAL "Visual Studio 6") SET(BBTK_BIN_PATH $(SolutionDir)/$(OutDir)) ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 6") + SET(BBTK_BBS2CPP ${BBTK_BIN_PATH}/bbs2cpp.exe) + SET(BBTK_BBC ${BBTK_BIN_PATH}/bbc.exe) SET(BBTK_BBI ${BBTK_BIN_PATH}/bbi.exe) SET(BBTK_BBFY ${BBTK_BIN_PATH}/bbfy.exe) SET(BBTK_BBDOC ${BBTK_BIN_PATH}/bbdoc.exe) ELSE(WIN32) SET(BBTK_BIN_PATH ${EXECUTABLE_OUTPUT_PATH}) SET(BBTK_BBI ${BBTK_BIN_PATH}/bbi) + SET(BBTK_BBS2CPP ${BBTK_BIN_PATH}/bbs2cpp) + SET(BBTK_BBC ${BBTK_BIN_PATH}/bbc) SET(BBTK_BBFY ${BBTK_BIN_PATH}/bbfy) SET(BBTK_BBDOC ${BBTK_BIN_PATH}/bbdoc) ENDIF(WIN32) diff --git a/kernel/cmake/BBTKSetDeducedPaths.cmake b/kernel/cmake/BBTKSetDeducedPaths.cmake index ab08516..c39d4c0 100644 --- a/kernel/cmake/BBTKSetDeducedPaths.cmake +++ b/kernel/cmake/BBTKSetDeducedPaths.cmake @@ -47,6 +47,11 @@ IF(BBTK_CORE_PACKAGE) SET(BBTK_BBI_DEPENDENCY ${BBTK_BBI}) ENDIF(EXISTS "${BBTK_BBI}") + IF(EXISTS "${BBTK_BBS2CPP}") + SET(BBTK_BBS2CPP_DEPENDENCY) + ELSE(EXISTS "${BBTK_BBS2CPP}") + SET(BBTK_BBS2CPP_DEPENDENCY ${BBTK_BBS2CPP}) + ENDIF(EXISTS "${BBTK_BBS2CPP}") IF(EXISTS "${BBTK_BBFY}") SET(BBTK_BBFY_DEPENDENCY) diff --git a/kernel/doc/CMakeLists.txt b/kernel/doc/CMakeLists.txt index b6ad8d9..862a44e 100755 --- a/kernel/doc/CMakeLists.txt +++ b/kernel/doc/CMakeLists.txt @@ -1,92 +1,46 @@ #----------------------------------------------------------------------------- -OPTION(BUILD_bbtk_DOC "Build documentation for bbtk." OFF) -SWITCH_ON_IF_BUILD_ALL(BUILD_bbtk_DOC) -#----------------------------------------------------------------------------- - - -#----------------------------------------------------------------------------- -IF(BUILD_bbtk_DOC) - - OPTION(BUILD_bbtk_DOC_PACKAGE - "Build bbtk packages documentation (bbi+dot)." ON) - OPTION(BUILD_bbtk_DOC_DOXYGEN - "Build doxygen documentation (doxygen)." ON) - OPTION(BUILD_bbtk_DOC_GUIDES_PDF - "Build bbtk Guides', PDF format (latex)." ON) - OPTION(BUILD_bbtk_DOC_GUIDES_HTML - "Build bbtk Guides', HTML format (latex+tth)." ON) - -ELSE(BUILD_bbtk_DOC) - - IF(BUILD_bbtk_DOC_PACKAGE) - SET(BUILD_bbtk_DOC_PACKAGE OFF CACHE BOOL - "Build bbtk packages documentation (bbdoc+dot)." FORCE) - ENDIF(BUILD_bbtk_DOC_PACKAGE) - IF(BUILD_bbtk_DOC_DOXYGEN) - SET(BUILD_bbtk_DOC_DOXYGEN OFF CACHE BOOL - "Build doxygen documentation. (doxygen)" FORCE) - ENDIF(BUILD_bbtk_DOC_DOXYGEN) - - IF(BUILD_bbtk_DOC_GUIDES_PDF) - SET(BUILD_bbtk_DOC_GUIDES_PDF OFF CACHE BOOL - "Build bbtk Guides', PDF format (latex)." FORCE) - ENDIF(BUILD_bbtk_DOC_GUIDES_PDF) - - IF(BUILD_bbtk_DOC_GUIDES_HTML) - SET(BUILD_bbtk_DOC_GUIDES_HTML OFF CACHE BOOL - "Build bbtk Guides', HTML format (latex tth)." FORCE) - ENDIF(BUILD_bbtk_DOC_GUIDES_HTML) -# IF(BUILD_bbtk_DOC_SCRIPTS) -# SET(BUILD_bbtk_DOC_SCRIPTS_HTML OFF CACHE BOOL -# "Build bbtk scripts documentation (bbi+dot)." FORCE) -# ENDIF(BUILD_bbtk_DOC_SCRIPTS) - -ENDIF(BUILD_bbtk_DOC) - - -#----------------------------------------------------------------------------- -IF(BUILD_bbtk_DOC AND BUILD_bbtk_DOC_DOXYGEN) +IF(BUILD_BBTK_DOC AND BUILD_BBTK_DOC_DOXYGEN) INCLUDE(../cmake/BBTKBuildDoxygenDoc.cmake) SUBDIRS(bbtkDoxygen) -ENDIF(BUILD_bbtk_DOC AND BUILD_bbtk_DOC_DOXYGEN) +ENDIF(BUILD_BBTK_DOC AND BUILD_BBTK_DOC_DOXYGEN) #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- -IF(BUILD_bbtk_DOC AND BUILD_bbtk_DOC_GUIDES_PDF) +IF(BUILD_BBTK_DOC AND BUILD_BBTK_DOC_GUIDES_PDF) INCLUDE(../cmake/BBTKBuildLatexDoc.cmake) -ELSE(BUILD_bbtk_DOC AND BUILD_bbtk_DOC_GUIDES_HTML) +ELSE(BUILD_BBTK_DOC AND BUILD_BBTK_DOC_GUIDES_HTML) MACRO(BBTK_BUILD_LATEX_DOC TEX_FILE) ENDMACRO(BBTK_BUILD_LATEX_DOC) -ENDIF(BUILD_bbtk_DOC AND BUILD_bbtk_DOC_GUIDES_PDF) +ENDIF(BUILD_BBTK_DOC AND BUILD_BBTK_DOC_GUIDES_PDF) #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- -IF(BUILD_bbtk_DOC AND BUILD_bbtk_DOC_GUIDES_HTML) +IF(BUILD_BBTK_DOC AND BUILD_BBTK_DOC_GUIDES_HTML) INCLUDE(../cmake/BBTKBuildHtmlDocFromLatex.cmake) -ELSE(BUILD_bbtk_DOC AND BUILD_bbtk_DOC_GUIDES_HTML) +ELSE(BUILD_BBTK_DOC AND BUILD_BBTK_DOC_GUIDES_HTML) MACRO(BBTK_BUILD_HTML_DOC_FROM_LATEX SOURCE) ENDMACRO(BBTK_BUILD_HTML_DOC_FROM_LATEX) -ENDIF(BUILD_bbtk_DOC AND BUILD_bbtk_DOC_GUIDES_HTML) -ENDIF(BUILD_bbtk_DOC_GUIDES_PDF) +ENDIF(BUILD_BBTK_DOC AND BUILD_BBTK_DOC_GUIDES_HTML) +ENDIF(BUILD_BBTK_DOC_GUIDES_PDF) #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- -IF(BUILD_bbtk_DOC AND BUILD_bbtk_DOC_GUIDES_PDF OR BUILD_bbtk_DOC_GUIDES_HTML) +IF(BUILD_BBTK_DOC AND BUILD_BBTK_DOC_GUIDES_PDF OR BUILD_BBTK_DOC_GUIDES_HTML) SUBDIRS(bbtkUsersGuide) SUBDIRS(bbtkPackageDevelopersGuide) SUBDIRS(bbtkDevelopersGuide) -ENDIF(BUILD_bbtk_DOC AND BUILD_bbtk_DOC_GUIDES_PDF OR BUILD_bbtk_DOC_GUIDES_HTML) +ENDIF(BUILD_BBTK_DOC AND BUILD_BBTK_DOC_GUIDES_PDF OR BUILD_BBTK_DOC_GUIDES_HTML) #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- # Web site -IF(BUILD_bbtk_DOC) +IF(BUILD_BBTK_DOC) # Configure main page index.html for build tree CONFIGURE_FILE( index.html.in @@ -115,6 +69,6 @@ IF(BUILD_bbtk_DOC) -ENDIF(BUILD_bbtk_DOC) +ENDIF(BUILD_BBTK_DOC) #----------------------------------------------------------------------------- -- 2.45.0