]> Creatis software - bbtk.git/blob - kernel/cmake/BBTKCreatePackageIncludeScript.cmake
620c8a06e1c0e0346427b8071a72e16cce97095d
[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   
20   #FILE(APPEND 
21   #  "${OUTPUT_FILE}"
22   #  "#-----------------------------------------\n"
23   #  "include ${BBTK_PACKAGE_NAME}/boxes/*\n"
24   #  )
25   
26   FOREACH(bbs ${BBTK_PACKAGE_BBS_BOXES})  
27     FILE(APPEND 
28       "${OUTPUT_FILE}"
29       "#-----------------------------------------\n"
30       "include ${BBTK_PACKAGE_NAME}/${bbs}\n"
31       )
32     CONFIGURE_FILE(
33       ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
34       ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbs}
35       COPYONLY
36       )
37     GET_FILENAME_COMPONENT(bbs_path ${bbs} PATH)
38     INSTALL(
39       FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
40       DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
41     )
42
43   ENDFOREACH(bbs)
44   FILE(APPEND 
45     "${OUTPUT_FILE}"
46       "#-----------------------------------------\n"
47       "endpackage\n"
48       "#-- EOF ----------------------------------\n"
49     )
50   INSTALL(
51     FILES ${OUTPUT_FILE}
52     DESTINATION ${BBTK_BBS_INSTALL_PATH}
53     )
54
55   # Creates the file ${BBTK_PACKAGE_NAME}-appli.bbs
56   SET(OUTPUT_FILE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}-appli.bbs)
57   FILE(WRITE 
58     "${OUTPUT_FILE}" 
59     "#-----------------------------------------\n"
60     "# Applications include script for bbtk package '${BBTK_PACKAGE_NAME}'\n"
61     "# Automatically generated by cmake (macro BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)\n")
62   FILE(APPEND 
63     "${OUTPUT_FILE}"
64     "#-----------------------------------------\n"
65     "load ${BBTK_PACKAGE_NAME}\n"
66     "#-----------------------------------------\n"
67     "package ${BBTK_PACKAGE_NAME}\n"
68     )
69   FOREACH(bbs ${BBTK_PACKAGE_BBS_APPLI})  
70     GET_FILENAME_COMPONENT(filename "${bbs}" NAME_WE) 
71     FILE(APPEND 
72       "${OUTPUT_FILE}"
73       "#-----------------------------------------\n"
74       "define ${filename}\n"
75       "include ${BBTK_PACKAGE_NAME}/${bbs} source\n"
76       "endefine\n"
77       )
78     CONFIGURE_FILE(
79       ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
80       ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbs}
81       COPYONLY
82       )
83     GET_FILENAME_COMPONENT(bbs_path ${bbs} PATH)
84     INSTALL(
85       FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
86       DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
87       )
88   ENDFOREACH(bbs)
89   FILE(APPEND 
90     "${OUTPUT_FILE}"
91       "#-----------------------------------------\n"
92       "endpackage\n"
93       "#-- EOF ----------------------------------\n"
94     )
95   INSTALL(
96     FILES ${OUTPUT_FILE}
97     DESTINATION ${BBTK_BBS_INSTALL_PATH}
98     )
99   
100 #  ADD_CUSTOM_TARGET(${BBTK_PACKAGE_NAME}.bbs ALL
101 #    DEPENDS  ${OUTPUT_FILE}
102 #    )
103
104
105 ENDMACRO(BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)