]> Creatis software - bbtk.git/blob - kernel/cmake/BBTKConfigurePackage_bbs.cmake
Merge branch 'master' of ssh://git.creatis.insa-lyon.fr/bbtk
[bbtk.git] / kernel / cmake / BBTKConfigurePackage_bbs.cmake
1  # ---------------------------------------------------------------------
2  #
3  # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
4  #                        pour la SantÈ)
5  # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
6  # Previous Authors : Laurent Guigues, Jean-Pierre Roux
7  # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
8  #
9  #  This software is governed by the CeCILL-B license under French law and
10  #  abiding by the rules of distribution of free software. You can  use,
11  #  modify and/ or redistribute the software under the terms of the CeCILL-B
12  #  license as circulated by CEA, CNRS and INRIA at the following URL
13  #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
14  #  or in the file LICENSE.txt.
15  #
16  #  As a counterpart to the access to the source code and  rights to copy,
17  #  modify and redistribute granted by the license, users are provided only
18  #  with a limited warranty  and the software's author,  the holder of the
19  #  economic rights,  and the successive licensors  have only  limited
20  #  liability.
21  #
22  #  The fact that you are presently reading this means that you have had
23  #  knowledge of the CeCILL-B license and that you accept its terms.
24  # ------------------------------------------------------------------------ */
25
26
27
28 #----------------------------------------------------------------------------
29 IF(${BBTK_PACKAGE_NAME}_INCLUDE_ALL_BBS_BOXES) 
30
31   FILE(GLOB 
32     ${BBTK_PACKAGE_NAME}_BBS_BOXES 
33     RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
34     "boxes/*.bbs"
35     )
36
37   FILE(GLOB 
38     ${BBTK_PACKAGE_NAME}_BBG_BOXES 
39     RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
40     "boxes/*.bbg"
41     )
42
43
44 # !! Produces a cmake seg. fault :
45 #  FILE(GLOB 
46 #    ${BBTK_PACKAGE_NAME}_BBS_BOXES 
47 #    "boxes/"
48 #    )
49
50
51 ENDIF(${BBTK_PACKAGE_NAME}_INCLUDE_ALL_BBS_BOXES) 
52 #----------------------------------------------------------------------------
53
54 #----------------------------------------------------------------------------
55 IF(${BBTK_PACKAGE_NAME}_INCLUDE_ALL_BBS_APPLI) 
56
57   FILE(GLOB ${BBTK_PACKAGE_NAME}_BBS_APPLI 
58     RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
59     "appli/*.bbs"
60     )
61   FILE(GLOB ${BBTK_PACKAGE_NAME}_BBG_APPLI 
62     RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
63     "appli/*.bbg"
64     )
65
66
67 ENDIF(${BBTK_PACKAGE_NAME}_INCLUDE_ALL_BBS_APPLI) 
68 #----------------------------------------------------------------------------
69
70 #----------------------------------------------------------------------------
71 INCLUDE(${BBTK_CMAKE_DIR}/BBTKCreatePackageIncludeScript.cmake)
72
73 BBTK_CREATE_PACKAGE_INCLUDE_SCRIPT(
74   "${BBTK_PACKAGE_NAME}"
75   "${${BBTK_PACKAGE_NAME}_BBS_BOXES}"
76   "${${BBTK_PACKAGE_NAME}_BBS_APPLI}"
77   "${${BBTK_PACKAGE_NAME}_BBG_BOXES}"
78   "${${BBTK_PACKAGE_NAME}_BBG_APPLI}"
79   )
80 #----------------------------------------------------------------------------
81
82   IF(NOT WIN32)
83     # runs bbRegeneratePackageDoc and bbRegenerateBoxesLists 
84     # as a post install step
85     # does not work on windaube
86     IF(NOT BBTK_CORE_PACKAGE)
87
88 ##EED 25oct2010
89 #      INSTALL(CODE 
90 #       "EXECUTE_PROCESS(COMMAND echo -- Executing '${BBTK_BIN_PATH}/bbPostInstallPackage ${BBTK_PACKAGE_NAME}')"
91 #       )
92 #     INSTALL(CODE 
93 #       "EXECUTE_PROCESS(COMMAND ${BBTK_BIN_PATH}/bbPostInstallPackage ${BBTK_PACKAGE_NAME})"
94 #       )
95 # 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\")")
96
97
98     ENDIF(NOT BBTK_CORE_PACKAGE)
99   ENDIF(NOT WIN32)
100
101
102 #----------------------------------------------------------------------------
103 #---------------------------------------------------------------------------
104 IF(BBTK_CORE_PACKAGE)
105   # If a core package set option from bbtk global one
106   IF (BUILD_BBS_APPLI_BINARIES)
107     SET(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_BBS_APP OFF)
108   ELSE (BUILD_BBS_APPLI_BINARIES)
109     SET(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_BBS_APP OFF)
110   ENDIF (BUILD_BBS_APPLI_BINARIES)
111 ELSE(BBTK_CORE_PACKAGE)
112   # If not a core package 
113   # Create the option
114   OPTION(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_BBS_APP 
115     "Build binaries for bbs applications of package ${BBTK_PACKAGE_NAME} ?" OFF)
116 ##EED  SWITCH_ON_IF_BUILD_ALL(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_BBS_APP)
117 ENDIF(BBTK_CORE_PACKAGE)
118 #---------------------------------------------------------------------------
119
120
121 IF (BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_BBS_APP)
122   FOREACH(bbs ${${BBTK_PACKAGE_NAME}_BBS_APPLI})  
123     GET_FILENAME_COMPONENT(name "${bbs}" NAME_WE) 
124     SET(OUTPUT bb${name})
125     ADD_CUSTOM_COMMAND(
126       OUTPUT ${BBTK_BIN_PATH}/${OUTPUT}
127       COMMAND 
128       cd ${BBTK_BIN_PATH} && ${BBTK_BBC} ${BBTK_PACKAGE_NAME}/appli/${name}
129       DEPENDS ${bbs}
130       ${BBTK_BBS2CPP_DEPENDENCY} 
131       )
132     INSTALL(
133       FILES ${BBTK_BIN_PATH}/${OUTPUT}
134       DESTINATION bin
135       PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
136       )
137     ADD_CUSTOM_TARGET(
138       ${OUTPUT} ALL
139       DEPENDS ${BBTK_BIN_PATH}/${OUTPUT} 
140       )
141   ENDFOREACH(bbs)
142 ENDIF (BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_BBS_APP)
143 #----------------------------------------------------------------------------