]> Creatis software - bbtk.git/blob - kernel/cmake/BBTKCreatePackageIncludeScript.cmake
no 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
6   ##  --Configure and installing bbg boxes--
7   FOREACH(bbg ${BBTK_PACKAGE_BBG_BOXES})  
8     CONFIGURE_FILE(
9       ${CMAKE_CURRENT_SOURCE_DIR}/${bbg}
10       ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbg}
11       COPYONLY
12       )
13     GET_FILENAME_COMPONENT(bbs_path ${bbg} PATH)    
14     IF(WIN32)
15         INSTALL(
16                 FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbg}
17                 DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbg_path}
18         )
19     ELSE(WIN32)
20         INSTALL(
21                 FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbg}
22                 DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbg_path}
23         )
24     ENDIF(WIN32)
25   ENDFOREACH(bbg)
26
27
28   ##  --Configure and installing bbg appli--
29   FOREACH(bbg ${BBTK_PACKAGE_BBG_APPLI})  
30     CONFIGURE_FILE(
31       ${CMAKE_CURRENT_SOURCE_DIR}/${bbg}
32       ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbg}
33       COPYONLY
34       )
35     GET_FILENAME_COMPONENT(bbs_path ${bbg} PATH)    
36     IF(WIN32)
37         INSTALL(
38                 FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbg}
39                 DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbg_path}
40         )
41     ELSE(WIN32)
42         INSTALL(
43                 FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbg}
44                 DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbg_path}
45         )
46     ENDIF(WIN32)
47   ENDFOREACH(bbg)
48
49
50
51
52
53
54
55
56   ##  --Configure and installing bbs boxes--
57   # --Creates the file ${BBTK_PACKAGE_NAME}.bbp--
58   SET(OUTPUT_FILE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}.bbp)
59   FILE(WRITE 
60     "${OUTPUT_FILE}" 
61     "#-----------------------------------------\n"
62     "# Include script for bbtk package '${BBTK_PACKAGE_NAME}'\n"
63     "# Automatically generated by cmake (macro BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)\n")
64   FILE(APPEND 
65     "${OUTPUT_FILE}"
66     "#-----------------------------------------\n"
67     "load ${BBTK_PACKAGE_NAME}\n"
68     "#-----------------------------------------\n"
69     "package ${BBTK_PACKAGE_NAME}\n"
70     )
71   
72   #FILE(APPEND 
73   #  "${OUTPUT_FILE}"
74   #  "#-----------------------------------------\n"
75   #  "include ${BBTK_PACKAGE_NAME}/boxes/*\n"
76   #  )
77   
78   FOREACH(bbs ${BBTK_PACKAGE_BBS_BOXES})  
79     FILE(APPEND 
80       "${OUTPUT_FILE}"
81       "#-----------------------------------------\n"
82       "include ${BBTK_PACKAGE_NAME}/${bbs}\n"
83       )
84     CONFIGURE_FILE(
85       ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
86       ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbs}
87       COPYONLY
88       )
89     GET_FILENAME_COMPONENT(bbs_path ${bbs} PATH)
90     
91     
92     IF(WIN32)
93     INSTALL(
94       FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
95 #      DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
96       DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
97     )
98 ELSE(WIN32)
99 INSTALL(
100       FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
101       DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
102 #      DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
103     )
104 ENDIF(WIN32)
105   ENDFOREACH(bbs)
106
107
108
109   ##  --Configure and installing bbs appli--
110   FILE(APPEND 
111     "${OUTPUT_FILE}"
112       "#-----------------------------------------\n"
113       "endpackage\n"
114       "#-- EOF ----------------------------------\n"
115     )
116  IF(WIN32)
117   INSTALL(
118     FILES ${OUTPUT_FILE}
119 #    DESTINATION ${BBTK_BBS_INSTALL_PATH}
120     DESTINATION ${BBTK_BBS_REL_PATH}
121     )
122 ELSE(WIN32)
123   INSTALL(
124     FILES ${OUTPUT_FILE}
125     DESTINATION ${BBTK_BBS_INSTALL_PATH}
126 #   DESTINATION ${BBTK_BBS_REL_PATH}
127     )
128 ENDIF(WIN32)
129   # Creates the file ${BBTK_PACKAGE_NAME}-appli.bbp
130   SET(OUTPUT_FILE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}-appli.bbp)
131   FILE(WRITE 
132     "${OUTPUT_FILE}" 
133     "#-----------------------------------------\n"
134     "# Applications include script for bbtk package '${BBTK_PACKAGE_NAME}'\n"
135     "# Automatically generated by cmake (macro BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)\n")
136   FILE(APPEND 
137     "${OUTPUT_FILE}"
138     "#-----------------------------------------\n"
139     "load ${BBTK_PACKAGE_NAME}\n"
140     "#-----------------------------------------\n"
141     "package ${BBTK_PACKAGE_NAME}\n"
142     )
143
144   FOREACH(bbs ${BBTK_PACKAGE_BBS_APPLI}) 
145  
146     GET_FILENAME_COMPONENT(filename "${bbs}" NAME_WE) 
147     FILE(APPEND 
148       "${OUTPUT_FILE}"
149       "#-----------------------------------------\n"
150       "define ${filename}\n"
151       "include ${BBTK_PACKAGE_NAME}/${bbs} source\n"
152       "endefine\n"
153       )
154       
155     CONFIGURE_FILE(
156       ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
157       ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbs}
158       COPYONLY
159       )
160     GET_FILENAME_COMPONENT(bbs_path ${bbs} PATH)
161     
162     
163     IF(WIN32)
164     INSTALL(
165       FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
166   #    DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
167       DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
168       )
169 ELSE(WIN32)
170     INSTALL(
171       FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
172       DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
173   #    DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
174       )
175 ENDIF(WIN32)
176   ENDFOREACH(bbs)
177   FILE(APPEND 
178     "${OUTPUT_FILE}"
179       "#-----------------------------------------\n"
180       "endpackage\n"
181       "#-- EOF ----------------------------------\n"
182     )
183 IF(WIN32)  
184   INSTALL(
185     FILES ${OUTPUT_FILE}
186    # DESTINATION ${BBTK_BBS_INSTALL_PATH}
187     DESTINATION ${BBTK_BBS_REL_PATH}
188     )
189 ELSE(WIN32)  
190   INSTALL(
191     FILES ${OUTPUT_FILE}
192     DESTINATION ${BBTK_BBS_INSTALL_PATH}
193    # DESTINATION ${BBTK_BBS_REL_PATH}
194     )
195 ENDIF(WIN32)  
196 #  ADD_CUSTOM_TARGET(${BBTK_PACKAGE_NAME}.bbp ALL
197 #    DEPENDS  ${OUTPUT_FILE}
198 #    )
199
200
201 ENDMACRO(BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)