]> Creatis software - bbtk.git/blob - kernel/cmake/BBTKCreatePackageIncludeScript.cmake
fordet to commlit this ones
[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   # Creates the file ${BBTK_PACKAGE_NAME}.bbp
6   SET(OUTPUT_FILE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}.bbp)
7   FILE(WRITE 
8     "${OUTPUT_FILE}" 
9     "#-----------------------------------------\n"
10     "# Include script for bbtk package '${BBTK_PACKAGE_NAME}'\n"
11     "# Automatically generated by cmake (macro BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)\n")
12   FILE(APPEND 
13     "${OUTPUT_FILE}"
14     "#-----------------------------------------\n"
15     "load ${BBTK_PACKAGE_NAME}\n"
16     "#-----------------------------------------\n"
17     "package ${BBTK_PACKAGE_NAME}\n"
18     )
19   
20   #FILE(APPEND 
21   #  "${OUTPUT_FILE}"
22   #  "#-----------------------------------------\n"
23   #  "include ${BBTK_PACKAGE_NAME}/boxes/*\n"
24   #  )
25   
26   FOREACH(bbs ${BBTK_PACKAGE_BBS_BOXES})  
27     FILE(APPEND 
28       "${OUTPUT_FILE}"
29       "#-----------------------------------------\n"
30       "include ${BBTK_PACKAGE_NAME}/${bbs}\n"
31       )
32     CONFIGURE_FILE(
33       ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
34       ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbs}
35       COPYONLY
36       )
37     GET_FILENAME_COMPONENT(bbs_path ${bbs} PATH)
38     
39     
40     IF(WIN32)
41     INSTALL(
42       FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
43 #      DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
44       DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
45     )
46 ELSE(WIN32)
47 INSTALL(
48       FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
49       DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
50 #      DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
51     )
52 ENDIF(WIN32)
53   ENDFOREACH(bbs)
54   FILE(APPEND 
55     "${OUTPUT_FILE}"
56       "#-----------------------------------------\n"
57       "endpackage\n"
58       "#-- EOF ----------------------------------\n"
59     )
60  IF(WIN32)
61   INSTALL(
62     FILES ${OUTPUT_FILE}
63 #    DESTINATION ${BBTK_BBS_INSTALL_PATH}
64     DESTINATION ${BBTK_BBS_REL_PATH}
65     )
66 ELSE(WIN32)
67   INSTALL(
68     FILES ${OUTPUT_FILE}
69     DESTINATION ${BBTK_BBS_INSTALL_PATH}
70 #   DESTINATION ${BBTK_BBS_REL_PATH}
71     )
72 ENDIF(WIN32)
73   # Creates the file ${BBTK_PACKAGE_NAME}-appli.bbp
74   SET(OUTPUT_FILE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}-appli.bbp)
75   FILE(WRITE 
76     "${OUTPUT_FILE}" 
77     "#-----------------------------------------\n"
78     "# Applications include script for bbtk package '${BBTK_PACKAGE_NAME}'\n"
79     "# Automatically generated by cmake (macro BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)\n")
80   FILE(APPEND 
81     "${OUTPUT_FILE}"
82     "#-----------------------------------------\n"
83     "load ${BBTK_PACKAGE_NAME}\n"
84     "#-----------------------------------------\n"
85     "package ${BBTK_PACKAGE_NAME}\n"
86     )
87   FOREACH(bbs ${BBTK_PACKAGE_BBS_APPLI}) 
88  
89     GET_FILENAME_COMPONENT(filename "${bbs}" NAME_WE) 
90     FILE(APPEND 
91       "${OUTPUT_FILE}"
92       "#-----------------------------------------\n"
93       "define ${filename}\n"
94       "include ${BBTK_PACKAGE_NAME}/${bbs} source\n"
95       "endefine\n"
96       )
97       
98     CONFIGURE_FILE(
99       ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
100       ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbs}
101       COPYONLY
102       )
103     GET_FILENAME_COMPONENT(bbs_path ${bbs} PATH)
104     
105     
106     IF(WIN32)
107     INSTALL(
108       FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
109   #    DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
110       DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
111       )
112 ELSE(WIN32)
113     INSTALL(
114       FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
115       DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
116   #    DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
117       )
118 ENDIF(WIN32)
119   ENDFOREACH(bbs)
120   FILE(APPEND 
121     "${OUTPUT_FILE}"
122       "#-----------------------------------------\n"
123       "endpackage\n"
124       "#-- EOF ----------------------------------\n"
125     )
126 IF(WIN32)  
127   INSTALL(
128     FILES ${OUTPUT_FILE}
129    # DESTINATION ${BBTK_BBS_INSTALL_PATH}
130     DESTINATION ${BBTK_BBS_REL_PATH}
131     )
132 ELSE(WIN32)  
133   INSTALL(
134     FILES ${OUTPUT_FILE}
135     DESTINATION ${BBTK_BBS_INSTALL_PATH}
136    # DESTINATION ${BBTK_BBS_REL_PATH}
137     )
138 ENDIF(WIN32)  
139 #  ADD_CUSTOM_TARGET(${BBTK_PACKAGE_NAME}.bbp ALL
140 #    DEPENDS  ${OUTPUT_FILE}
141 #    )
142
143
144 ENDMACRO(BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)