0027351: Custom OCCT DLL name suffixes
[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_WITH_DEBUG_DESCR
22 "Enables extended messages of many OCCT algorithms, usually printed to cout. 
23 These include messages on internal errors and special cases encountered, timing etc")
24
25 set (BUILD_SHARED_LIBRARY_NAME_POSTFIX_DESCR
26 "Append the postfix to names of output libraries")
27
28 # install variables
29 set (INSTALL_DIR_DESCR 
30 "The place where built OCCT libraries, headers, test cases (INSTALL_TEST_CASES variable),
31 samples (INSTALL_SAMPLES_DESCR variable) and certain 3rdparties (INSTALL_GL2PS, INSTALL_TBB and
32 other similar variables) will be placed during the installation process (building INSTALL project)")
33
34 set (INSTALL_DIR_WITH_VERSION_DESCR
35 "Use OCCT version number as suffix for names of directories")
36
37 set (INSTALL_DIR_LAYOUT_DESCR
38 "Defines structure of OCCT files (binaries, resources, headers etc.) for the install directory.
39 Two variants are predefined: for Windows (standard OCCT layout) and for Unix operating systems (standard Linux layout).
40 If needed, layout can be customized with INSTALL_DIR_* variables.")
41
42 set (INSTALL_DIR_BIN_DESCR 
43 "Subdirectory of INSTALL_DIR where binaries will be installed")
44 set (INSTALL_DIR_INCLUDE_DESCR 
45 "Subdirectory of INSTALL_DIR where OCCT headers will be installed")
46 set (INSTALL_DIR_DATA_DESCR 
47 "Subdirectory of INSTALL_DIR where sample data files will be installed")
48 set (INSTALL_DIR_DOC_DESCR 
49 "Subdirectory of INSTALL_DIR where documentation will be installed")
50 set (INSTALL_DIR_LIB_DESCR 
51 "Subdirectory of INSTALL_DIR where libraries (.so on Linux, .lib on Windows) will be installed")
52 set (INSTALL_DIR_RESOURCE_DESCR 
53 "Subdirectory of INSTALL_DIR where OCCT resource files will be installed")
54 set (INSTALL_DIR_SAMPLES_DESCR 
55 "Subdirectory of INSTALL_DIR where samples will be installed")
56 set (INSTALL_DIR_TESTS_DESCR 
57 "Subdirectory of INSTALL_DIR where test scripts will be installed")
58 set (INSTALL_DIR_SCRIPT_DESCR 
59 "Subdirectory of INSTALL_DIR where scripts will be installed")
60 set (INSTALL_DIR_CMAKE_DESCR 
61 "Subdirectory of INSTALL_DIR where CMake configuration files will be installed.
62 Must be three levels below INSTALL_DIR")
63
64 macro (INSTALL_MESSAGE INSTALL_TARGET_VARIABLE INSTALL_TARGET_STRING)
65 set (${INSTALL_TARGET_VARIABLE}_DESCR
66 "Indicates whether ${INSTALL_TARGET_STRING} should be installed (building INSTALL
67 project) into the installation directory (INSTALL_DIR variable)")
68 endmacro()
69
70 INSTALL_MESSAGE (INSTALL_SAMPLES          "OCCT samples")
71 INSTALL_MESSAGE (INSTALL_TEST_CASES       "non-regression OCCT test scripts")
72 INSTALL_MESSAGE (INSTALL_DOC_Overview     "OCCT overview documentation (HTML format)")
73 INSTALL_MESSAGE (INSTALL_FREEIMAGE        "FreeImage binaries")
74 INSTALL_MESSAGE (INSTALL_FREEIMAGEPLUS    "FreeImagePlus binaries")
75 INSTALL_MESSAGE (INSTALL_FREETYPE         "FreeType binaries")
76 INSTALL_MESSAGE (INSTALL_GL2PS            "GL2PS binaries")
77 INSTALL_MESSAGE (INSTALL_TBB              "TBB binaries")
78 INSTALL_MESSAGE (INSTALL_TCL              "TCL binaries")
79 INSTALL_MESSAGE (INSTALL_TK               "TK binaries")
80
81 #INSTALL_MESSAGE (INSTALL_VTK              "VTK binaries ")
82
83 # build variables
84 macro (BUILD_MODULE_MESSAGE BUILD_MODULE_TARGET_VARIABLE BUILD_MODULE_TARGET_STRING)
85 set (${BUILD_MODULE_TARGET_VARIABLE}_DESCR
86 "Indicates whether ${BUILD_MODULE_TARGET_STRING} module should be built or not.
87 It should be noted that some toolkits of the module can be built even if this module
88 is not checked (this happens if some other modules depend on these toolkits)")
89 endmacro()
90
91 BUILD_MODULE_MESSAGE (BUILD_MODULE_ApplicationFramework "ApplicationFramework")
92 BUILD_MODULE_MESSAGE (BUILD_MODULE_DataExchange         "DataExchange")
93 BUILD_MODULE_MESSAGE (BUILD_MODULE_Draw                 "Draw")
94 BUILD_MODULE_MESSAGE (BUILD_MODULE_FoundationClasses    "FoundationClasses")
95 BUILD_MODULE_MESSAGE (BUILD_MODULE_ModelingAlgorithms   "ModelingAlgorithms")
96 BUILD_MODULE_MESSAGE (BUILD_MODULE_ModelingData         "ModelingData")
97 BUILD_MODULE_MESSAGE (BUILD_MODULE_Visualization        "Visualization")
98
99
100 set (BUILD_ADDITIONAL_TOOLKITS_DESCR
101 "Semicolon-separated individual toolkits to include into build process. If you
102 want to build some particular libraries (toolkits) only, then you may uncheck
103 all modules in the corresponding BUILD_MODUE_* options and provide the list of
104 necessary libraries here. Of course, all dependencies will be resolved automatically")
105
106 set (BUILD_MODULE_MfcSamples_DESCR
107 "Indicates whether OCCT MFC samples should be built together with OCCT.
108 These samples show some possibilities of using OCCT and they can be executed
109 with script samples.bat from the installation directory (INSTALL_DIR)")
110
111 set (BUILD_DOC_Overview_DESCR
112 "Indicates whether OCCT overview documentation project (Markdown format) should be
113 created together with OCCT. It is not built together with OCCT. Checking this options
114 leads to automatic search of Doxygen binaries. Building of it will be call Doxygen command
115 to generate the documentation in HTML format. The documentation will be available in the
116 installation directory (overview.bat script) if INSTALL_DOC_Overview variable is checked")
117
118 set (3RDPARTY_DIR_DESCR
119 "The root directory where all required third-party products will be searched. If a
120 third-party product have been found - corresponding CMake variables will be specified
121 (VTK: 3RDPARTY_VTK_DIR, 3RDPARTY_VTK_INCLUDE_DIR, 3RDPARTY_VTK_LIBRARY_DIR)")
122
123 set (USE_FREEIMAGE_DESCR
124 "Indicates whether Freeimage product should be used in OCCT visualization
125 module for support of popular graphics image formats (PNG, BMP etc)")
126
127 set (USE_GL2PS_DESCR
128 "Indicates whether GL2PS product should be used in OCCT visualization
129 module for support of vector image formats (PS, EPS etc)")
130
131 set (USE_TBB_DESCR
132 "Indicates whether TBB is used or not. TBB stands for Threading Building Blocks,
133 the technology of Intel Corp, which comes with different mechanisms and patterns for
134 injecting parallelism into your application. OCCT remains parallel even without TBB product")
135
136 set (USE_VTK_DESCR
137 "Indicates whether VTK is used or not. VTK stands for Visualization
138 ToolKit, the technology of Kitware Inc intended for general-purpose scientific
139 visualization. OCCT comes with a bridge between CAD data representation and
140 VTK by means of its dedicated VIS component (VTK Integration Services).")
141
142 set (USE_GLX_DESCR "Indicates whether X11 OpenGl on OSX is used or not")
143
144 set (USE_D3D_DESCR "Indicates whether optional Direct3D wrapper in OCCT visualization module should be build or not")
145
146 macro (BUILD_MODULE MODULE_NAME)
147   set (BUILD_MODULE_${MODULE_NAME} ON CACHE BOOL "${BUILD_MODULE_${MODULE_NAME}_DESCR}")
148 endmacro()