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