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