]> Creatis software - bbtk.git/blob - kernel/cmake/BBTKCreatePackageIncludeScript.cmake
0eb2d321edd863f671b81849b9fe3ba32d50b840
[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 ##     ADD_CUSTOM_TARGET( bb${BBTK_PACKAGE_NAME}.bbp ALL
98 ##        COMMAND  set "Path=${crea_DIR}/bin/\;"${DLL_PATH} && $(OutDir)/../../Release/bbpConfigurator.exe ${CMAKE_CURRENT_SOURCE_DIR}/boxes/  ${BBTK_PACKAGE_NAME}  ${BBTK_BBS_BUILD_PATH}/
99 ##     ) 
100          
101      ADD_CUSTOM_COMMAND( TARGET  bb${BBTK_PACKAGE_NAME}
102         COMMAND  set "Path=${crea_DIR}/bin/\;"${DLL_PATH} && $(OutDir)/../../Release/bbpConfigurator.exe ${CMAKE_CURRENT_SOURCE_DIR}/boxes/  ${BBTK_PACKAGE_NAME}  ${BBTK_BBS_BUILD_PATH}/
103      ) 
104         
105   ELSE(WIN32)
106     SET(LD_LIBRARY_PATH "$ENV{LD_LIBRARY_PATH}:${LIBRARY_OUTPUT_PATH}")
107     ADD_CUSTOM_TARGET( bb${BBTK_PACKAGE_NAME}.bbp ALL
108 ##    COMMAND export LD_LIBRARY_PATH=${LD_LIBRARY_PATH} && ${BBTK_BBPCONFIGURATOR}  ${CMAKE_CURRENT_SOURCE_DIR}/boxes/  ${BBTK_PACKAGE_NAME}  ${BBTK_BBS_BUILD_PATH}/
109       COMMAND  ${BBTK_BBPCONFIGURATOR} ${CMAKE_CURRENT_SOURCE_DIR}/boxes/  ${BBTK_PACKAGE_NAME}  ${BBTK_BBS_BUILD_PATH}/
110     ) 
111
112
113   ENDIF(WIN32)
114
115
116
117 ##EED 24/06/2013
118 ##  FILE(WRITE 
119 ##    "${OUTPUT_FILE}" 
120 ##    "#-----------------------------------------\n"
121 ##    "# Include script for bbtk package '${BBTK_PACKAGE_NAME}'\n"
122 ##    "# Automatically generated by cmake (macro BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)\n")
123 ##  FILE(APPEND 
124 ##    "${OUTPUT_FILE}"
125 ##    "#-----------------------------------------\n"
126 ##    "load ${BBTK_PACKAGE_NAME}\n"
127 ##    "#-----------------------------------------\n"
128 ##    "package ${BBTK_PACKAGE_NAME}\n"
129 ##    )
130 ##  
131 ##  #FILE(APPEND 
132 ##  #  "${OUTPUT_FILE}"
133 ##  #  "#-----------------------------------------\n"
134 ##  #  "include ${BBTK_PACKAGE_NAME}/boxes/*\n"
135 ##  #  )
136 ##  
137
138   FOREACH(bbs ${BBTK_PACKAGE_BBS_BOXES})  
139
140 ##EED 24/06/2013
141 ##    FILE(APPEND 
142 ##      "${OUTPUT_FILE}"
143 ##      "#-----------------------------------------\n"
144 ##      "include ${BBTK_PACKAGE_NAME}/${bbs}\n"
145 ##      )
146
147     CONFIGURE_FILE(
148       ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
149       ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbs}
150       COPYONLY
151       )
152     GET_FILENAME_COMPONENT(bbs_path ${bbs} PATH)
153     
154     
155     IF(WIN32)
156       INSTALL(
157         FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
158 #       DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
159         DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
160       )
161     ELSE(WIN32)
162       INSTALL(
163         FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
164         DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
165 #       DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
166       )
167     ENDIF(WIN32)
168
169   ENDFOREACH(bbs)
170
171
172
173 ##EED 24/06/2013
174 ##  ##  --Configure and installing bbs appli--
175 ##  FILE(APPEND 
176 ##    "${OUTPUT_FILE}"
177 ##      "#-----------------------------------------\n"
178 ##      "endpackage\n"
179 ##      "#-- EOF ----------------------------------\n"
180 ##    )
181
182  IF(WIN32)
183   INSTALL(
184     FILES ${OUTPUT_FILE}
185 #    DESTINATION ${BBTK_BBS_INSTALL_PATH}
186     DESTINATION ${BBTK_BBS_REL_PATH}
187     )
188 ELSE(WIN32)
189   INSTALL(
190     FILES ${OUTPUT_FILE}
191     DESTINATION ${BBTK_BBS_INSTALL_PATH}
192 #   DESTINATION ${BBTK_BBS_REL_PATH}
193     )
194 ENDIF(WIN32)
195
196
197
198
199   # Creates the file ${BBTK_PACKAGE_NAME}-appli.bbp
200   SET(OUTPUT_FILE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}-appli.bbp)
201   FILE(WRITE 
202     "${OUTPUT_FILE}" 
203     "#-----------------------------------------\n"
204     "# Applications include script for bbtk package '${BBTK_PACKAGE_NAME}'\n"
205     "# Automatically generated by cmake (macro BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)\n")
206   FILE(APPEND 
207     "${OUTPUT_FILE}"
208     "#-----------------------------------------\n"
209     "load ${BBTK_PACKAGE_NAME}\n"
210     "#-----------------------------------------\n"
211     "package ${BBTK_PACKAGE_NAME}\n"
212     )
213
214   FOREACH(bbs ${BBTK_PACKAGE_BBS_APPLI}) 
215  
216     GET_FILENAME_COMPONENT(filename "${bbs}" NAME_WE) 
217     FILE(APPEND 
218       "${OUTPUT_FILE}"
219       "#-----------------------------------------\n"
220       "define ${filename}\n"
221       "include ${BBTK_PACKAGE_NAME}/${bbs} source\n"
222       "endefine\n"
223       )
224       
225     CONFIGURE_FILE(
226       ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
227       ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbs}
228       COPYONLY
229       )
230     GET_FILENAME_COMPONENT(bbs_path ${bbs} PATH)
231     
232     
233     IF(WIN32)
234     INSTALL(
235       FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
236   #    DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
237       DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
238       )
239 ELSE(WIN32)
240     INSTALL(
241       FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
242       DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
243   #    DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
244       )
245 ENDIF(WIN32)
246   ENDFOREACH(bbs)
247   FILE(APPEND 
248     "${OUTPUT_FILE}"
249       "#-----------------------------------------\n"
250       "endpackage\n"
251       "#-- EOF ----------------------------------\n"
252     )
253 IF(WIN32)  
254   INSTALL(
255     FILES ${OUTPUT_FILE}
256    # DESTINATION ${BBTK_BBS_INSTALL_PATH}
257     DESTINATION ${BBTK_BBS_REL_PATH}
258     )
259 ELSE(WIN32)  
260   INSTALL(
261     FILES ${OUTPUT_FILE}
262     DESTINATION ${BBTK_BBS_INSTALL_PATH}
263    # DESTINATION ${BBTK_BBS_REL_PATH}
264     )
265 ENDIF(WIN32)  
266 #  ADD_CUSTOM_TARGET(${BBTK_PACKAGE_NAME}.bbp ALL
267 #    DEPENDS  ${OUTPUT_FILE}
268 #    )
269
270
271 ENDMACRO(BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)