]> Creatis software - bbtk.git/blob - kernel/cmake/BBTKCreatePackageIncludeScript.cmake
2042 Feature bbpConfigurator
[bbtk.git] / kernel / cmake / BBTKCreatePackageIncludeScript.cmake
1  # ---------------------------------------------------------------------
2  #
3  # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
4  #                        pour la SantÈ)
5  # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
6  # Previous Authors : Laurent Guigues, Jean-Pierre Roux
7  # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
8  #
9  #  This software is governed by the CeCILL-B license under French law and
10  #  abiding by the rules of distribution of free software. You can  use,
11  #  modify and/ or redistribute the software under the terms of the CeCILL-B
12  #  license as circulated by CEA, CNRS and INRIA at the following URL
13  #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
14  #  or in the file LICENSE.txt.
15  #
16  #  As a counterpart to the access to the source code and  rights to copy,
17  #  modify and redistribute granted by the license, users are provided only
18  #  with a limited warranty  and the software's author,  the holder of the
19  #  economic rights,  and the successive licensors  have only  limited
20  #  liability.
21  #
22  #  The fact that you are presently reading this means that you have had
23  #  knowledge of the CeCILL-B license and that you accept its terms.
24  # ------------------------------------------------------------------------ */
25
26
27
28
29 MACRO(BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT    BBTK_PACKAGE_NAME    BBTK_PACKAGE_BBS_BOXES    BBTK_PACKAGE_BBS_APPLI  BBTK_PACKAGE_BBG_BOXES    BBTK_PACKAGE_BBG_APPLI )
30
31
32   ##  --Configure and installing bbg boxes--
33   FOREACH(bbg ${BBTK_PACKAGE_BBG_BOXES})  
34     CONFIGURE_FILE(
35       ${CMAKE_CURRENT_SOURCE_DIR}/${bbg}
36       ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbg}
37       COPYONLY
38       )
39     GET_FILENAME_COMPONENT(bbg_path ${bbg} PATH)    
40     IF(WIN32)
41         INSTALL(
42                 FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbg}
43                 DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbg_path}
44         )
45     ELSE(WIN32)
46         INSTALL(
47                 FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbg}
48                 DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbg_path}
49         )
50     ENDIF(WIN32)
51   ENDFOREACH(bbg)
52
53
54   ##  --Configure and installing bbg appli--
55   FOREACH(bbg ${BBTK_PACKAGE_BBG_APPLI})  
56     CONFIGURE_FILE(
57       ${CMAKE_CURRENT_SOURCE_DIR}/${bbg}
58       ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbg}
59       COPYONLY
60       )
61     GET_FILENAME_COMPONENT(bbg_path ${bbg} PATH)    
62     IF(WIN32)
63         INSTALL(
64                 FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbg}
65                 DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbg_path}
66         )
67     ELSE(WIN32)
68         INSTALL(
69                 FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbg}
70                 DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbg_path}
71         )
72     ENDIF(WIN32)
73   ENDFOREACH(bbg)
74
75
76
77
78
79
80
81
82   ##  --Configure and installing bbs boxes--
83   # --Creates the file ${BBTK_PACKAGE_NAME}.bbp--
84  
85 ## bbpConfigurator   create de PACKAGE.bbp file
86 ## bbConfigurator <path_to_bbs> <package_name> <output_path>
87
88
89   SET(OUTPUT_FILE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}.bbp)
90
91   IF (WIN32)
92     MAKE_DLL_PATH()
93  #   SET(command00 Path=c:/creatis/dlls__RR__%WXWIN%/lib/vc_dll/__RR__%VTK_DIR%__RR__%ITK_DIR%/../../bin/__RR__%PATH%)
94  #   STRING(REPLACE "__RR__" "\;" SETPATH ${command00} )
95  #   SET(SETPATH set ${command0} &&)
96
97
98     ADD_CUSTOM_TARGET( bb${BBTK_PACKAGE_NAME}.bbp ALL
99 ##     COMMAND "set Path=${DLL_PATH} && ${BBTK_BBPCONFIGURATOR}  ${CMAKE_CURRENT_SOURCE_DIR}\boxes\  ${BBTK_PACKAGE_NAME}  ${BBTK_BBS_BUILD_PATH}/"
100        COMMAND  ${BBTK_BBPCONFIGURATOR} ${CMAKE_CURRENT_SOURCE_DIR}/boxes/  ${BBTK_PACKAGE_NAME}  ${BBTK_BBS_BUILD_PATH}/
101     ) 
102
103
104   ELSE(WIN32)
105     SET(LD_LIBRARY_PATH "$ENV{LD_LIBRARY_PATH}:${LIBRARY_OUTPUT_PATH}")
106     ADD_CUSTOM_TARGET( bb${BBTK_PACKAGE_NAME}.bbp ALL
107 ##    COMMAND export LD_LIBRARY_PATH=${LD_LIBRARY_PATH} && ${BBTK_BBPCONFIGURATOR}  ${CMAKE_CURRENT_SOURCE_DIR}/boxes/  ${BBTK_PACKAGE_NAME}  ${BBTK_BBS_BUILD_PATH}/
108       COMMAND  ${BBTK_BBPCONFIGURATOR} ${CMAKE_CURRENT_SOURCE_DIR}/boxes/  ${BBTK_PACKAGE_NAME}  ${BBTK_BBS_BUILD_PATH}/
109     ) 
110
111
112
113
114
115    ADD_CUSTOM_COMMAND(
116       OUTPUT ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}.bbp
117 ##      COMMAND export LD_LIBRARY_PATH=${LD_LIBRARY_PATH} && ${BBTK_BBFY} ${xmlfile} ${BBTK_PACKAGE_NAME} ${CMAKE_CURRENT_BINARY_DIR}/ -q
118        COMMAND ls
119 #      COMMAND  ${BBTK_BBPCONFIGURATOR} ${CMAKE_CURRENT_SOURCE_DIR}/boxes/  ${BBTK_PACKAGE_NAME}  ${BBTK_BBS_BUILD_PATH}/
120 ##      DEPENDS 
121 ##      ${xmlfile}
122 ##        ${BBTK_BBPCREATOR_DEPENDENCY} 
123       )
124
125   ENDIF(WIN32)
126
127
128
129 ##EED 24/06/2013
130 ##  FILE(WRITE 
131 ##    "${OUTPUT_FILE}" 
132 ##    "#-----------------------------------------\n"
133 ##    "# Include script for bbtk package '${BBTK_PACKAGE_NAME}'\n"
134 ##    "# Automatically generated by cmake (macro BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)\n")
135 ##  FILE(APPEND 
136 ##    "${OUTPUT_FILE}"
137 ##    "#-----------------------------------------\n"
138 ##    "load ${BBTK_PACKAGE_NAME}\n"
139 ##    "#-----------------------------------------\n"
140 ##    "package ${BBTK_PACKAGE_NAME}\n"
141 ##    )
142 ##  
143 ##  #FILE(APPEND 
144 ##  #  "${OUTPUT_FILE}"
145 ##  #  "#-----------------------------------------\n"
146 ##  #  "include ${BBTK_PACKAGE_NAME}/boxes/*\n"
147 ##  #  )
148 ##  
149
150   FOREACH(bbs ${BBTK_PACKAGE_BBS_BOXES})  
151
152 ##EED 24/06/2013
153 ##    FILE(APPEND 
154 ##      "${OUTPUT_FILE}"
155 ##      "#-----------------------------------------\n"
156 ##      "include ${BBTK_PACKAGE_NAME}/${bbs}\n"
157 ##      )
158
159     CONFIGURE_FILE(
160       ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
161       ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbs}
162       COPYONLY
163       )
164     GET_FILENAME_COMPONENT(bbs_path ${bbs} PATH)
165     
166     
167     IF(WIN32)
168       INSTALL(
169         FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
170 #       DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
171         DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
172       )
173     ELSE(WIN32)
174       INSTALL(
175         FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
176         DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
177 #       DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
178       )
179     ENDIF(WIN32)
180
181   ENDFOREACH(bbs)
182
183
184
185 ##EED 24/06/2013
186 ##  ##  --Configure and installing bbs appli--
187 ##  FILE(APPEND 
188 ##    "${OUTPUT_FILE}"
189 ##      "#-----------------------------------------\n"
190 ##      "endpackage\n"
191 ##      "#-- EOF ----------------------------------\n"
192 ##    )
193
194  IF(WIN32)
195   INSTALL(
196     FILES ${OUTPUT_FILE}
197 #    DESTINATION ${BBTK_BBS_INSTALL_PATH}
198     DESTINATION ${BBTK_BBS_REL_PATH}
199     )
200 ELSE(WIN32)
201   INSTALL(
202     FILES ${OUTPUT_FILE}
203     DESTINATION ${BBTK_BBS_INSTALL_PATH}
204 #   DESTINATION ${BBTK_BBS_REL_PATH}
205     )
206 ENDIF(WIN32)
207
208
209
210
211   # Creates the file ${BBTK_PACKAGE_NAME}-appli.bbp
212   SET(OUTPUT_FILE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}-appli.bbp)
213   FILE(WRITE 
214     "${OUTPUT_FILE}" 
215     "#-----------------------------------------\n"
216     "# Applications include script for bbtk package '${BBTK_PACKAGE_NAME}'\n"
217     "# Automatically generated by cmake (macro BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)\n")
218   FILE(APPEND 
219     "${OUTPUT_FILE}"
220     "#-----------------------------------------\n"
221     "load ${BBTK_PACKAGE_NAME}\n"
222     "#-----------------------------------------\n"
223     "package ${BBTK_PACKAGE_NAME}\n"
224     )
225
226   FOREACH(bbs ${BBTK_PACKAGE_BBS_APPLI}) 
227  
228     GET_FILENAME_COMPONENT(filename "${bbs}" NAME_WE) 
229     FILE(APPEND 
230       "${OUTPUT_FILE}"
231       "#-----------------------------------------\n"
232       "define ${filename}\n"
233       "include ${BBTK_PACKAGE_NAME}/${bbs} source\n"
234       "endefine\n"
235       )
236       
237     CONFIGURE_FILE(
238       ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
239       ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbs}
240       COPYONLY
241       )
242     GET_FILENAME_COMPONENT(bbs_path ${bbs} PATH)
243     
244     
245     IF(WIN32)
246     INSTALL(
247       FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
248   #    DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
249       DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
250       )
251 ELSE(WIN32)
252     INSTALL(
253       FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
254       DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
255   #    DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
256       )
257 ENDIF(WIN32)
258   ENDFOREACH(bbs)
259   FILE(APPEND 
260     "${OUTPUT_FILE}"
261       "#-----------------------------------------\n"
262       "endpackage\n"
263       "#-- EOF ----------------------------------\n"
264     )
265 IF(WIN32)  
266   INSTALL(
267     FILES ${OUTPUT_FILE}
268    # DESTINATION ${BBTK_BBS_INSTALL_PATH}
269     DESTINATION ${BBTK_BBS_REL_PATH}
270     )
271 ELSE(WIN32)  
272   INSTALL(
273     FILES ${OUTPUT_FILE}
274     DESTINATION ${BBTK_BBS_INSTALL_PATH}
275    # DESTINATION ${BBTK_BBS_REL_PATH}
276     )
277 ENDIF(WIN32)  
278 #  ADD_CUSTOM_TARGET(${BBTK_PACKAGE_NAME}.bbp ALL
279 #    DEPENDS  ${OUTPUT_FILE}
280 #    )
281
282
283 ENDMACRO(BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)