]> Creatis software - bbtk.git/blob - kernel/cmake/BBTKCreatePackageIncludeScript.cmake
2042 Feature Normal 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  
84
85
86 ##EED 24/06/2013
87 ##  FILE(WRITE 
88 ##    "${OUTPUT_FILE}" 
89 ##    "#-----------------------------------------\n"
90 ##    "# Include script for bbtk package '${BBTK_PACKAGE_NAME}'\n"
91 ##    "# Automatically generated by cmake (macro BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)\n")
92 ##  FILE(APPEND 
93 ##    "${OUTPUT_FILE}"
94 ##    "#-----------------------------------------\n"
95 ##    "load ${BBTK_PACKAGE_NAME}\n"
96 ##    "#-----------------------------------------\n"
97 ##    "package ${BBTK_PACKAGE_NAME}\n"
98 ##    )
99 ##  
100 ##  #FILE(APPEND 
101 ##  #  "${OUTPUT_FILE}"
102 ##  #  "#-----------------------------------------\n"
103 ##  #  "include ${BBTK_PACKAGE_NAME}/boxes/*\n"
104 ##  #  )
105 ##  
106
107   FOREACH(bbs ${BBTK_PACKAGE_BBS_BOXES})  
108
109 ##EED 24/06/2013
110 ##    FILE(APPEND 
111 ##      "${OUTPUT_FILE}"
112 ##      "#-----------------------------------------\n"
113 ##      "include ${BBTK_PACKAGE_NAME}/${bbs}\n"
114 ##      )
115
116     CONFIGURE_FILE(
117       ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
118       ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbs}
119       COPYONLY
120       )
121     GET_FILENAME_COMPONENT(bbs_path ${bbs} PATH)
122     
123     
124     IF(WIN32)
125       INSTALL(
126         FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
127 #       DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
128         DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
129       )
130     ELSE(WIN32)
131       INSTALL(
132         FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
133         DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
134 #       DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
135       )
136     ENDIF(WIN32)
137
138   ENDFOREACH(bbs)
139
140
141
142 ##EED 24/06/2013
143 ##  ##  --Configure and installing bbs appli--
144 ##  FILE(APPEND 
145 ##    "${OUTPUT_FILE}"
146 ##      "#-----------------------------------------\n"
147 ##      "endpackage\n"
148 ##      "#-- EOF ----------------------------------\n"
149 ##    )
150
151  IF(WIN32)
152   INSTALL(
153     FILES ${OUTPUT_FILE}
154 #    DESTINATION ${BBTK_BBS_INSTALL_PATH}
155     DESTINATION ${BBTK_BBS_REL_PATH}
156     )
157 ELSE(WIN32)
158   INSTALL(
159     FILES ${OUTPUT_FILE}
160     DESTINATION ${BBTK_BBS_INSTALL_PATH}
161 #   DESTINATION ${BBTK_BBS_REL_PATH}
162     )
163 ENDIF(WIN32)
164
165
166
167
168   # Creates the file ${BBTK_PACKAGE_NAME}-appli.bbp
169   SET(OUTPUT_FILE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}-appli.bbp)
170   FILE(WRITE 
171     "${OUTPUT_FILE}" 
172     "#-----------------------------------------\n"
173     "# Applications include script for bbtk package '${BBTK_PACKAGE_NAME}'\n"
174     "# Automatically generated by cmake (macro BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)\n")
175   FILE(APPEND 
176     "${OUTPUT_FILE}"
177     "#-----------------------------------------\n"
178     "load ${BBTK_PACKAGE_NAME}\n"
179     "#-----------------------------------------\n"
180     "package ${BBTK_PACKAGE_NAME}\n"
181     )
182
183   FOREACH(bbs ${BBTK_PACKAGE_BBS_APPLI}) 
184  
185     GET_FILENAME_COMPONENT(filename "${bbs}" NAME_WE) 
186     FILE(APPEND 
187       "${OUTPUT_FILE}"
188       "#-----------------------------------------\n"
189       "define ${filename}\n"
190       "include ${BBTK_PACKAGE_NAME}/${bbs} source\n"
191       "endefine\n"
192       )
193       
194     CONFIGURE_FILE(
195       ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
196       ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbs}
197       COPYONLY
198       )
199     GET_FILENAME_COMPONENT(bbs_path ${bbs} PATH)
200     
201     
202     IF(WIN32)
203     INSTALL(
204       FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
205   #    DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
206       DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
207       )
208 ELSE(WIN32)
209     INSTALL(
210       FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
211       DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
212   #    DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
213       )
214 ENDIF(WIN32)
215   ENDFOREACH(bbs)
216   FILE(APPEND 
217     "${OUTPUT_FILE}"
218       "#-----------------------------------------\n"
219       "endpackage\n"
220       "#-- EOF ----------------------------------\n"
221     )
222 IF(WIN32)  
223   INSTALL(
224     FILES ${OUTPUT_FILE}
225    # DESTINATION ${BBTK_BBS_INSTALL_PATH}
226     DESTINATION ${BBTK_BBS_REL_PATH}
227     )
228 ELSE(WIN32)  
229   INSTALL(
230     FILES ${OUTPUT_FILE}
231     DESTINATION ${BBTK_BBS_INSTALL_PATH}
232    # DESTINATION ${BBTK_BBS_REL_PATH}
233     )
234 ENDIF(WIN32)  
235 #  ADD_CUSTOM_TARGET(${BBTK_PACKAGE_NAME}.bbp ALL
236 #    DEPENDS  ${OUTPUT_FILE}
237 #    )
238
239
240 ENDMACRO(BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)