X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fcmake%2FBBTKCreatePackageIncludeScript.cmake;h=856cebad8d3565f7832d6a0cf8f8daf82b6a5052;hb=6ac9074f717f22c4ffdc6a70d0704c1b1f8fe842;hp=f1c5f62cdcc37dab64344f64a1b2845d4205bd93;hpb=1ab4240961c577c96775b2db1b2b66cf80ad6c17;p=bbtk.git diff --git a/kernel/cmake/BBTKCreatePackageIncludeScript.cmake b/kernel/cmake/BBTKCreatePackageIncludeScript.cmake index f1c5f62..856ceba 100644 --- a/kernel/cmake/BBTKCreatePackageIncludeScript.cmake +++ b/kernel/cmake/BBTKCreatePackageIncludeScript.cmake @@ -1,47 +1,201 @@ -MACRO(BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT BBTK_PACKAGE_NAME BBTK_PACKAGE_BBS_BOXES BBTK_PACKAGE_BBS_APPLI ) +MACRO(BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT BBTK_PACKAGE_NAME BBTK_PACKAGE_BBS_BOXES BBTK_PACKAGE_BBS_APPLI BBTK_PACKAGE_BBG_BOXES BBTK_PACKAGE_BBG_APPLI ) + + + ## --Configure and installing bbg boxes-- + FOREACH(bbg ${BBTK_PACKAGE_BBG_BOXES}) + CONFIGURE_FILE( + ${CMAKE_CURRENT_SOURCE_DIR}/${bbg} + ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbg} + COPYONLY + ) + GET_FILENAME_COMPONENT(bbg_path ${bbg} PATH) + IF(WIN32) + INSTALL( + FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbg} + DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbg_path} + ) + ELSE(WIN32) + INSTALL( + FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbg} + DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbg_path} + ) + ENDIF(WIN32) + ENDFOREACH(bbg) + + + ## --Configure and installing bbg appli-- + FOREACH(bbg ${BBTK_PACKAGE_BBG_APPLI}) + CONFIGURE_FILE( + ${CMAKE_CURRENT_SOURCE_DIR}/${bbg} + ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbg} + COPYONLY + ) + GET_FILENAME_COMPONENT(bbg_path ${bbg} PATH) + IF(WIN32) + INSTALL( + FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbg} + DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbg_path} + ) + ELSE(WIN32) + INSTALL( + FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbg} + DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbg_path} + ) + ENDIF(WIN32) + ENDFOREACH(bbg) + + + + + + - SET(OUTPUT_PATH ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}) - SET(OUTPUT_FILE ${PROJECT_BINARY_DIR}/${OUTPUT_PATH}/${BBTK_PACKAGE_NAME}.bbs) - - MESSAGE(ERROR "${BBTK_PACKAGE_BBS_BOXES} - ${BBTK_PACKAGE_BBS_APPLI}") - # Creates the file ${BBTK_PACKAGE_NAME}.bbs + ## --Configure and installing bbs boxes-- + # --Creates the file ${BBTK_PACKAGE_NAME}.bbp-- + SET(OUTPUT_FILE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}.bbp) FILE(WRITE "${OUTPUT_FILE}" - "# Include script for bbtk package '${BBTK_PACKAGE_NAME}' - automatically generated by cmake (macro BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)\n") + "#-----------------------------------------\n" + "# Include script for bbtk package '${BBTK_PACKAGE_NAME}'\n" + "# Automatically generated by cmake (macro BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)\n") FILE(APPEND "${OUTPUT_FILE}" + "#-----------------------------------------\n" "load ${BBTK_PACKAGE_NAME}\n" + "#-----------------------------------------\n" "package ${BBTK_PACKAGE_NAME}\n" ) + + #FILE(APPEND + # "${OUTPUT_FILE}" + # "#-----------------------------------------\n" + # "include ${BBTK_PACKAGE_NAME}/boxes/*\n" + # ) + FOREACH(bbs ${BBTK_PACKAGE_BBS_BOXES}) FILE(APPEND "${OUTPUT_FILE}" - "include ${bbs}\n" + "#-----------------------------------------\n" + "include ${BBTK_PACKAGE_NAME}/${bbs}\n" ) + CONFIGURE_FILE( + ${CMAKE_CURRENT_SOURCE_DIR}/${bbs} + ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbs} + COPYONLY + ) + GET_FILENAME_COMPONENT(bbs_path ${bbs} PATH) + + + IF(WIN32) + INSTALL( + FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs} +# DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path} + DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path} + ) +ELSE(WIN32) +INSTALL( + FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs} + DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path} +# DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path} + ) +ENDIF(WIN32) ENDFOREACH(bbs) - FOREACH(bbs ${BBTK_PACKAGE_BBS_APPLI}) + + + + ## --Configure and installing bbs appli-- + FILE(APPEND + "${OUTPUT_FILE}" + "#-----------------------------------------\n" + "endpackage\n" + "#-- EOF ----------------------------------\n" + ) + IF(WIN32) + INSTALL( + FILES ${OUTPUT_FILE} +# DESTINATION ${BBTK_BBS_INSTALL_PATH} + DESTINATION ${BBTK_BBS_REL_PATH} + ) +ELSE(WIN32) + INSTALL( + FILES ${OUTPUT_FILE} + DESTINATION ${BBTK_BBS_INSTALL_PATH} +# DESTINATION ${BBTK_BBS_REL_PATH} + ) +ENDIF(WIN32) + # Creates the file ${BBTK_PACKAGE_NAME}-appli.bbp + SET(OUTPUT_FILE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}-appli.bbp) + FILE(WRITE + "${OUTPUT_FILE}" + "#-----------------------------------------\n" + "# Applications include script for bbtk package '${BBTK_PACKAGE_NAME}'\n" + "# Automatically generated by cmake (macro BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)\n") + FILE(APPEND + "${OUTPUT_FILE}" + "#-----------------------------------------\n" + "load ${BBTK_PACKAGE_NAME}\n" + "#-----------------------------------------\n" + "package ${BBTK_PACKAGE_NAME}\n" + ) + + FOREACH(bbs ${BBTK_PACKAGE_BBS_APPLI}) + + GET_FILENAME_COMPONENT(filename "${bbs}" NAME_WE) FILE(APPEND "${OUTPUT_FILE}" - "define ${bbs}\n" - "include ${bbs}\n" - "endefine" + "#-----------------------------------------\n" + "define ${filename}\n" + "include ${BBTK_PACKAGE_NAME}/${bbs} source\n" + "endefine\n" + ) + + CONFIGURE_FILE( + ${CMAKE_CURRENT_SOURCE_DIR}/${bbs} + ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbs} + COPYONLY ) + GET_FILENAME_COMPONENT(bbs_path ${bbs} PATH) + + + IF(WIN32) + INSTALL( + FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs} + # DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path} + DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path} + ) +ELSE(WIN32) + INSTALL( + FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs} + DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path} + # DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path} + ) +ENDIF(WIN32) ENDFOREACH(bbs) FILE(APPEND "${OUTPUT_FILE}" - "endpackage\n" + "#-----------------------------------------\n" + "endpackage\n" + "#-- EOF ----------------------------------\n" ) - -# ADD_CUSTOM_TARGET(${BBTK_PACKAGE_NAME}.bbs ALL -# DEPENDS ${OUTPUT_FILE} -# ) - +IF(WIN32) INSTALL( FILES ${OUTPUT_FILE} - DESTINATION ${OUTPUT_PATH} + # DESTINATION ${BBTK_BBS_INSTALL_PATH} + DESTINATION ${BBTK_BBS_REL_PATH} ) +ELSE(WIN32) + INSTALL( + FILES ${OUTPUT_FILE} + DESTINATION ${BBTK_BBS_INSTALL_PATH} + # DESTINATION ${BBTK_BBS_REL_PATH} + ) +ENDIF(WIN32) +# ADD_CUSTOM_TARGET(${BBTK_PACKAGE_NAME}.bbp ALL +# DEPENDS ${OUTPUT_FILE} +# ) + ENDMACRO(BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)