X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fcmake%2FBBTKConfigurePackage_bbs.cmake;h=103c434f8f19ebf0603bb271767821c9fd7674cc;hb=0dcf2138dfa1164b61a8b1aecbe7b32f3f952181;hp=e4bf2220c18b39d425b8f5885a33e30b1d7b76e6;hpb=1ab4240961c577c96775b2db1b2b66cf80ad6c17;p=bbtk.git diff --git a/kernel/cmake/BBTKConfigurePackage_bbs.cmake b/kernel/cmake/BBTKConfigurePackage_bbs.cmake index e4bf222..103c434 100644 --- a/kernel/cmake/BBTKConfigurePackage_bbs.cmake +++ b/kernel/cmake/BBTKConfigurePackage_bbs.cmake @@ -1,21 +1,96 @@ - #---------------------------------------------------------------------------- -IF(BBTK_PACKAGE_INCLUDE_ALL_BBS_BOXES) - FILE(GLOB BBTK_PACKAGE_BBS_BOXES "boxes" "*.bbs") -ENDIF(BBTK_PACKAGE_INCLUDE_ALL_BBS_BOXES) +IF(${BBTK_PACKAGE_NAME}_INCLUDE_ALL_BBS_BOXES) + FILE(GLOB + ${BBTK_PACKAGE_NAME}_BBS_BOXES + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + "boxes/*.bbs" + ) + +# !! Produces a cmake seg. fault : +# FILE(GLOB +# ${BBTK_PACKAGE_NAME}_BBS_BOXES +# "boxes/" +# ) + + +ENDIF(${BBTK_PACKAGE_NAME}_INCLUDE_ALL_BBS_BOXES) #---------------------------------------------------------------------------- #---------------------------------------------------------------------------- -IF(BBTK_PACKAGE_INCLUDE_ALL_BBS_APPLI) - FILE(GLOB BBTK_PACKAGE_BBS_APPLI "appli" "*.bbs") -ENDIF(BBTK_PACKAGE_INCLUDE_ALL_BBS_APPLI) +IF(${BBTK_PACKAGE_NAME}_INCLUDE_ALL_BBS_APPLI) + FILE(GLOB ${BBTK_PACKAGE_NAME}_BBS_APPLI + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + "appli/*.bbs" + ) +ENDIF(${BBTK_PACKAGE_NAME}_INCLUDE_ALL_BBS_APPLI) #---------------------------------------------------------------------------- -INCLUDE(${BBTK_DIR}/BBTKCreatePackageIncludeScript.cmake) +#---------------------------------------------------------------------------- +INCLUDE(${BBTK_CMAKE_DIR}/BBTKCreatePackageIncludeScript.cmake) BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT( "${BBTK_PACKAGE_NAME}" - "${BBTK_PACKAGE_BBS_BOXES}" - "${BBTK_PACKAGE_BBS_APPLI}" + "${${BBTK_PACKAGE_NAME}_BBS_BOXES}" + "${${BBTK_PACKAGE_NAME}_BBS_APPLI}" ) +#---------------------------------------------------------------------------- + + IF(NOT WIN32) + # runs bbRegeneratePackageDoc and bbRegenerateBoxesLists + # as a post install step + # does not work on windaube + IF(NOT BBTK_CORE_PACKAGE) + INSTALL(CODE + "EXECUTE_PROCESS(COMMAND echo -- Executing '${BBTK_BIN_PATH}/bbPostInstallPackage ${BBTK_PACKAGE_NAME}')" + ) + INSTALL(CODE + "EXECUTE_PROCESS(COMMAND ${BBTK_BIN_PATH}/bbPostInstallPackage ${BBTK_PACKAGE_NAME})" + ) +# COMMAND cd ${BBTK_BIN_PATH} COMMAND export LD_LIBRARY_PATH=\"../lib:$ENV{LD_LIBRARY_PATH}\" COMMAND bbRegeneratePackageDoc ${BBTK_PACKAGE_NAME} COMMAND bbRegenerateBoxesLists COMMAND echo \"done\")") + ENDIF(NOT BBTK_CORE_PACKAGE) + ENDIF(NOT WIN32) + + +#---------------------------------------------------------------------------- +#--------------------------------------------------------------------------- +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 OFF) + 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) +##EED 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 + PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE + ) + ADD_CUSTOM_TARGET( + ${OUTPUT} ALL + DEPENDS ${BBTK_BIN_PATH}/${OUTPUT} + ) + ENDFOREACH(bbs) +ENDIF (BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_BBS_APP) +#----------------------------------------------------------------------------