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