]> 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   )
51 #----------------------------------------------------------------------------
52
53   IF(NOT WIN32)
54     # runs bbRegeneratePackageDoc and bbRegenerateBoxesLists 
55     # as a post install step
56     # does not work on windaube
57     IF(NOT BBTK_CORE_PACKAGE)
58
59 ##EED 25oct2010
60 #      INSTALL(CODE 
61 #       "EXECUTE_PROCESS(COMMAND echo -- Executing '${BBTK_BIN_PATH}/bbPostInstallPackage ${BBTK_PACKAGE_NAME}')"
62 #       )
63 #     INSTALL(CODE 
64 #       "EXECUTE_PROCESS(COMMAND ${BBTK_BIN_PATH}/bbPostInstallPackage ${BBTK_PACKAGE_NAME})"
65 #       )
66 # 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\")")
67
68
69     ENDIF(NOT BBTK_CORE_PACKAGE)
70   ENDIF(NOT WIN32)
71
72
73 #----------------------------------------------------------------------------
74 #---------------------------------------------------------------------------
75 IF(BBTK_CORE_PACKAGE)
76   # If a core package set option from bbtk global one
77   IF (BUILD_BBS_APPLI_BINARIES)
78     SET(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_BBS_APP OFF)
79   ELSE (BUILD_BBS_APPLI_BINARIES)
80     SET(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_BBS_APP OFF)
81   ENDIF (BUILD_BBS_APPLI_BINARIES)
82 ELSE(BBTK_CORE_PACKAGE)
83   # If not a core package 
84   # Create the option
85   OPTION(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_BBS_APP 
86     "Build binaries for bbs applications of package ${BBTK_PACKAGE_NAME} ?" OFF)
87 ##EED  SWITCH_ON_IF_BUILD_ALL(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_BBS_APP)
88 ENDIF(BBTK_CORE_PACKAGE)
89 #---------------------------------------------------------------------------
90
91
92 IF (BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_BBS_APP)
93   FOREACH(bbs ${${BBTK_PACKAGE_NAME}_BBS_APPLI})  
94     GET_FILENAME_COMPONENT(name "${bbs}" NAME_WE) 
95     SET(OUTPUT bb${name})
96     ADD_CUSTOM_COMMAND(
97       OUTPUT ${BBTK_BIN_PATH}/${OUTPUT}
98       COMMAND 
99       cd ${BBTK_BIN_PATH} && ${BBTK_BBC} ${BBTK_PACKAGE_NAME}/appli/${name}
100       DEPENDS ${bbs}
101       ${BBTK_BBS2CPP_DEPENDENCY} 
102       )
103     INSTALL(
104       FILES ${BBTK_BIN_PATH}/${OUTPUT}
105       DESTINATION bin
106       PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
107       )
108     ADD_CUSTOM_TARGET(
109       ${OUTPUT} ALL
110       DEPENDS ${BBTK_BIN_PATH}/${OUTPUT} 
111       )
112   ENDFOREACH(bbs)
113 ENDIF (BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_BBS_APP)
114 #----------------------------------------------------------------------------