X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fcmake%2FBBTKConfigurePackage_bbs.cmake;h=5cbcedf07c51b7308ed8f13f14f18ff6610a54ef;hb=6ac9074f717f22c4ffdc6a70d0704c1b1f8fe842;hp=a33abab3d865dd2f8742319407dfb5fee2132712;hpb=8ab3078737deb219443554b0df6be43b3bd82d11;p=bbtk.git diff --git a/kernel/cmake/BBTKConfigurePackage_bbs.cmake b/kernel/cmake/BBTKConfigurePackage_bbs.cmake index a33abab..5cbcedf 100644 --- a/kernel/cmake/BBTKConfigurePackage_bbs.cmake +++ b/kernel/cmake/BBTKConfigurePackage_bbs.cmake @@ -1,36 +1,116 @@ - #---------------------------------------------------------------------------- -IF(BBTK_PACKAGE_INCLUDE_ALL_BBS_BOXES) +IF(${BBTK_PACKAGE_NAME}_INCLUDE_ALL_BBS_BOXES) FILE(GLOB - BBTK_PACKAGE_BBS_BOXES + ${BBTK_PACKAGE_NAME}_BBS_BOXES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "boxes/*.bbs" ) + FILE(GLOB + ${BBTK_PACKAGE_NAME}_BBG_BOXES + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + "boxes/*.bbg" + ) + + # !! Produces a cmake seg. fault : # FILE(GLOB -# BBTK_PACKAGE_BBS_BOXES +# ${BBTK_PACKAGE_NAME}_BBS_BOXES # "boxes/" # ) -ENDIF(BBTK_PACKAGE_INCLUDE_ALL_BBS_BOXES) +ENDIF(${BBTK_PACKAGE_NAME}_INCLUDE_ALL_BBS_BOXES) #---------------------------------------------------------------------------- #---------------------------------------------------------------------------- -IF(BBTK_PACKAGE_INCLUDE_ALL_BBS_APPLI) - FILE(GLOB BBTK_PACKAGE_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_INCLUDE_ALL_BBS_APPLI) + FILE(GLOB ${BBTK_PACKAGE_NAME}_BBG_APPLI + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + "appli/*.bbg" + ) + + +ENDIF(${BBTK_PACKAGE_NAME}_INCLUDE_ALL_BBS_APPLI) #---------------------------------------------------------------------------- +#---------------------------------------------------------------------------- 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}" + "${${BBTK_PACKAGE_NAME}_BBG_BOXES}" + "${${BBTK_PACKAGE_NAME}_BBG_APPLI}" ) +#---------------------------------------------------------------------------- + + IF(NOT WIN32) + # runs bbRegeneratePackageDoc and bbRegenerateBoxesLists + # as a post install step + # does not work on windaube + IF(NOT BBTK_CORE_PACKAGE) + +##EED 25oct2010 +# 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) +#----------------------------------------------------------------------------