]> Creatis software - bbtk.git/blob - kernel/cmake/BBTKCreatePackageIncludeScript.cmake
#3299 BBTK Bug New Normal wt4
[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
152
153
154
155   # Creates the file ${BBTK_PACKAGE_NAME}-appli.bbp
156   SET(OUTPUT_FILE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}-appli.bbp)
157   FILE(WRITE 
158     "${OUTPUT_FILE}" 
159     "#-----------------------------------------\n"
160     "# Applications include script for bbtk package '${BBTK_PACKAGE_NAME}'\n"
161     "# Automatically generated by cmake (macro BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)\n")
162   FILE(APPEND 
163     "${OUTPUT_FILE}"
164     "#-----------------------------------------\n"
165     "load ${BBTK_PACKAGE_NAME}\n"
166     "#-----------------------------------------\n"
167     "package ${BBTK_PACKAGE_NAME}\n"
168     )
169
170   FOREACH(bbs ${BBTK_PACKAGE_BBS_APPLI}) 
171  
172     GET_FILENAME_COMPONENT(filename "${bbs}" NAME_WE) 
173     FILE(APPEND 
174       "${OUTPUT_FILE}"
175       "#-----------------------------------------\n"
176       "define ${filename}\n"
177       "include ${BBTK_PACKAGE_NAME}/${bbs} source\n"
178       "endefine\n"
179       )
180       
181     CONFIGURE_FILE(
182       ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
183       ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbs}
184       COPYONLY
185       )
186     GET_FILENAME_COMPONENT(bbs_path ${bbs} PATH)
187     
188     
189     IF(WIN32)
190     INSTALL(
191       FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
192   #    DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
193       DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
194       )
195 ELSE(WIN32)
196     INSTALL(
197       FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
198       DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
199   #    DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
200       )
201 ENDIF(WIN32)
202   ENDFOREACH(bbs)
203   FILE(APPEND 
204     "${OUTPUT_FILE}"
205       "#-----------------------------------------\n"
206       "endpackage\n"
207       "#-- EOF ----------------------------------\n"
208     )
209 IF(WIN32)  
210   INSTALL(
211     FILES ${OUTPUT_FILE}
212    # DESTINATION ${BBTK_BBS_INSTALL_PATH}
213     DESTINATION ${BBTK_BBS_REL_PATH}
214     )
215 ELSE(WIN32)  
216   INSTALL(
217     FILES ${OUTPUT_FILE}
218     DESTINATION ${BBTK_BBS_INSTALL_PATH}
219    # DESTINATION ${BBTK_BBS_REL_PATH}
220     )
221 ENDIF(WIN32)  
222 #  ADD_CUSTOM_TARGET(${BBTK_PACKAGE_NAME}.bbp ALL
223 #    DEPENDS  ${OUTPUT_FILE}
224 #    )
225
226
227 ENDMACRO(BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)