]> Creatis software - bbtk.git/blob - kernel/cmake/BBTKCreatePackageIncludeScript.cmake
*** empty log message ***
[bbtk.git] / kernel / cmake / BBTKCreatePackageIncludeScript.cmake
1
2
3 MACRO(BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT    BBTK_PACKAGE_NAME    BBTK_PACKAGE_BBS_BOXES    BBTK_PACKAGE_BBS_APPLI )
4
5   # Creates the file ${BBTK_PACKAGE_NAME}.bbs
6   SET(OUTPUT_FILE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}.bbs)
7   FILE(WRITE 
8     "${OUTPUT_FILE}" 
9     "#-----------------------------------------\n"
10     "# Include script for bbtk package '${BBTK_PACKAGE_NAME}'\n"
11     "# Automatically generated by cmake (macro BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)\n")
12   FILE(APPEND 
13     "${OUTPUT_FILE}"
14     "#-----------------------------------------\n"
15     "load ${BBTK_PACKAGE_NAME}\n"
16     "#-----------------------------------------\n"
17     "package ${BBTK_PACKAGE_NAME}\n"
18     )
19   FOREACH(bbs ${BBTK_PACKAGE_BBS_BOXES})  
20     FILE(APPEND 
21       "${OUTPUT_FILE}"
22       "#-----------------------------------------\n"
23       "include ${BBTK_PACKAGE_NAME}/${bbs}\n"
24       )
25     CONFIGURE_FILE(
26       ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
27       ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbs}
28      COPYONLY
29     )
30
31   ENDFOREACH(bbs)
32   FILE(APPEND 
33     "${OUTPUT_FILE}"
34       "#-----------------------------------------\n"
35       "endpackage\n"
36       "#-- EOF ----------------------------------\n"
37     )
38   INSTALL(
39     FILES ${OUTPUT_FILE}
40     DESTINATION ${BBTK_BBS_INSTALL_PATH}
41     )
42
43   # Creates the file ${BBTK_PACKAGE_NAME}-appli.bbs
44   SET(OUTPUT_FILE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}-appli.bbs)
45   FILE(WRITE 
46     "${OUTPUT_FILE}" 
47     "#-----------------------------------------\n"
48     "# Applications include script for bbtk package '${BBTK_PACKAGE_NAME}'\n"
49     "# Automatically generated by cmake (macro BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)\n")
50   FILE(APPEND 
51     "${OUTPUT_FILE}"
52     "#-----------------------------------------\n"
53     "load ${BBTK_PACKAGE_NAME}\n"
54     "#-----------------------------------------\n"
55     "package ${BBTK_PACKAGE_NAME}\n"
56     )
57   FOREACH(bbs ${BBTK_PACKAGE_BBS_APPLI})  
58     GET_FILENAME_COMPONENT(filename "${bbs}" NAME_WE) 
59     FILE(APPEND 
60       "${OUTPUT_FILE}"
61       "#-----------------------------------------\n"
62       "define ${filename}\n"
63       "include ${BBTK_PACKAGE_NAME}/${bbs}\n"
64       "endefine\n"
65       )
66   CONFIGURE_FILE(
67       ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
68       ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbs}
69      COPYONLY
70     )
71   ENDFOREACH(bbs)
72   FILE(APPEND 
73     "${OUTPUT_FILE}"
74       "#-----------------------------------------\n"
75       "endpackage\n"
76       "#-- EOF ----------------------------------\n"
77     )
78   INSTALL(
79     FILES ${OUTPUT_FILE}
80     DESTINATION ${BBTK_BBS_INSTALL_PATH}
81     )
82   
83 #  ADD_CUSTOM_TARGET(${BBTK_PACKAGE_NAME}.bbs ALL
84 #    DEPENDS  ${OUTPUT_FILE}
85 #    )
86
87
88 ENDMACRO(BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)