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