]> Creatis software - bbtk.git/blob - kernel/cmake/BBTKCreatePackageIncludeScript.cmake
Windows compilation
[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     GET_FILENAME_COMPONENT(filename "${bbs}" NAME_WE) 
89     FILE(APPEND 
90       "${OUTPUT_FILE}"
91       "#-----------------------------------------\n"
92       "define ${filename}\n"
93       "include ${BBTK_PACKAGE_NAME}/${bbs} source\n"
94       "endefine\n"
95       )
96     CONFIGURE_FILE(
97       ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
98       ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}/${bbs}
99       COPYONLY
100       )
101     GET_FILENAME_COMPONENT(bbs_path ${bbs} PATH)
102     
103     
104     IF(WIN32)
105     INSTALL(
106       FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
107   #    DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
108       DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
109       )
110 ELSE(WIN32)
111     INSTALL(
112       FILES ${CMAKE_CURRENT_SOURCE_DIR}/${bbs}
113       DESTINATION ${BBTK_BBS_INSTALL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
114   #    DESTINATION ${BBTK_BBS_REL_PATH}/${BBTK_PACKAGE_NAME}/${bbs_path}
115       )
116 ENDIF(WIN32)
117   ENDFOREACH(bbs)
118   FILE(APPEND 
119     "${OUTPUT_FILE}"
120       "#-----------------------------------------\n"
121       "endpackage\n"
122       "#-- EOF ----------------------------------\n"
123     )
124 IF(WIN32)  
125   INSTALL(
126     FILES ${OUTPUT_FILE}
127    # DESTINATION ${BBTK_BBS_INSTALL_PATH}
128     DESTINATION ${BBTK_BBS_REL_PATH}
129     )
130 ELSE(WIN32)  
131   INSTALL(
132     FILES ${OUTPUT_FILE}
133     DESTINATION ${BBTK_BBS_INSTALL_PATH}
134    # DESTINATION ${BBTK_BBS_REL_PATH}
135     )
136 ENDIF(WIN32)  
137 #  ADD_CUSTOM_TARGET(${BBTK_PACKAGE_NAME}.bbp ALL
138 #    DEPENDS  ${OUTPUT_FILE}
139 #    )
140
141
142 ENDMACRO(BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT)