]> Creatis software - bbtk.git/blob - kernel/cmake/BBTKConfigurePackage_bbs.cmake
no message
[bbtk.git] / kernel / cmake / BBTKConfigurePackage_bbs.cmake
1
2 #----------------------------------------------------------------------------
3 IF(${BBTK_PACKAGE_NAME}_INCLUDE_ALL_BBS_BOXES) 
4   FILE(GLOB 
5     ${BBTK_PACKAGE_NAME}_BBS_BOXES 
6     RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
7     "boxes/*.bbs"
8     )
9
10   FILE(GLOB 
11     ${BBTK_PACKAGE_NAME}_BBG_BOXES 
12     RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
13     "boxes/*.bbg"
14     )
15
16
17 # !! Produces a cmake seg. fault :
18 #  FILE(GLOB 
19 #    ${BBTK_PACKAGE_NAME}_BBS_BOXES 
20 #    "boxes/"
21 #    )
22
23
24 ENDIF(${BBTK_PACKAGE_NAME}_INCLUDE_ALL_BBS_BOXES) 
25 #----------------------------------------------------------------------------
26
27 #----------------------------------------------------------------------------
28 IF(${BBTK_PACKAGE_NAME}_INCLUDE_ALL_BBS_APPLI) 
29
30   FILE(GLOB ${BBTK_PACKAGE_NAME}_BBS_APPLI 
31     RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
32     "appli/*.bbs"
33     )
34   FILE(GLOB ${BBTK_PACKAGE_NAME}_BBG_APPLI 
35     RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
36     "appli/*.bbg"
37     )
38
39
40 ENDIF(${BBTK_PACKAGE_NAME}_INCLUDE_ALL_BBS_APPLI) 
41 #----------------------------------------------------------------------------
42
43 #----------------------------------------------------------------------------
44 INCLUDE(${BBTK_CMAKE_DIR}/BBTKCreatePackageIncludeScript.cmake)
45
46 BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT(
47   "${BBTK_PACKAGE_NAME}"
48   "${${BBTK_PACKAGE_NAME}_BBS_BOXES}"
49   "${${BBTK_PACKAGE_NAME}_BBS_APPLI}"
50   "${${BBTK_PACKAGE_NAME}_BBG_BOXES}"
51   "${${BBTK_PACKAGE_NAME}_BBG_APPLI}"
52   )
53 #----------------------------------------------------------------------------
54
55   IF(NOT WIN32)
56     # runs bbRegeneratePackageDoc and bbRegenerateBoxesLists 
57     # as a post install step
58     # does not work on windaube
59     IF(NOT BBTK_CORE_PACKAGE)
60
61 ##EED 25oct2010
62 #      INSTALL(CODE 
63 #       "EXECUTE_PROCESS(COMMAND echo -- Executing '${BBTK_BIN_PATH}/bbPostInstallPackage ${BBTK_PACKAGE_NAME}')"
64 #       )
65 #     INSTALL(CODE 
66 #       "EXECUTE_PROCESS(COMMAND ${BBTK_BIN_PATH}/bbPostInstallPackage ${BBTK_PACKAGE_NAME})"
67 #       )
68 # COMMAND cd ${BBTK_BIN_PATH} COMMAND export LD_LIBRARY_PATH=\"../lib:$ENV{LD_LIBRARY_PATH}\" COMMAND bbRegeneratePackageDoc ${BBTK_PACKAGE_NAME} COMMAND bbRegenerateBoxesLists COMMAND echo \"done\")")
69
70
71     ENDIF(NOT BBTK_CORE_PACKAGE)
72   ENDIF(NOT WIN32)
73
74
75 #----------------------------------------------------------------------------
76 #---------------------------------------------------------------------------
77 IF(BBTK_CORE_PACKAGE)
78   # If a core package set option from bbtk global one
79   IF (BUILD_BBS_APPLI_BINARIES)
80     SET(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_BBS_APP OFF)
81   ELSE (BUILD_BBS_APPLI_BINARIES)
82     SET(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_BBS_APP OFF)
83   ENDIF (BUILD_BBS_APPLI_BINARIES)
84 ELSE(BBTK_CORE_PACKAGE)
85   # If not a core package 
86   # Create the option
87   OPTION(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_BBS_APP 
88     "Build binaries for bbs applications of package ${BBTK_PACKAGE_NAME} ?" OFF)
89 ##EED  SWITCH_ON_IF_BUILD_ALL(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_BBS_APP)
90 ENDIF(BBTK_CORE_PACKAGE)
91 #---------------------------------------------------------------------------
92
93
94 IF (BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_BBS_APP)
95   FOREACH(bbs ${${BBTK_PACKAGE_NAME}_BBS_APPLI})  
96     GET_FILENAME_COMPONENT(name "${bbs}" NAME_WE) 
97     SET(OUTPUT bb${name})
98     ADD_CUSTOM_COMMAND(
99       OUTPUT ${BBTK_BIN_PATH}/${OUTPUT}
100       COMMAND 
101       cd ${BBTK_BIN_PATH} && ${BBTK_BBC} ${BBTK_PACKAGE_NAME}/appli/${name}
102       DEPENDS ${bbs}
103       ${BBTK_BBS2CPP_DEPENDENCY} 
104       )
105     INSTALL(
106       FILES ${BBTK_BIN_PATH}/${OUTPUT}
107       DESTINATION bin
108       PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
109       )
110     ADD_CUSTOM_TARGET(
111       ${OUTPUT} ALL
112       DEPENDS ${BBTK_BIN_PATH}/${OUTPUT} 
113       )
114   ENDFOREACH(bbs)
115 ENDIF (BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_BBS_APP)
116 #----------------------------------------------------------------------------