]> Creatis software - bbtk.git/blob - kernel/cmake/BBTKDefineOptions.cmake
Feature #1774
[bbtk.git] / kernel / cmake / BBTKDefineOptions.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 # messages compilation options 
29 OPTION ( BBTK_COMPILE_MESSAGES         "Compile bbtk messages ?"         ON)
30 OPTION ( BBTK_COMPILE_DEBUG_MESSAGES   "Compile bbtk debug messages ?"   ON)
31 OPTION ( BBTK_COMPILE_WARNING_MESSAGES "Compile bbtk warning messages ?" ON)
32 OPTION ( BBTK_COMPILE_ERROR_MESSAGES   "Compile bbtk error messages ?"   ON)
33 #-----------------------------------------------------------------------------
34 OPTION(BUILD_APPLICATIONS "Build Applications (bbi, bbfy, ...)" ON)
35 OPTION(BUILD_BBS_APPLI_BINARIES "Build binaries for bbs applications of all packages" OFF)
36 ##EED   SWITCH_ON_IF_BUILD_ALL(BUILD_BBS_APPLI_BINARIES)
37 #-----------------------------------------------------------------------------
38 OPTION(BUILD_BBTK_DOC "Build documentation for bbtk." OFF)
39 SWITCH_ON_IF_BUILD_ALL(BUILD_BBTK_DOC)
40 #-----------------------------------------------------------------------------
41 IF(BUILD_BBTK_DOC)
42
43   OPTION(BUILD_BBTK_DOC_PACKAGE 
44     "Build bbtk packages documentation (bbi+dot)."       ON)
45   OPTION(BUILD_BBTK_DOC_DOXYGEN 
46     "Build doxygen documentation (doxygen)."             ON)
47   OPTION(BUILD_BBTK_DOC_GUIDES_PDF 
48     "Build bbtk Guides', PDF format (latex)."            ON)
49   OPTION(BUILD_BBTK_DOC_GUIDES_HTML 
50     "Build bbtk Guides', HTML format (latex+tth)."       OFF)
51
52 ELSE(BUILD_BBTK_DOC)
53   
54   IF(BUILD_BBTK_DOC_PACKAGE)
55     SET(BUILD_BBTK_DOC_PACKAGE OFF CACHE BOOL 
56       "Build bbtk packages documentation (bbdoc+dot)."  FORCE)
57   ENDIF(BUILD_BBTK_DOC_PACKAGE)
58   IF(BUILD_BBTK_DOC_DOXYGEN)
59     SET(BUILD_BBTK_DOC_DOXYGEN OFF CACHE BOOL 
60       "Build doxygen documentation. (doxygen)"          FORCE)
61   ENDIF(BUILD_BBTK_DOC_DOXYGEN)
62   
63   IF(BUILD_BBTK_DOC_GUIDES_PDF)
64     SET(BUILD_BBTK_DOC_GUIDES_PDF OFF CACHE BOOL 
65       "Build bbtk Guides', PDF format (latex)." FORCE)
66   ENDIF(BUILD_BBTK_DOC_GUIDES_PDF)
67   
68   IF(BUILD_BBTK_DOC_GUIDES_HTML)
69     SET(BUILD_BBTK_DOC_GUIDES_HTML OFF CACHE BOOL 
70       "Build bbtk Guides', HTML format (latex tth)."            FORCE)
71   ENDIF(BUILD_BBTK_DOC_GUIDES_HTML)
72 #  IF(BUILD_BBTK_DOC_SCRIPTS)
73 #    SET(BUILD_BBTK_DOC_SCRIPTS_HTML OFF CACHE BOOL 
74 #      "Build bbtk scripts documentation (bbi+dot)."            FORCE)
75 #  ENDIF(BUILD_BBTK_DOC_SCRIPTS)
76   
77 ENDIF(BUILD_BBTK_DOC)
78 #-----------------------------------------------------------------------------
79
80 #-----------------------------------------------------------------------------
81 # BOOST C++
82 #SET(BBTK_SHIPPED_BOOST boost_1_35_0 CACHE INTERNAL "Shipped boost dir" FORCE)
83 #OPTION(BBTK_USE_SHIPPED_BOOST 
84 #  "Use the shipped boost C++ library (${BBTK_SHIPPED_BOOST})" ON)
85 #-----------------------------------------------------------------------------
86
87 #-----------------------------------------------------------------------------
88 OPTION(BBTK_USE_WXWIDGETS "Build bbtk with wxWidgets ?" OFF)
89 IF(BBTK_USE_WXWIDGETS)
90   SET(USE_WXWIDGETS ON CACHE BOOL "Use WxWidgets" FORCE)
91 ELSE(BBTK_USE_WXWIDGETS)
92   SET(USE_WXWIDGETS OFF CACHE BOOL "Use WxWidgets" FORCE)
93 ENDIF(BBTK_USE_WXWIDGETS)
94 #-----------------------------------------------------------------------------
95
96 #-----------------------------------------------------------------------------
97 # LG 25/05/09 : KW NOT SUPPORTED ANYMORE
98 #OPTION(BBTK_USE_KWWIDGETS "Build bbtk with KWWidgets ?" OFF)
99 IF (BBTK_USE_KWWIDGETS)
100   SET(USE_KWWIDGETS ON CACHE BOOL "Use KWWidgets" FORCE)
101 ELSE (BBTK_USE_KWWIDGETS)
102   SET(USE_KWWIDGETS OFF CACHE BOOL "Use KWWidgets" FORCE)
103 ENDIF (BBTK_USE_KWWIDGETS)
104 #SWITCH_ON_IF_BUILD_ALL(BBTK_USE_KWWIDGETS)
105 #-----------------------------------------------------------------------------
106
107 #-----------------------------------------------------------------------------
108 OPTION(BBTK_USE_QT "Build bbtk with QT ?" OFF)
109 IF (BBTK_USE_QT)
110   SET(USE_QT4 ON CACHE BOOL "Use QT" FORCE)
111 ELSE (BBTK_USE_QT)
112   SET(USE_QT4 OFF CACHE BOOL "Use QT" FORCE)
113 ENDIF (BBTK_USE_QT)
114 SWITCH_ON_IF_BUILD_ALL(BBTK_USE_QT)
115 #-----------------------------------------------------------------------------
116
117
118 #-----------------------------------------------------------------------------
119 IF(USE_ITK)
120   IF(ITK_FOUND)
121     MESSAGE(STATUS "")
122     MESSAGE(STATUS "=======================================")
123     MESSAGE(STATUS "Resolving ITK images options...")
124     # images compilation option 
125     OPTION ( itk_IMAGE_DIM_2 "itk : Compile 2D images" ON)
126     OPTION ( itk_IMAGE_DIM_3 "itk : Compile 3D images" ON)
127     OPTION ( itk_IMAGE_DIM_4 "itk : Compile 4D images" ON)
128     OPTION ( itk_IMAGE_TYPE_CHAR "itk : Compile char images" ON)
129     OPTION ( itk_IMAGE_TYPE_UCHAR "itk : Compile unsigned char images" ON)
130     OPTION ( itk_IMAGE_TYPE_SHORT "itk : Compile short images" ON)
131     OPTION ( itk_IMAGE_TYPE_USHORT "itk : Compile unsigned short images" ON)
132     OPTION ( itk_IMAGE_TYPE_INT "itk : Compile int images" ON)
133     OPTION ( itk_IMAGE_TYPE_UINT "itk : Compile unsigned int images" ON)
134     OPTION ( itk_IMAGE_TYPE_FLOAT "itk : Compile float images" ON)
135     OPTION ( itk_IMAGE_TYPE_DOUBLE "itk : Compile double images" ON)
136     
137     IF ( itk_IMAGE_DIM_2 ) 
138       CREA_DEFINE( BBTK_ITK_IMAGE_DIM_2 )
139     ENDIF ( itk_IMAGE_DIM_2 )
140     
141     IF ( itk_IMAGE_DIM_3 ) 
142       CREA_DEFINE( BBTK_ITK_IMAGE_DIM_3 )
143     ENDIF ( itk_IMAGE_DIM_3 )
144     
145     IF ( itk_IMAGE_DIM_4 ) 
146       CREA_DEFINE( BBTK_ITK_IMAGE_DIM_4 )
147     ENDIF ( itk_IMAGE_DIM_4 )
148
149     IF ( itk_IMAGE_TYPE_CHAR ) 
150       CREA_DEFINE( BBTK_ITK_IMAGE_TYPE_int8_t )
151     ENDIF ( itk_IMAGE_TYPE_CHAR )
152
153     IF ( itk_IMAGE_TYPE_UCHAR ) 
154       CREA_DEFINE( BBTK_ITK_IMAGE_TYPE_uint8_t )
155     ENDIF ( itk_IMAGE_TYPE_UCHAR )
156     
157     IF ( itk_IMAGE_TYPE_SHORT ) 
158       CREA_DEFINE( BBTK_ITK_IMAGE_TYPE_int16_t )
159     ENDIF ( itk_IMAGE_TYPE_SHORT )
160     
161     IF ( itk_IMAGE_TYPE_USHORT ) 
162       CREA_DEFINE( BBTK_ITK_IMAGE_TYPE_uint16_t )
163     ENDIF ( itk_IMAGE_TYPE_USHORT )
164     
165     IF ( itk_IMAGE_TYPE_INT ) 
166       CREA_DEFINE( BBTK_ITK_IMAGE_TYPE_int32_t )
167     ENDIF ( itk_IMAGE_TYPE_INT )
168     
169     IF ( itk_IMAGE_TYPE_UINT ) 
170       CREA_DEFINE( BBTK_ITK_IMAGE_TYPE_uint32_t )
171     ENDIF ( itk_IMAGE_TYPE_UINT )
172     
173     IF ( itk_IMAGE_TYPE_FLOAT ) 
174       CREA_DEFINE( BBTK_ITK_IMAGE_TYPE_float )
175     ENDIF ( itk_IMAGE_TYPE_FLOAT )
176     
177     IF ( itk_IMAGE_TYPE_DOUBLE ) 
178       CREA_DEFINE( BBTK_ITK_IMAGE_TYPE_double )
179     ENDIF ( itk_IMAGE_TYPE_DOUBLE )
180     MESSAGE(STATUS "=======================================")
181
182   ENDIF(ITK_FOUND)
183 ENDIF(USE_ITK)
184 #-----------------------------------------------------------------------------
185