0030691: Data Exchange - implement import of mesh data from files in glTF format
[occt.git] / adm / cmake / vardescr.cmake
1 # variable description
2
3
4 set (BUILD_PATCH_DESCR 
5 "Points to the directory recognized as a 'patch' for OCCT. If specified,
6 the files from this directory take precedence over the corresponding native
7 OCCT sources. This way you are able to introduce patches to Open CASCADE
8 Technology not affecting the original source distribution")
9
10
11 set (BUILD_LIBRARY_TYPE_DESCR 
12 "Specifies the type of library to be created. 'Shared' libraries
13 are linked dynamically and loaded at runtime. 'Static' libraries
14 are archives of object files for use when linking other targets")
15
16 set (BUILD_YACCLEX_DESCR 
17 "Enables Flex/Bison lexical analyzers. OCCT source files relating to STEP reader and
18 ExprIntrp functionality are generated automatically with Flex/Bison. Checking this options
19 leads to automatic search of Flex/Bison binaries and regeneration of the mentioned files")
20
21 set (BUILD_RESOURCES_DESCR "Enables regeneration of OCCT resource files")
22
23 set (BUILD_WITH_DEBUG_DESCR
24 "Enables extended messages of many OCCT algorithms, usually printed to cout.
25 These include messages on internal errors and special cases encountered, timing etc.
26 Applies only for Debug configuration.")
27
28 set (BUILD_SHARED_LIBRARY_NAME_POSTFIX_DESCR
29 "Append the postfix to names of output libraries")
30
31 set (BUILD_RELEASE_DISABLE_EXCEPTIONS_DESCR
32 "Disables exceptions like Standard_OutOfRange in Release builds.
33 Defines No_Exception macros for Release builds when enabled (default).
34 These exceptions are always enabled in Debug builds, but disable in Release for better performance")
35
36 set (BUILD_ENABLE_FPE_SIGNAL_HANDLER_DESCR
37 "Enable/Disable the floating point exceptions (FPE) during DRAW execution only.
38 Corresponding environment variable (CSF_FPE) can be changed manually
39 in custom.bat/sh scripts without regeneration by CMake.")
40
41 set (BUILD_USE_PCH_DESCR
42 "Use precompiled headers to accelerate the build.
43 Precompiled headers are generated automatically by Cotire tool.")
44
45 # install variables
46 set (INSTALL_DIR_DESCR 
47 "The place where built OCCT libraries, headers, test cases (INSTALL_TEST_CASES variable),
48 samples (INSTALL_SAMPLES_DESCR variable) and certain 3rdparties (INSTALL_TBB and
49 other similar variables) will be placed during the installation process (building INSTALL project)")
50
51 set (INSTALL_DIR_WITH_VERSION_DESCR
52 "Use OCCT version number as suffix for names of directories")
53
54 set (INSTALL_DIR_LAYOUT_DESCR
55 "Defines structure of OCCT files (binaries, resources, headers etc.) for the install directory.
56 Two variants are predefined: for Windows (standard OCCT layout) and for Unix operating systems (standard Linux layout).
57 If needed, layout can be customized with INSTALL_DIR_* variables.")
58
59 set (INSTALL_DIR_BIN_DESCR 
60 "Subdirectory of INSTALL_DIR where binaries will be installed")
61 set (INSTALL_DIR_INCLUDE_DESCR 
62 "Subdirectory of INSTALL_DIR where OCCT headers will be installed")
63 set (INSTALL_DIR_DATA_DESCR 
64 "Subdirectory of INSTALL_DIR where sample data files will be installed")
65 set (INSTALL_DIR_DOC_DESCR 
66 "Subdirectory of INSTALL_DIR where documentation will be installed")
67 set (INSTALL_DIR_LIB_DESCR 
68 "Subdirectory of INSTALL_DIR where libraries (.so on Linux, .lib on Windows) will be installed")
69 set (INSTALL_DIR_RESOURCE_DESCR 
70 "Subdirectory of INSTALL_DIR where OCCT resource files will be installed")
71 set (INSTALL_DIR_SAMPLES_DESCR 
72 "Subdirectory of INSTALL_DIR where samples will be installed")
73 set (INSTALL_DIR_TESTS_DESCR 
74 "Subdirectory of INSTALL_DIR where test scripts will be installed")
75 set (INSTALL_DIR_SCRIPT_DESCR 
76 "Subdirectory of INSTALL_DIR where scripts will be installed")
77 set (INSTALL_DIR_CMAKE_DESCR 
78 "Subdirectory of INSTALL_DIR where CMake configuration files will be installed.
79 Must be three levels below INSTALL_DIR")
80
81 macro (INSTALL_MESSAGE INSTALL_TARGET_VARIABLE INSTALL_TARGET_STRING)
82 set (${INSTALL_TARGET_VARIABLE}_DESCR
83 "Indicates whether ${INSTALL_TARGET_STRING} should be installed (building INSTALL
84 project) into the installation directory (INSTALL_DIR variable)")
85 endmacro()
86
87 INSTALL_MESSAGE (INSTALL_SAMPLES          "OCCT samples")
88 INSTALL_MESSAGE (INSTALL_TEST_CASES       "non-regression OCCT test scripts")
89 INSTALL_MESSAGE (INSTALL_DOC_Overview     "OCCT overview documentation (HTML format)")
90 INSTALL_MESSAGE (INSTALL_FFMPEG           "FFmpeg binaries")
91 INSTALL_MESSAGE (INSTALL_FREEIMAGE        "FreeImage binaries")
92 INSTALL_MESSAGE (INSTALL_EIGEN            "EIGEN header files")
93 INSTALL_MESSAGE (INSTALL_EGL              "EGL binaries")
94 INSTALL_MESSAGE (INSTALL_GLES2            "OpenGL ES 2.0 binaries")
95 INSTALL_MESSAGE (INSTALL_FREETYPE         "FreeType binaries")
96 INSTALL_MESSAGE (INSTALL_TBB              "TBB binaries")
97 INSTALL_MESSAGE (INSTALL_RAPIDJSON        "RapidJSON header files")
98 INSTALL_MESSAGE (INSTALL_TCL              "TCL binaries")
99 INSTALL_MESSAGE (INSTALL_TK               "TK binaries")
100 INSTALL_MESSAGE (INSTALL_VTK              "VTK binaries ")
101
102 # build variables
103 macro (BUILD_MODULE_MESSAGE BUILD_MODULE_TARGET_VARIABLE BUILD_MODULE_TARGET_STRING)
104 set (${BUILD_MODULE_TARGET_VARIABLE}_DESCR
105 "Indicates whether ${BUILD_MODULE_TARGET_STRING} module should be built or not.
106 It should be noted that some toolkits of the module can be built even if this module
107 is not checked (this happens if some other modules depend on these toolkits)")
108 endmacro()
109
110 BUILD_MODULE_MESSAGE (BUILD_MODULE_ApplicationFramework "ApplicationFramework")
111 BUILD_MODULE_MESSAGE (BUILD_MODULE_DataExchange         "DataExchange")
112 BUILD_MODULE_MESSAGE (BUILD_MODULE_Draw                 "Draw")
113 BUILD_MODULE_MESSAGE (BUILD_MODULE_FoundationClasses    "FoundationClasses")
114 BUILD_MODULE_MESSAGE (BUILD_MODULE_ModelingAlgorithms   "ModelingAlgorithms")
115 BUILD_MODULE_MESSAGE (BUILD_MODULE_ModelingData         "ModelingData")
116 BUILD_MODULE_MESSAGE (BUILD_MODULE_Visualization        "Visualization")
117
118
119 set (BUILD_ADDITIONAL_TOOLKITS_DESCR
120 "Semicolon-separated individual toolkits to include into build process. If you
121 want to build some particular libraries (toolkits) only, then you may uncheck
122 all modules in the corresponding BUILD_MODUE_* options and provide the list of
123 necessary libraries here. Of course, all dependencies will be resolved automatically")
124
125 set (BUILD_SAMPLES_MFC_DESCR
126 "Indicates whether OCCT MFC samples should be built together with OCCT.
127 These samples show some possibilities of using OCCT and they can be executed
128 with script samples.bat from the installation directory (INSTALL_DIR)")
129
130 set (BUILD_SAMPLES_QT_DESCR
131 "Indicates whether OCCT Qt samples should be built together with OCCT.
132 These samples show some possibilities of using OCCT and they can be executed
133 with script samples.bat from the installation directory (INSTALL_DIR)")
134
135 set (BUILD_Inspector_DESCR
136 "Indicates whether OCCT inspector should be built together with OCCT.
137 This inspector provides functionality to interactively inspect low-level content
138 of the OCAF data model, OCCT viewer, etc. have been introduced in OCCT.
139 It can be executed with script inspector.bat from the installation directory (INSTALL_DIR) or
140 using 'tinspector' command in DRAW interpretator")
141
142 set (BUILD_MODULE_UwpSample_DESCR
143 "Indicates whether OCCT UWP sample should be built together with OCCT.")
144
145 set (BUILD_DOC_Overview_DESCR
146 "Indicates whether OCCT overview documentation project (Markdown format) should be
147 created together with OCCT. It is not built together with OCCT. Checking this options
148 leads to automatic search of Doxygen binaries. Building of it will be call Doxygen command
149 to generate the documentation in HTML format. The documentation will be available in the
150 installation directory (overview.bat script) if INSTALL_DOC_Overview variable is checked")
151
152 set (3RDPARTY_DIR_DESCR
153 "The root directory where all required third-party products will be searched. If a
154 third-party product have been found - corresponding CMake variables will be specified
155 (VTK: 3RDPARTY_VTK_DIR, 3RDPARTY_VTK_INCLUDE_DIR, 3RDPARTY_VTK_LIBRARY_DIR)")
156
157 set (USE_FFMPEG_DESCR
158 "Indicates whether FFmpeg framework is used or not. FFmpeg stands for
159 multimedia data handling, open-source software libraries used for video encoding and decoding.")
160
161 set (USE_FREEIMAGE_DESCR
162 "Indicates whether Freeimage product should be used in OCCT visualization
163 module for support of popular graphics image formats (PNG, BMP etc)")
164
165 set (USE_RAPIDJSON_DESCR
166 "Indicates whether RapidJSON product should be used in OCCT DataExchange
167 module for support of JSON-based formats like glTF")
168
169 set (USE_EGL_DESCR
170 "Indicates whether EGL should be used in OCCT visualization
171 module instead of conventional OpenGL context creation APIs")
172
173 set (USE_GLES2_DESCR
174 "Indicates whether OpenGL ES 2.0 should be used in OCCT visualization
175 module instead of desktop OpenGL")
176
177 set (USE_TBB_DESCR
178 "Indicates whether TBB is used or not. TBB stands for Threading Building Blocks,
179 the technology of Intel Corp, which comes with different mechanisms and patterns for
180 injecting parallelism into your application. OCCT remains parallel even without TBB product")
181
182 set (USE_VTK_DESCR
183 "Indicates whether VTK is used or not. VTK stands for Visualization
184 ToolKit, the technology of Kitware Inc intended for general-purpose scientific
185 visualization. OCCT comes with a bridge between CAD data representation and
186 VTK by means of its dedicated VIS component (VTK Integration Services).")
187
188 set (USE_GLX_DESCR "Indicates whether X11 OpenGl on OSX is used or not")
189
190 set (USE_D3D_DESCR "Indicates whether optional Direct3D wrapper in OCCT visualization module should be build or not")
191
192 macro (BUILD_MODULE MODULE_NAME)
193   set (ENABLE_MODULE TRUE)
194   set (BUILD_MODULE_${MODULE_NAME} ${ENABLE_MODULE} CACHE BOOL "${BUILD_MODULE_${MODULE_NAME}_DESCR}")
195 endmacro()