]> 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   
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     INSTALL(
38       FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
39       DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs}
40     )
41
42   ENDFOREACH(bbs)
43   FILE(APPEND 
44     "${OUTPUT_FILE}"
45       "#-----------------------------------------\n"
46       "endpackage\n"
47       "#-- EOF ----------------------------------\n"
48     )
49   INSTALL(
50     FILES ${OUTPUT_FILE}
51     DESTINATION ${BBTK_BBS_INSTALL_PATH}
52     )
53
54   # Creates the file ${BBTK_PACKAGE_NAME}-appli.bbs
55   SET(OUTPUT_FILE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}-appli.bbs)
56   FILE(WRITE 
57     "${OUTPUT_FILE}" 
58     "#-----------------------------------------\n"
59     "# Applications include script for bbtk package '${BBTK_PACKAGE_NAME}'\n"
60     "# Automatically generated by cmake (macro BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)\n")
61   FILE(APPEND 
62     "${OUTPUT_FILE}"
63     "#-----------------------------------------\n"
64     "load ${BBTK_PACKAGE_NAME}\n"
65     "#-----------------------------------------\n"
66     "package ${BBTK_PACKAGE_NAME}\n"
67     )
68   FOREACH(bbs ${BBTK_PACKAGE_BBS_APPLI})  
69     GET_FILENAME_COMPONENT(filename "${bbs}" NAME_WE) 
70     FILE(APPEND 
71       "${OUTPUT_FILE}"
72       "#-----------------------------------------\n"
73       "define ${filename}\n"
74       "include ${BBTK_PACKAGE_NAME}/${bbs}\n"
75       "endefine\n"
76       )
77     CONFIGURE_FILE(
78       ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
79       ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbs}
80       COPYONLY
81       )
82     INSTALL(
83       FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
84       DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs}
85       )
86   ENDFOREACH(bbs)
87   FILE(APPEND 
88     "${OUTPUT_FILE}"
89       "#-----------------------------------------\n"
90       "endpackage\n"
91       "#-- EOF ----------------------------------\n"
92     )
93   INSTALL(
94     FILES ${OUTPUT_FILE}
95     DESTINATION ${BBTK_BBS_INSTALL_PATH}
96     )
97   
98 #  ADD_CUSTOM_TARGET(${BBTK_PACKAGE_NAME}.bbs ALL
99 #    DEPENDS  ${OUTPUT_FILE}
100 #    )
101
102
103 ENDMACRO(BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)