packaging: Initial packaging
[platform/upstream/cmake.git] / Source / cmDocumentVariables.cxx
1 #include "cmDocumentVariables.h"
2 #include "cmake.h"
3
4 #include <cmsys/ios/sstream>
5
6 void cmDocumentVariables::DefineVariables(cmake* cm)
7 {
8   // Subsection: variables defined by cmake, that give
9   // information about the project, and cmake
10   cm->DefineProperty
11     ("CMAKE_AR", cmProperty::VARIABLE,
12      "Name of archiving tool for static libraries.",
13      "This specifies the name of the program that creates archive "
14      "or static libraries.",false,
15      "Variables that Provide Information");
16
17   cm->DefineProperty
18     ("CMAKE_COMMAND", cmProperty::VARIABLE,
19      "The full path to the cmake executable.",
20      "This is the full path to the CMake executable cmake which is "
21      "useful from custom commands that want to use the cmake -E "
22      "option for portable system commands.  "
23      "(e.g. /usr/local/bin/cmake", false,
24      "Variables that Provide Information");
25   cm->DefineProperty
26     ("CMAKE_BINARY_DIR", cmProperty::VARIABLE,
27      "The path to the top level of the build tree.",
28      "This is the full path to the top level of the current CMake "
29      "build tree. For an in-source build, this would be the same "
30      "as CMAKE_SOURCE_DIR.", false,
31      "Variables that Provide Information");
32   cm->DefineProperty
33     ("CMAKE_SOURCE_DIR", cmProperty::VARIABLE,
34      "The path to the top level of the source tree.",
35      "This is the full path to the top level of the current CMake "
36      "source tree. For an in-source build, this would be the same "
37      "as CMAKE_BINARY_DIR.", false,
38      "Variables that Provide Information");
39   cm->DefineProperty
40     ("CMAKE_CURRENT_BINARY_DIR", cmProperty::VARIABLE,
41      "The path to the binary directory currently being processed.",
42      "This the full path to the build directory that is currently "
43      "being processed by cmake.  Each directory added by "
44      "add_subdirectory will create a binary directory in the build "
45      "tree, and as it is being processed this variable will be set.  "
46      "For in-source builds this is the current source directory "
47      "being processed.", false,
48      "Variables that Provide Information");
49   cm->DefineProperty
50     ("CMAKE_CURRENT_SOURCE_DIR", cmProperty::VARIABLE,
51      "The path to the source directory currently being processed.",
52      "This the full path to the source directory that is currently "
53      "being processed by cmake.  ", false,
54      "Variables that Provide Information");
55
56   cm->DefineProperty
57     ("CMAKE_CURRENT_LIST_FILE", cmProperty::VARIABLE,
58      "Full path to the listfile currently being processed.",
59      "As CMake processes the listfiles in your project this "
60      "variable will always be set to the one currently being "
61      "processed.  "
62      "The value has dynamic scope.  "
63      "When CMake starts processing commands in a source file "
64      "it sets this variable to the location of the file.  "
65      "When CMake finishes processing commands from the file it "
66      "restores the previous value.  "
67      "Therefore the value of the variable inside a macro or "
68      "function is the file invoking the bottom-most entry on "
69      "the call stack, not the file containing the macro or "
70      "function definition."
71      "\n"
72      "See also CMAKE_PARENT_LIST_FILE.",false,
73      "Variables that Provide Information");
74
75   cm->DefineProperty
76     ("CMAKE_CURRENT_LIST_LINE", cmProperty::VARIABLE,
77      "The line number of the current file being processed.",
78      "This is the line number of the file currently being"
79      " processed by cmake.", false,
80      "Variables that Provide Information");
81
82   cm->DefineProperty
83     ("CMAKE_CURRENT_LIST_DIR", cmProperty::VARIABLE,
84      "Full directory of the listfile currently being processed.",
85      "As CMake processes the listfiles in your project this "
86      "variable will always be set to the directory where the listfile which "
87      "is currently being processed (CMAKE_CURRENT_LIST_FILE) is located.  "
88      "The value has dynamic scope.  "
89      "When CMake starts processing commands in a source file "
90      "it sets this variable to the directory where this file is located.  "
91      "When CMake finishes processing commands from the file it "
92      "restores the previous value.  "
93      "Therefore the value of the variable inside a macro or "
94      "function is the directory of the file invoking the bottom-most entry on "
95      "the call stack, not the directory of the file containing the macro or "
96      "function definition."
97      "\n"
98      "See also CMAKE_CURRENT_LIST_FILE.",false,
99      "Variables that Provide Information");
100
101   cm->DefineProperty
102     ("CMAKE_SCRIPT_MODE_FILE", cmProperty::VARIABLE,
103      "Full path to the -P script file currently being processed.",
104      "When run in -P script mode, CMake sets this variable to the full "
105      "path of the script file. When run to configure a CMakeLists.txt "
106      "file, this variable is not set.", false,
107      "Variables that Provide Information");
108
109   cm->DefineProperty
110     ("CMAKE_ARGC", cmProperty::VARIABLE,
111      "Number of command line arguments passed to CMake in script mode.",
112      "When run in -P script mode, CMake sets this variable to the number "
113      "of command line arguments. See also CMAKE_ARGV0, 1, 2 ...", false,
114      "Variables that Provide Information");
115
116   cm->DefineProperty
117     ("CMAKE_ARGV0", cmProperty::VARIABLE,
118      "Command line argument passed to CMake in script mode.",
119      "When run in -P script mode, CMake sets this variable to "
120      "the first command line argument. It then also sets CMAKE_ARGV1, "
121      "CMAKE_ARGV2, ... and so on, up to the number of command line arguments "
122      "given. See also CMAKE_ARGC.", false,
123      "Variables that Provide Information");
124
125   cm->DefineProperty
126     ("CMAKE_BUILD_TOOL", cmProperty::VARIABLE,
127      "Tool used for the actual build process.",
128      "This variable is set to the program that will be"
129      " needed to build the output of CMake.   If the "
130      "generator selected was Visual Studio 6, the "
131      "CMAKE_BUILD_TOOL will be set to msdev, for "
132      "Unix Makefiles it will be set to make or gmake, "
133      "and for Visual Studio 7 it set to devenv.  For "
134      "NMake Makefiles the value is nmake. This can be "
135      "useful for adding special flags and commands based"
136      " on the final build environment.", false,
137      "Variables that Provide Information");
138   cm->DefineProperty
139     ("CMAKE_CROSSCOMPILING", cmProperty::VARIABLE,
140      "Is CMake currently cross compiling.",
141      "This variable will be set to true by CMake if CMake is cross "
142      "compiling. Specifically if the build platform is different "
143      "from the target platform.", false,
144      "Variables that Provide Information");
145   cm->DefineProperty
146     ("CMAKE_CACHEFILE_DIR", cmProperty::VARIABLE,
147      "The directory with the CMakeCache.txt file.",
148      "This is the full path to the directory that has the "
149      "CMakeCache.txt file in it.  This is the same as "
150      "CMAKE_BINARY_DIR.", false,
151      "Variables that Provide Information");
152   cm->DefineProperty
153     ("CMAKE_CACHE_MAJOR_VERSION", cmProperty::VARIABLE,
154      "Major version of CMake used to create the CMakeCache.txt file",
155      "This stores the major version of CMake used to "
156      "write a CMake cache file. It is only different when "
157      "a different version of CMake is run on a previously "
158      "created cache file.", false,
159      "Variables that Provide Information");
160   cm->DefineProperty
161     ("CMAKE_CACHE_MINOR_VERSION", cmProperty::VARIABLE,
162      "Minor version of CMake used to create the CMakeCache.txt file",
163      "This stores the minor version of CMake used to "
164      "write a CMake cache file. It is only different when "
165      "a different version of CMake is run on a previously "
166      "created cache file.", false,
167      "Variables that Provide Information");
168
169   cm->DefineProperty
170     ("CMAKE_CACHE_PATCH_VERSION", cmProperty::VARIABLE,
171      "Patch version of CMake used to create the CMakeCache.txt file",
172      "This stores the patch version of CMake used to "
173      "write a CMake cache file. It is only different when "
174      "a different version of CMake is run on a previously "
175      "created cache file.", false,
176      "Variables that Provide Information");
177
178   cm->DefineProperty
179     ("CMAKE_CFG_INTDIR", cmProperty::VARIABLE,
180      "Build-time reference to per-configuration output subdirectory.",
181      "For native build systems supporting multiple configurations "
182      "in the build tree (such as Visual Studio and Xcode), "
183      "the value is a reference to a build-time variable specifying "
184      "the name of the per-configuration output subdirectory.  "
185      "On Makefile generators this evaluates to \".\" because there "
186      "is only one configuration in a build tree.  "
187      "Example values:\n"
188      "  $(IntDir)        = Visual Studio 6\n"
189      "  $(OutDir)        = Visual Studio 7, 8, 9\n"
190      "  $(Configuration) = Visual Studio 10\n"
191      "  $(CONFIGURATION) = Xcode\n"
192      "  .                = Make-based tools\n"
193      "Since these values are evaluated by the native build system, this "
194      "variable is suitable only for use in command lines that will be "
195      "evaluated at build time.  "
196      "Example of intended usage:\n"
197      "  add_executable(mytool mytool.c)\n"
198      "  add_custom_command(\n"
199      "    OUTPUT out.txt\n"
200      "    COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/mytool\n"
201      "            ${CMAKE_CURRENT_SOURCE_DIR}/in.txt out.txt\n"
202      "    DEPENDS mytool in.txt\n"
203      "    )\n"
204      "  add_custom_target(drive ALL DEPENDS out.txt)\n"
205      "Note that CMAKE_CFG_INTDIR is no longer necessary for this purpose "
206      "but has been left for compatibility with existing projects.  "
207      "Instead add_custom_command() recognizes executable target names in "
208      "its COMMAND option, so "
209      "\"${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/mytool\" can be "
210      "replaced by just \"mytool\"."
211      "\n"
212      "This variable is read-only.  Setting it is undefined behavior.  "
213      "In multi-configuration build systems the value of this variable "
214      "is passed as the value of preprocessor symbol \"CMAKE_INTDIR\" to "
215      "the compilation of all source files.",false,
216      "Variables that Provide Information");
217
218   cm->DefineProperty
219     ("CMAKE_CTEST_COMMAND", cmProperty::VARIABLE,
220      "Full path to ctest command installed with cmake.",
221      "This is the full path to the CTest executable ctest "
222      "which is useful from custom commands that want "
223      "to use the cmake -E option for portable system "
224      "commands.",false,
225      "Variables that Provide Information");
226
227   cm->DefineProperty
228     ("CMAKE_DL_LIBS", cmProperty::VARIABLE,
229      "Name of library containing dlopen and dlcose.",
230      "The name of the library that has dlopen and "
231      "dlclose in it, usually -ldl on most UNIX machines.",false,
232      "Variables that Provide Information");
233
234   cm->DefineProperty
235     ("CMAKE_EDIT_COMMAND", cmProperty::VARIABLE,
236      "Full path to cmake-gui or ccmake.",
237      "This is the full path to the CMake executable "
238      "that can graphically edit the cache.  For example,"
239      " cmake-gui, ccmake, or cmake -i.",false,
240      "Variables that Provide Information");
241
242   cm->DefineProperty
243     ("CMAKE_GENERATOR", cmProperty::VARIABLE,
244      "The generator used to build the project.",
245      "The name of the generator that is being used to generate the "
246      "build files.  (e.g. \"Unix Makefiles\", "
247      "\"Visual Studio 6\", etc.)",false,
248      "Variables that Provide Information");
249   cm->DefineProperty
250     ("CMAKE_EXTRA_GENERATOR", cmProperty::VARIABLE,
251      "The extra generator used to build the project.",
252      "When using the Eclipse, CodeBlocks or KDevelop generators, CMake "
253      "generates Makefiles (CMAKE_GENERATOR) and additionally project files "
254      "for the respective IDE. This IDE project file generator is stored in "
255      "CMAKE_EXTRA_GENERATOR (e.g. \"Eclipse CDT4\").",false,
256      "Variables that Provide Information");
257   cm->DefineProperty
258     ("CMAKE_GENERATOR_TOOLSET", cmProperty::VARIABLE,
259      "Native build system toolset name specified by user.",
260      "Some CMake generators support a toolset name to be given to the "
261      "native build system to choose a compiler.  "
262      "If the user specifies a toolset name (e.g. via the cmake -T option) "
263      "the value will be available in this variable.",false,
264      "Variables that Provide Information");
265   cm->DefineProperty
266     ("CMAKE_HOME_DIRECTORY", cmProperty::VARIABLE,
267      "Path to top of source tree.",
268      "This is the path to the top level of the source tree.",false,
269      "Variables that Provide Information");
270   cm->DefineProperty
271     ("CMAKE_LINK_LIBRARY_SUFFIX", cmProperty::VARIABLE,
272      "The suffix for libraries that you link to.",
273      "The suffix to use for the end of a library filename, .lib on Windows."
274      ,false,
275      "Variables that Provide Information");
276   cm->DefineProperty
277     ("CMAKE_EXECUTABLE_SUFFIX", cmProperty::VARIABLE,
278      "The suffix for executables on this platform.",
279      "The suffix to use for the end of an executable filename if any, "
280      ".exe on Windows."
281      "\n"
282      "CMAKE_EXECUTABLE_SUFFIX_<LANG> overrides this for language <LANG>."
283      ,false, "Variables that Provide Information");
284   cm->DefineProperty
285     ("CMAKE_MAJOR_VERSION", cmProperty::VARIABLE,
286      "The Major version of cmake (i.e. the 2 in 2.X.X)",
287      "This specifies the major version of the CMake executable"
288      " being run.",false,
289      "Variables that Provide Information");
290   cm->DefineProperty
291     ("CMAKE_MAKE_PROGRAM", cmProperty::VARIABLE,
292      "See CMAKE_BUILD_TOOL.",
293      "This variable is around for backwards compatibility, "
294      "see CMAKE_BUILD_TOOL.",false,
295      "Variables that Provide Information");
296   cm->DefineProperty
297     ("CMAKE_VS_PLATFORM_TOOLSET", cmProperty::VARIABLE,
298      "Visual Studio Platform Toolset name.",
299      "VS 10 and above use MSBuild under the hood and support multiple "
300      "compiler toolchains.  "
301      "CMake may specify a toolset explicitly, such as \"v110\" for "
302      "VS 11 or \"Windows7.1SDK\" for 64-bit support in VS 10 Express.  "
303      "CMake provides the name of the chosen toolset in this variable."
304      ,false,
305      "Variables that Provide Information");
306   cm->DefineProperty
307     ("CMAKE_XCODE_PLATFORM_TOOLSET", cmProperty::VARIABLE,
308      "Xcode compiler selection.",
309      "Xcode supports selection of a compiler from one of the installed "
310      "toolsets.  "
311      "CMake provides the name of the chosen toolset in this variable, "
312      "if any is explicitly selected (e.g. via the cmake -T option)."
313      ,false,
314      "Variables that Provide Information");
315   cm->DefineProperty
316     ("CMAKE_MINOR_VERSION", cmProperty::VARIABLE,
317      "The Minor version of cmake (i.e. the 4 in X.4.X).",
318      "This specifies the minor version of the CMake"
319      " executable being run.",false,
320      "Variables that Provide Information");
321   cm->DefineProperty
322     ("CMAKE_PATCH_VERSION", cmProperty::VARIABLE,
323      "The patch version of cmake (i.e. the 3 in X.X.3).",
324      "This specifies the patch version of the CMake"
325      " executable being run.",false,
326      "Variables that Provide Information");
327   cm->DefineProperty
328     ("CMAKE_TWEAK_VERSION", cmProperty::VARIABLE,
329      "The tweak version of cmake (i.e. the 1 in X.X.X.1).",
330      "This specifies the tweak version of the CMake executable being run.  "
331      "Releases use tweak < 20000000 and development versions use the date "
332      "format CCYYMMDD for the tweak level."
333      ,false, "Variables that Provide Information");
334   cm->DefineProperty
335     ("CMAKE_VERSION", cmProperty::VARIABLE,
336      "The full version of cmake in major.minor.patch[.tweak[-id]] format.",
337      "This specifies the full version of the CMake executable being run.  "
338      "This variable is defined by versions 2.6.3 and higher.  "
339      "See variables CMAKE_MAJOR_VERSION, CMAKE_MINOR_VERSION, "
340      "CMAKE_PATCH_VERSION, and CMAKE_TWEAK_VERSION "
341      "for individual version components.  "
342      "The [-id] component appears in non-release versions "
343      "and may be arbitrary text.", false,
344      "Variables that Provide Information");
345
346   cm->DefineProperty
347     ("CMAKE_PARENT_LIST_FILE", cmProperty::VARIABLE,
348      "Full path to the CMake file that included the current one.",
349      "While processing a CMake file loaded by include() or find_package() "
350      "this variable contains the full path to the file including it.  "
351      "The top of the include stack is always the CMakeLists.txt for the "
352      "current directory.  "
353      "See also CMAKE_CURRENT_LIST_FILE.",false,
354      "Variables that Provide Information");
355
356   cm->DefineProperty
357     ("CMAKE_PROJECT_NAME", cmProperty::VARIABLE,
358      "The name of the current project.",
359      "This specifies name of the current project from"
360      " the closest inherited PROJECT command.",false,
361      "Variables that Provide Information");
362   cm->DefineProperty
363     ("CMAKE_RANLIB", cmProperty::VARIABLE,
364      "Name of randomizing tool for static libraries.",
365      "This specifies name of the program that randomizes "
366      "libraries on UNIX, not used on Windows, but may be present.",false,
367      "Variables that Provide Information");
368   cm->DefineProperty
369     ("CMAKE_ROOT", cmProperty::VARIABLE,
370      "Install directory for running cmake.",
371      "This is the install root for the running CMake and"
372      " the Modules directory can be found here. This is"
373      " commonly used in this format: ${CMAKE_ROOT}/Modules",false,
374      "Variables that Provide Information");
375   cm->DefineProperty
376     ("CMAKE_SIZEOF_VOID_P", cmProperty::VARIABLE,
377      "Size of a void pointer.",
378      "This is set to the size of a pointer on the machine, "
379      "and is determined by a try compile. If a 64 bit size "
380      "is found, then the library search path is modified to "
381      "look for 64 bit libraries first.",false,
382      "Variables that Provide Information");
383   cm->DefineProperty
384     ("CMAKE_SKIP_RPATH", cmProperty::VARIABLE,
385      "If true, do not add run time path information.",
386      "If this is set to TRUE, then the rpath information "
387      "is not added to compiled executables.  The default "
388      "is to add rpath information if the platform supports it.  "
389      "This allows for easy running from the build tree.  To omit RPATH "
390      "in the install step, but not the build step, use "
391      "CMAKE_SKIP_INSTALL_RPATH instead.",false,
392      "Variables that Provide Information");
393   cm->DefineProperty
394     ("CMAKE_SOURCE_DIR", cmProperty::VARIABLE,
395      "Source directory for project.",
396      "This is the top level source directory for the project.  "
397      "It corresponds to the source directory given to "
398      "cmake-gui or ccmake.",false,
399      "Variables that Provide Information");
400   cm->DefineProperty
401     ("CMAKE_STANDARD_LIBRARIES", cmProperty::VARIABLE,
402      "Libraries linked into every executable and shared library.",
403      "This is the list of libraries that are linked "
404      "into all executables and libraries.",false,
405      "Variables that Provide Information");
406   cm->DefineProperty
407     ("CMAKE_VERBOSE_MAKEFILE", cmProperty::VARIABLE,
408      "Create verbose makefiles if on.",
409      "This variable defaults to false. You can set "
410      "this variable to true to make CMake produce verbose "
411      "makefiles that show each command line as it is used.",false,
412      "Variables that Provide Information");
413   cm->DefineProperty
414     ("PROJECT_BINARY_DIR", cmProperty::VARIABLE,
415      "Full path to build directory for project.",
416      "This is the binary directory of the most recent "
417      "PROJECT command.",false,"Variables that Provide Information");
418   cm->DefineProperty
419     ("PROJECT_NAME", cmProperty::VARIABLE,
420      "Name of the project given to the project command.",
421      "This is the name given to the most "
422      "recent PROJECT command.",false,
423      "Variables that Provide Information");
424   cm->DefineProperty
425     ("PROJECT_SOURCE_DIR", cmProperty::VARIABLE,
426      "Top level source directory for the current project.",
427      "This is the source directory of the most recent "
428      "PROJECT command.",false,
429      "Variables that Provide Information");
430   cm->DefineProperty
431     ("[Project name]_BINARY_DIR", cmProperty::VARIABLE,
432      "Top level binary directory for the named project.",
433      "A variable is created with the name used in the PROJECT "
434      "command, and is the binary directory for the project.  "
435      " This can be useful when SUBDIR is used to connect "
436      "several projects.",false,
437      "Variables that Provide Information");
438   cm->DefineProperty
439     ("[Project name]_SOURCE_DIR", cmProperty::VARIABLE,
440      "Top level source directory for the named project.",
441      "A variable is created with the name used in the PROJECT "
442      "command, and is the source directory for the project."
443      "   This can be useful when add_subdirectory "
444      "is used to connect several projects.",false,
445      "Variables that Provide Information");
446
447   cm->DefineProperty
448     ("CMAKE_IMPORT_LIBRARY_PREFIX", cmProperty::VARIABLE,
449      "The prefix for import libraries that you link to.",
450      "The prefix to use for the name of an import library if used "
451      "on this platform."
452      "\n"
453      "CMAKE_IMPORT_LIBRARY_PREFIX_<LANG> overrides this for language <LANG>."
454      ,false, "Variables that Provide Information");
455   cm->DefineProperty
456     ("CMAKE_IMPORT_LIBRARY_SUFFIX", cmProperty::VARIABLE,
457      "The suffix for import libraries that you link to.",
458      "The suffix to use for the end of an import library filename if used "
459      "on this platform."
460      "\n"
461      "CMAKE_IMPORT_LIBRARY_SUFFIX_<LANG> overrides this for language <LANG>."
462      ,false, "Variables that Provide Information");
463   cm->DefineProperty
464     ("CMAKE_SHARED_LIBRARY_PREFIX", cmProperty::VARIABLE,
465      "The prefix for shared libraries that you link to.",
466      "The prefix to use for the name of a shared library, lib on UNIX."
467      "\n"
468      "CMAKE_SHARED_LIBRARY_PREFIX_<LANG> overrides this for language <LANG>."
469      ,false, "Variables that Provide Information");
470   cm->DefineProperty
471     ("CMAKE_SHARED_LIBRARY_SUFFIX", cmProperty::VARIABLE,
472      "The suffix for shared libraries that you link to.",
473      "The suffix to use for the end of a shared library filename, "
474      ".dll on Windows."
475      "\n"
476      "CMAKE_SHARED_LIBRARY_SUFFIX_<LANG> overrides this for language <LANG>."
477      ,false, "Variables that Provide Information");
478   cm->DefineProperty
479     ("CMAKE_SHARED_MODULE_PREFIX", cmProperty::VARIABLE,
480      "The prefix for loadable modules that you link to.",
481      "The prefix to use for the name of a loadable module on this platform."
482      "\n"
483      "CMAKE_SHARED_MODULE_PREFIX_<LANG> overrides this for language <LANG>."
484      ,false, "Variables that Provide Information");
485   cm->DefineProperty
486     ("CMAKE_SHARED_MODULE_SUFFIX", cmProperty::VARIABLE,
487      "The suffix for shared libraries that you link to.",
488      "The suffix to use for the end of a loadable module filename "
489      "on this platform"
490      "\n"
491      "CMAKE_SHARED_MODULE_SUFFIX_<LANG> overrides this for language <LANG>."
492      ,false, "Variables that Provide Information");
493   cm->DefineProperty
494     ("CMAKE_STATIC_LIBRARY_PREFIX", cmProperty::VARIABLE,
495      "The prefix for static libraries that you link to.",
496      "The prefix to use for the name of a static library, lib on UNIX."
497      "\n"
498      "CMAKE_STATIC_LIBRARY_PREFIX_<LANG> overrides this for language <LANG>."
499      ,false, "Variables that Provide Information");
500   cm->DefineProperty
501     ("CMAKE_STATIC_LIBRARY_SUFFIX", cmProperty::VARIABLE,
502      "The suffix for static libraries that you link to.",
503      "The suffix to use for the end of a static library filename, "
504      ".lib on Windows."
505      "\n"
506      "CMAKE_STATIC_LIBRARY_SUFFIX_<LANG> overrides this for language <LANG>."
507      ,false, "Variables that Provide Information");
508   cm->DefineProperty
509     ("CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES", cmProperty::VARIABLE,
510      "Additional suffixes for shared libraries.",
511      "Extensions for shared libraries other than that specified by "
512      "CMAKE_SHARED_LIBRARY_SUFFIX, if any.  "
513      "CMake uses this to recognize external shared library files during "
514      "analysis of libraries linked by a target.",
515      false,
516      "Variables that Provide Information");
517   cm->DefineProperty
518     ("CMAKE_MINIMUM_REQUIRED_VERSION", cmProperty::VARIABLE,
519      "Version specified to cmake_minimum_required command",
520      "Variable containing the VERSION component specified in the "
521      "cmake_minimum_required command.",
522      false,
523      "Variables that Provide Information");
524
525
526   // Variables defined by cmake, that change the behavior
527   // of cmake
528
529   cm->DefineProperty
530     ("CMAKE_POLICY_DEFAULT_CMP<NNNN>",  cmProperty::VARIABLE,
531      "Default for CMake Policy CMP<NNNN> when it is otherwise left unset.",
532      "Commands cmake_minimum_required(VERSION) and cmake_policy(VERSION) "
533      "by default leave policies introduced after the given version unset.  "
534      "Set CMAKE_POLICY_DEFAULT_CMP<NNNN> to OLD or NEW to specify the "
535      "default for policy CMP<NNNN>, where <NNNN> is the policy number."
536      "\n"
537      "This variable should not be set by a project in CMake code; "
538      "use cmake_policy(SET) instead.  "
539      "Users running CMake may set this variable in the cache "
540      "(e.g. -DCMAKE_POLICY_DEFAULT_CMP<NNNN>=<OLD|NEW>) "
541      "to set a policy not otherwise set by the project.  "
542      "Set to OLD to quiet a policy warning while using old behavior "
543      "or to NEW to try building the project with new behavior.",
544      false,
545      "Variables That Change Behavior");
546
547     cm->DefineProperty
548     ("CMAKE_AUTOMOC_RELAXED_MODE",  cmProperty::VARIABLE,
549      "Switch between strict and relaxed automoc mode.",
550      "By default, automoc behaves exactly as described in the documentation "
551      "of the AUTOMOC target property.  "
552      "When set to TRUE, it accepts more input and tries to find the correct "
553      "input file for moc even if it differs from the documented behaviour.  "
554      "In this mode it e.g. also checks whether a header file is intended to "
555      "be processed by moc when a \"foo.moc\" file has been included.\n"
556      "Relaxed mode has to be enabled for KDE4 compatibility.",
557      false,
558      "Variables That Change Behavior");
559
560     cm->DefineProperty
561     ("CMAKE_INSTALL_DEFAULT_COMPONENT_NAME",  cmProperty::VARIABLE,
562      "Default component used in install() commands.",
563      "If an install() command is used without the COMPONENT argument, "
564      "these files will be grouped into a default component. The name of this "
565      "default install component will be taken from this variable.  "
566      "It defaults to \"Unspecified\".",
567      false,
568      "Variables That Change Behavior");
569
570     cm->DefineProperty
571     ("CMAKE_FIND_LIBRARY_PREFIXES",  cmProperty::VARIABLE,
572      "Prefixes to prepend when looking for libraries.",
573      "This specifies what prefixes to add to library names when "
574      "the find_library command looks for libraries. On UNIX "
575      "systems this is typically lib, meaning that when trying "
576      "to find the foo library it will look for libfoo.",
577      false,
578      "Variables That Change Behavior");
579
580     cm->DefineProperty
581     ("CMAKE_FIND_LIBRARY_SUFFIXES",  cmProperty::VARIABLE,
582      "Suffixes to append when looking for libraries.",
583      "This specifies what suffixes to add to library names when "
584      "the find_library command looks for libraries. On Windows "
585      "systems this is typically .lib and .dll, meaning that when trying "
586      "to find the foo library it will look for foo.dll etc.",
587      false,
588      "Variables That Change Behavior");
589
590     cm->DefineProperty
591     ("CMAKE_CONFIGURATION_TYPES",  cmProperty::VARIABLE,
592      "Specifies the available build types on multi-config generators.",
593      "This specifies what build types (configurations) will be available "
594      "such as Debug, Release, RelWithDebInfo etc.  "
595      "This has reasonable defaults on most platforms, "
596      "but can be extended to provide other build types.  "
597      "See also CMAKE_BUILD_TYPE for details of managing configuration data, "
598      "and CMAKE_CFG_INTDIR."
599      ,false,
600      "Variables That Change Behavior");
601
602     cm->DefineProperty
603     ("CMAKE_BUILD_TYPE",  cmProperty::VARIABLE,
604      "Specifies the build type on single-configuration generators.",
605      "This statically specifies what build type (configuration) "
606      "will be built in this build tree. Possible values are "
607      "empty, Debug, Release, RelWithDebInfo and MinSizeRel.  "
608      "This variable is only meaningful to single-configuration generators "
609      "(such as make and Ninja) i.e. "
610      "those which choose a single configuration "
611      "when CMake runs to generate a build tree as opposed to "
612      "multi-configuration generators which offer selection of the build "
613      "configuration within the generated build environment.  "
614      "There are many per-config properties and variables "
615      "(usually following clean SOME_VAR_<CONFIG> order conventions), "
616      "such as CMAKE_C_FLAGS_<CONFIG>, specified as uppercase: "
617      "CMAKE_C_FLAGS_[DEBUG|RELEASE|RELWITHDEBINFO|MINSIZEREL].  "
618      "For example, in a build tree configured "
619      "to build type Debug, CMake will see to having "
620      "CMAKE_C_FLAGS_DEBUG settings get added to the CMAKE_C_FLAGS settings.  "
621      "See also CMAKE_CONFIGURATION_TYPES."
622      ,false,
623      "Variables That Change Behavior");
624
625   cm->DefineProperty
626     ("CMAKE_BACKWARDS_COMPATIBILITY", cmProperty::VARIABLE,
627      "Version of cmake required to build project",
628      "From the point of view of backwards compatibility, this "
629      "specifies what version of CMake should be supported. By "
630      "default this value is the version number of CMake that "
631      "you are running. You can set this to an older version of"
632      " CMake to support deprecated commands of CMake in projects"
633      " that were written to use older versions of CMake. This "
634      "can be set by the user or set at the beginning of a "
635      "CMakeLists file.",false,
636      "Variables That Change Behavior");
637
638   cm->DefineProperty
639     ("CMAKE_INSTALL_PREFIX", cmProperty::VARIABLE,
640      "Install directory used by install.",
641      "If \"make install\" is invoked or INSTALL is built"
642      ", this directory is prepended onto all install "
643      "directories. This variable defaults to /usr/local"
644      " on UNIX and c:/Program Files on Windows.\n"
645      "On UNIX one can use the DESTDIR mechanism in order"
646      " to relocate the whole installation.  "
647      "DESTDIR means DESTination DIRectory. It is "
648      "commonly used by makefile users "
649      "in order to install software at non-default location.  "
650      "It is usually invoked like this:\n"
651      " make DESTDIR=/home/john install\n"
652      "which will install the concerned software using the"
653      " installation prefix, e.g. \"/usr/local\" prepended with "
654      "the DESTDIR value which finally gives \"/home/john/usr/local\".\n"
655      "WARNING: DESTDIR may not be used on Windows because installation"
656      " prefix usually contains a drive letter like in \"C:/Program Files\""
657      " which cannot be prepended with some other prefix."
658      "\n"
659      "The installation prefix is also added to CMAKE_SYSTEM_PREFIX_PATH "
660      "so that find_package, find_program, find_library, find_path, and "
661      "find_file will search the prefix for other software."
662      ,false,
663      "Variables That Change Behavior");
664
665   cm->DefineProperty
666     ("CMAKE_SKIP_INSTALL_ALL_DEPENDENCY", cmProperty::VARIABLE,
667      "Don't make the install target depend on the all target.",
668      "By default, the \"install\" target depends on the \"all\" target.  "
669      "This has the effect, that when \"make install\" is invoked or INSTALL "
670      "is built, first the \"all\" target is built, then the installation "
671      "starts.  "
672      "If CMAKE_SKIP_INSTALL_ALL_DEPENDENCY is set to TRUE, this dependency "
673      "is not created, so the installation process will start immediately, "
674      "independent from whether the project has been completely built or not."
675      ,false,
676      "Variables That Change Behavior");
677
678   cm->DefineProperty
679     ("CMAKE_MODULE_PATH", cmProperty::VARIABLE,
680      "List of directories to search for CMake modules.",
681      "Commands like include() and find_package() search for files in "
682      "directories listed by this variable before checking the default "
683      "modules that come with CMake.",
684      false,
685      "Variables That Change Behavior");
686
687   cm->DefineProperty
688     ("CMAKE_WARN_DEPRECATED", cmProperty::VARIABLE,
689      "Whether to issue deprecation warnings for macros and functions.",
690      "If TRUE, this can be used by macros and functions to issue "
691      "deprecation warnings.  This variable is FALSE by default.",
692      false,
693      "Variables That Change Behavior");
694
695   cm->DefineProperty
696     ("CMAKE_ERROR_DEPRECATED", cmProperty::VARIABLE,
697      "Whether to issue deprecation errors for macros and functions.",
698      "If TRUE, this can be used by macros and functions to issue "
699      "fatal errors when deprecated macros or functions are used.  This "
700      "variable is FALSE by default.",
701      false,
702      "Variables That Change Behavior");
703
704   cm->DefineProperty
705     ("CMAKE_PREFIX_PATH", cmProperty::VARIABLE,
706      "Path used for searching by FIND_XXX(), with appropriate suffixes added.",
707      "Specifies a path which will be used by the FIND_XXX() commands. It "
708      "contains the \"base\" directories, the FIND_XXX() commands append "
709      "appropriate subdirectories to the base directories. So FIND_PROGRAM() "
710      "adds /bin to each of the directories in the path, FIND_LIBRARY() "
711      "appends /lib to each of the directories, and FIND_PATH() and "
712      "FIND_FILE() append /include . By default it is empty, it is intended "
713      "to be set by the project. See also CMAKE_SYSTEM_PREFIX_PATH, "
714      "CMAKE_INCLUDE_PATH, CMAKE_LIBRARY_PATH, CMAKE_PROGRAM_PATH.", false,
715      "Variables That Change Behavior");
716
717   cm->DefineProperty
718     ("CMAKE_INCLUDE_PATH", cmProperty::VARIABLE,
719      "Path used for searching by FIND_FILE() and FIND_PATH().",
720      "Specifies a path which will be used both by FIND_FILE() and "
721      "FIND_PATH(). Both commands will check each of the contained directories "
722      "for the existence of the file which is currently searched. By default "
723      "it is empty, it is intended to be set by the project. See also "
724      "CMAKE_SYSTEM_INCLUDE_PATH, CMAKE_PREFIX_PATH.", false,
725      "Variables That Change Behavior");
726
727   cm->DefineProperty
728     ("CMAKE_LIBRARY_PATH", cmProperty::VARIABLE,
729      "Path used for searching by FIND_LIBRARY().",
730      "Specifies a path which will be used by FIND_LIBRARY(). FIND_LIBRARY() "
731      "will check each of the contained directories for the existence of the "
732      "library which is currently searched. By default it is empty, it is "
733      "intended to be set by the project. See also CMAKE_SYSTEM_LIBRARY_PATH, "
734      "CMAKE_PREFIX_PATH.", false,
735      "Variables That Change Behavior");
736
737   cm->DefineProperty
738     ("CMAKE_PROGRAM_PATH", cmProperty::VARIABLE,
739      "Path used for searching by FIND_PROGRAM().",
740      "Specifies a path which will be used by FIND_PROGRAM(). FIND_PROGRAM() "
741      "will check each of the contained directories for the existence of the "
742      "program which is currently searched. By default it is empty, it is "
743      "intended to be set by the project. See also CMAKE_SYSTEM_PROGRAM_PATH, "
744      " CMAKE_PREFIX_PATH.", false,
745      "Variables That Change Behavior");
746
747   cm->DefineProperty
748     ("CMAKE_SYSTEM_PREFIX_PATH", cmProperty::VARIABLE,
749      "Path used for searching by FIND_XXX(), with appropriate suffixes added.",
750      "Specifies a path which will be used by the FIND_XXX() commands. It "
751      "contains the \"base\" directories, the FIND_XXX() commands append "
752      "appropriate subdirectories to the base directories. So FIND_PROGRAM() "
753      "adds /bin to each of the directories in the path, FIND_LIBRARY() "
754      "appends /lib to each of the directories, and FIND_PATH() and "
755      "FIND_FILE() append /include . By default this contains the standard "
756      "directories for the current system and the CMAKE_INSTALL_PREFIX.  "
757      "It is NOT intended "
758      "to be modified by the project, use CMAKE_PREFIX_PATH for this. See also "
759      "CMAKE_SYSTEM_INCLUDE_PATH, CMAKE_SYSTEM_LIBRARY_PATH, "
760      "CMAKE_SYSTEM_PROGRAM_PATH, and CMAKE_SYSTEM_IGNORE_PATH.", false,
761      "Variables That Change Behavior");
762
763   cm->DefineProperty
764     ("CMAKE_SYSTEM_IGNORE_PATH", cmProperty::VARIABLE,
765      "Path to be ignored by FIND_XXX() commands.",
766      "Specifies directories to be ignored by searches in FIND_XXX() "
767      "commands.  "
768      "This is useful in cross-compiled environments where some system "
769      "directories contain incompatible but possibly linkable libraries. For "
770      "example, on cross-compiled cluster environments, this allows a user to "
771      "ignore directories containing libraries meant for the front-end "
772      "machine that modules like FindX11 (and others) would normally search.  "
773      "By default this contains a list of directories containing incompatible "
774      "binaries for the host system.  "
775      "See also CMAKE_SYSTEM_PREFIX_PATH, CMAKE_SYSTEM_LIBRARY_PATH, "
776      "CMAKE_SYSTEM_INCLUDE_PATH, and CMAKE_SYSTEM_PROGRAM_PATH.", false,
777      "Variables That Change Behavior");
778
779   cm->DefineProperty
780     ("CMAKE_IGNORE_PATH", cmProperty::VARIABLE,
781      "Path to be ignored by FIND_XXX() commands.",
782      "Specifies directories to be ignored by searches in FIND_XXX() "
783      "commands.  "
784      "This is useful in cross-compiled environments where some system "
785      "directories contain incompatible but possibly linkable libraries. For "
786      "example, on cross-compiled cluster environments, this allows a user to "
787      "ignore directories containing libraries meant for the front-end "
788      "machine that modules like FindX11 (and others) would normally search.  "
789      "By default this is empty; it is intended to be set by the project.  "
790      "Note that CMAKE_IGNORE_PATH takes a list of directory names, NOT a "
791      "list of prefixes. If you want to ignore paths under prefixes (bin, "
792      "include, lib, etc.), you'll need to specify them explicitly.  "
793      "See also CMAKE_PREFIX_PATH, CMAKE_LIBRARY_PATH, CMAKE_INCLUDE_PATH, "
794      "CMAKE_PROGRAM_PATH.", false,
795      "Variables That Change Behavior");
796
797   cm->DefineProperty
798     ("CMAKE_SYSTEM_INCLUDE_PATH", cmProperty::VARIABLE,
799      "Path used for searching by FIND_FILE() and FIND_PATH().",
800      "Specifies a path which will be used both by FIND_FILE() and "
801      "FIND_PATH(). Both commands will check each of the contained directories "
802      "for the existence of the file which is currently searched. By default "
803      "it contains the standard directories for the current system. It is "
804      "NOT intended to be modified by the project, use CMAKE_INCLUDE_PATH "
805      "for this. See also CMAKE_SYSTEM_PREFIX_PATH.", false,
806      "Variables That Change Behavior");
807
808   cm->DefineProperty
809     ("CMAKE_SYSTEM_LIBRARY_PATH", cmProperty::VARIABLE,
810      "Path used for searching by FIND_LIBRARY().",
811      "Specifies a path which will be used by FIND_LIBRARY(). FIND_LIBRARY() "
812      "will check each of the contained directories for the existence of the "
813      "library which is currently searched. By default it contains the "
814      "standard directories for the current system. It is NOT intended to be "
815      "modified by the project, use CMAKE_LIBRARY_PATH for this. See "
816      "also CMAKE_SYSTEM_PREFIX_PATH.", false,
817      "Variables That Change Behavior");
818
819   cm->DefineProperty
820     ("CMAKE_SYSTEM_PROGRAM_PATH", cmProperty::VARIABLE,
821      "Path used for searching by FIND_PROGRAM().",
822      "Specifies a path which will be used by FIND_PROGRAM(). FIND_PROGRAM() "
823      "will check each of the contained directories for the existence of the "
824      "program which is currently searched. By default it contains the "
825      "standard directories for the current system. It is NOT intended to be "
826      "modified by the project, use CMAKE_PROGRAM_PATH for this. See also "
827      "CMAKE_SYSTEM_PREFIX_PATH.", false,
828      "Variables That Change Behavior");
829
830   cm->DefineProperty
831     ("CMAKE_DISABLE_FIND_PACKAGE_<PackageName>", cmProperty::VARIABLE,
832      "Variable for disabling find_package() calls.",
833      "Every non-REQUIRED find_package() call in a project can be disabled "
834      "by setting the variable CMAKE_DISABLE_FIND_PACKAGE_<PackageName> to "
835      "TRUE. This can be used to build a project without an optional package, "
836      "although that package is installed.\n"
837      "This switch should be used during the initial CMake run. Otherwise if "
838      "the package has already been found in a previous CMake run, the "
839      "variables which have been stored in the cache will still be there.  "
840      "In that case it is recommended to remove the cache variables for "
841      "this package from the cache using the cache editor or cmake -U", false,
842      "Variables That Change Behavior");
843
844   cm->DefineProperty
845     ("CMAKE_FIND_PACKAGE_WARN_NO_MODULE", cmProperty::VARIABLE,
846      "Tell find_package to warn if called without an explicit mode.",
847      "If find_package is called without an explicit mode option "
848      "(MODULE, CONFIG or NO_MODULE) and no Find<pkg>.cmake module is "
849      "in CMAKE_MODULE_PATH then CMake implicitly assumes that the "
850      "caller intends to search for a package configuration file.  "
851      "If no package configuration file is found then the wording "
852      "of the failure message must account for both the case that the "
853      "package is really missing and the case that the project has a "
854      "bug and failed to provide the intended Find module.  "
855      "If instead the caller specifies an explicit mode option then "
856      "the failure message can be more specific."
857      "\n"
858      "Set CMAKE_FIND_PACKAGE_WARN_NO_MODULE to TRUE to tell find_package "
859      "to warn when it implicitly assumes Config mode.  "
860      "This helps developers enforce use of an explicit mode in all calls "
861      "to find_package within a project.", false,
862      "Variables That Change Behavior");
863
864   cm->DefineProperty
865     ("CMAKE_USER_MAKE_RULES_OVERRIDE", cmProperty::VARIABLE,
866      "Specify a CMake file that overrides platform information.",
867      "CMake loads the specified file while enabling support for each "
868      "language from either the project() or enable_language() commands.  "
869      "It is loaded after CMake's builtin compiler and platform information "
870      "modules have been loaded but before the information is used.  "
871      "The file may set platform information variables to override CMake's "
872      "defaults."
873      "\n"
874      "This feature is intended for use only in overriding information "
875      "variables that must be set before CMake builds its first test "
876      "project to check that the compiler for a language works.  "
877      "It should not be used to load a file in cases that a normal include() "
878      "will work.  "
879      "Use it only as a last resort for behavior that cannot be achieved "
880      "any other way.  "
881      "For example, one may set CMAKE_C_FLAGS_INIT to change the default "
882      "value used to initialize CMAKE_C_FLAGS before it is cached.  "
883      "The override file should NOT be used to set anything that could "
884      "be set after languages are enabled, such as variables like "
885      "CMAKE_RUNTIME_OUTPUT_DIRECTORY that affect the placement of binaries.  "
886      "Information set in the file will be used for try_compile and try_run "
887      "builds too."
888      ,false,
889      "Variables That Change Behavior");
890
891   cm->DefineProperty
892     ("BUILD_SHARED_LIBS", cmProperty::VARIABLE,
893      "Global flag to cause add_library to create shared libraries if on.",
894      "If present and true, this will cause all libraries to be "
895      "built shared unless the library was explicitly added as a "
896      "static library.  This variable is often added to projects "
897      "as an OPTION so that each user of a project can decide if "
898      "they want to build the project using shared or static "
899      "libraries.",false,
900      "Variables That Change Behavior");
901
902   cm->DefineProperty
903     ("CMAKE_NOT_USING_CONFIG_FLAGS", cmProperty::VARIABLE,
904      "Skip _BUILD_TYPE flags if true.",
905      "This is an internal flag used by the generators in "
906      "CMake to tell CMake to skip the _BUILD_TYPE flags.",false,
907      "Variables That Change Behavior");
908
909   cm->DefineProperty
910     ("CMAKE_MFC_FLAG", cmProperty::VARIABLE,
911      "Tell cmake to use MFC for an executable or dll.",
912      "This can be set in a CMakeLists.txt file and will "
913      "enable MFC in the application.  It should be set "
914      "to 1 for the static MFC library, and 2 for "
915      "the shared MFC library.  This is used in Visual "
916      "Studio 6 and 7 project files.   The CMakeSetup "
917      "dialog used MFC and the CMakeLists.txt looks like this:\n"
918      "  add_definitions(-D_AFXDLL)\n"
919      "  set(CMAKE_MFC_FLAG 2)\n"
920      "  add_executable(CMakeSetup WIN32 ${SRCS})\n",false,
921      "Variables That Change Behavior");
922
923   cm->DefineProperty
924     ("CMAKE_COLOR_MAKEFILE", cmProperty::VARIABLE,
925      "Enables color output when using the Makefile generator.",
926      "When enabled, the generated Makefiles will produce colored output.  "
927      "Default is ON.",false,
928      "Variables That Change Behavior");
929
930   cm->DefineProperty
931     ("CMAKE_ABSOLUTE_DESTINATION_FILES", cmProperty::VARIABLE,
932       "List of files which have been installed using "
933       " an ABSOLUTE DESTINATION path.",
934       "This variable is defined by CMake-generated cmake_install.cmake "
935       "scripts."
936       " It can be used (read-only) by programs or scripts that source those"
937       " install scripts. This is used by some CPack generators (e.g. RPM).",
938       false,
939       "Variables That Change Behavior");
940
941   cm->DefineProperty
942     ("CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION", cmProperty::VARIABLE,
943       "Ask cmake_install.cmake script to warn each time a file with "
944       "absolute INSTALL DESTINATION is encountered.",
945       "This variable is used by CMake-generated cmake_install.cmake"
946       " scripts. If one sets this variable to ON while running the"
947       " script, it may get warning messages from the script.", false,
948       "Variables That Change Behavior");
949
950   cm->DefineProperty
951     ("CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION", cmProperty::VARIABLE,
952       "Ask cmake_install.cmake script to error out as soon as "
953       "a file with absolute INSTALL DESTINATION is encountered.",
954       "The fatal error is emitted before the installation of "
955       "the offending file takes place."
956       " This variable is used by CMake-generated cmake_install.cmake"
957       " scripts. If one sets this variable to ON while running the"
958       " script, it may get fatal error messages from the script.",false,
959       "Variables That Change Behavior");
960
961   cm->DefineProperty
962     ("CMAKE_DEBUG_TARGET_PROPERTIES", cmProperty::VARIABLE,
963      "Enables tracing output for target properties.",
964      "This variable can be populated with a list of properties to generate "
965      "debug output for when evaluating target properties.  Currently it can "
966      "only be used when evaluating the INCLUDE_DIRECTORIES, "
967      "COMPILE_DEFINITIONS and COMPILE_OPTIONS target properties.  "
968      "In that case, it outputs a backtrace for each entry in the target "
969      "property.  Default is unset.", false, "Variables That Change Behavior");
970
971   // Variables defined by CMake that describe the system
972
973   cm->DefineProperty
974     ("CMAKE_SYSTEM", cmProperty::VARIABLE,
975      "Name of system cmake is compiling for.",
976      "This variable is the composite of CMAKE_SYSTEM_NAME "
977      "and CMAKE_SYSTEM_VERSION, like this "
978      "${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_VERSION}.  "
979      "If CMAKE_SYSTEM_VERSION is not set, then "
980      "CMAKE_SYSTEM is the same as CMAKE_SYSTEM_NAME.",false,
981      "Variables That Describe the System");
982   cm->DefineProperty
983     ("CMAKE_SYSTEM_NAME", cmProperty::VARIABLE,
984      "Name of the OS CMake is building for.",
985      "This is the name of the operating system on "
986      "which CMake is targeting.   On systems that "
987      "have the uname command, this variable is set "
988      "to the output of uname -s.  Linux, Windows, "
989      " and Darwin for Mac OS X are the values found "
990      " on the big three operating systems."  ,false,
991      "Variables That Describe the System");
992   cm->DefineProperty
993     ("CMAKE_SYSTEM_PROCESSOR", cmProperty::VARIABLE,
994      "The name of the CPU CMake is building for.",
995      "On systems that support uname, this variable is "
996      "set to the output of uname -p, on windows it is "
997      "set to the value of the environment variable "
998      "PROCESSOR_ARCHITECTURE",false,
999      "Variables That Describe the System");
1000   cm->DefineProperty
1001     ("CMAKE_SYSTEM_VERSION", cmProperty::VARIABLE,
1002      "OS version CMake is building for.",
1003      "A numeric version string for the system, on "
1004      "systems that support uname, this variable is "
1005      "set to the output of uname -r. On other "
1006      "systems this is set to major-minor version numbers.",false,
1007      "Variables That Describe the System");
1008   cm->DefineProperty
1009     ("CMAKE_LIBRARY_ARCHITECTURE", cmProperty::VARIABLE,
1010      "Target architecture library directory name, if detected.",
1011      "This is the value of CMAKE_<lang>_LIBRARY_ARCHITECTURE as "
1012      "detected for one of the enabled languages.",false,
1013      "Variables That Describe the System");
1014   cm->DefineProperty
1015     ("CMAKE_LIBRARY_ARCHITECTURE_REGEX", cmProperty::VARIABLE,
1016      "Regex matching possible target architecture library directory names.",
1017      "This is used to detect CMAKE_<lang>_LIBRARY_ARCHITECTURE from the "
1018      "implicit linker search path by matching the <arch> name.",false,
1019      "Variables That Describe the System");
1020
1021   cm->DefineProperty
1022     ("CMAKE_HOST_SYSTEM", cmProperty::VARIABLE,
1023      "Name of system cmake is being run on.",
1024      "The same as CMAKE_SYSTEM but for the host system instead "
1025      "of the target system when cross compiling.",false,
1026      "Variables That Describe the System");
1027   cm->DefineProperty
1028     ("CMAKE_HOST_SYSTEM_NAME", cmProperty::VARIABLE,
1029      "Name of the OS CMake is running on.",
1030      "The same as CMAKE_SYSTEM_NAME but for the host system instead "
1031      "of the target system when cross compiling.",false,
1032      "Variables That Describe the System");
1033   cm->DefineProperty
1034     ("CMAKE_HOST_SYSTEM_PROCESSOR", cmProperty::VARIABLE,
1035      "The name of the CPU CMake is running on.",
1036      "The same as CMAKE_SYSTEM_PROCESSOR but for the host system instead "
1037      "of the target system when cross compiling.",false,
1038      "Variables That Describe the System");
1039   cm->DefineProperty
1040     ("CMAKE_HOST_SYSTEM_VERSION", cmProperty::VARIABLE,
1041      "OS version CMake is running on.",
1042      "The same as CMAKE_SYSTEM_VERSION but for the host system instead "
1043      "of the target system when cross compiling.",false,
1044      "Variables That Describe the System");
1045
1046   cm->DefineProperty
1047     ("APPLE", cmProperty::VARIABLE,
1048      "True if running on Mac OS X.",
1049      "Set to true on Mac OS X."
1050      ,false,
1051      "Variables That Describe the System");
1052
1053   cm->DefineProperty
1054     ("BORLAND", cmProperty::VARIABLE,
1055      "True if the Borland compiler is being used.",
1056      "This is set to true if the Borland compiler is being used.",false,
1057      "Variables That Describe the System");
1058
1059   cm->DefineProperty
1060     ("CYGWIN", cmProperty::VARIABLE,
1061      "True for Cygwin.",
1062      "Set to true when using Cygwin."
1063      ,false,
1064      "Variables That Describe the System");
1065
1066   cm->DefineProperty
1067     ("MSVC", cmProperty::VARIABLE,
1068      "True when using Microsoft Visual C",
1069      "Set to true when the compiler is some version of Microsoft Visual C.",
1070      false,
1071      "Variables That Describe the System");
1072
1073   int msvc_versions[] = { 60, 70, 71, 80, 90, 100, 110, 120, 0 };
1074   for (int i = 0; msvc_versions[i] != 0; i ++)
1075     {
1076     const char minor = (char)('0' + (msvc_versions[i] % 10));
1077     cmStdString varName = "MSVC";
1078     cmsys_ios::ostringstream majorStr;
1079
1080     majorStr << (msvc_versions[i] / 10);
1081     varName += majorStr.str();
1082     if (msvc_versions[i] < 100)
1083       {
1084       varName += minor;
1085       }
1086
1087     cmStdString verString = majorStr.str() + "." + minor;
1088
1089     cmStdString shortStr = "True when using Microsoft Visual C " + verString;
1090     cmStdString fullStr = "Set to true when the compiler is version " +
1091                           verString +
1092                           " of Microsoft Visual C.";
1093     cm->DefineProperty
1094       (varName.c_str(), cmProperty::VARIABLE,
1095        shortStr.c_str(),
1096        fullStr.c_str(),
1097        false,
1098        "Variables That Describe the System");
1099     }
1100
1101   cm->DefineProperty
1102     ("MSVC_IDE", cmProperty::VARIABLE,
1103      "True when using the Microsoft Visual C IDE",
1104      "Set to true when the target platform is the Microsoft Visual C IDE, "
1105      "as opposed to the command line compiler.",
1106      false,
1107      "Variables That Describe the System");
1108
1109   cm->DefineProperty
1110     ("MSVC_VERSION", cmProperty::VARIABLE,
1111      "The version of Microsoft Visual C/C++ being used if any.",
1112      "Known version numbers are:\n"
1113      "  1200 = VS  6.0\n"
1114      "  1300 = VS  7.0\n"
1115      "  1310 = VS  7.1\n"
1116      "  1400 = VS  8.0\n"
1117      "  1500 = VS  9.0\n"
1118      "  1600 = VS 10.0\n"
1119      "  1700 = VS 11.0\n"
1120      "  1800 = VS 12.0\n"
1121      "",
1122      false,
1123      "Variables That Describe the System");
1124
1125   cm->DefineProperty
1126     ("CMAKE_CL_64", cmProperty::VARIABLE,
1127      "Using the 64 bit compiler from Microsoft",
1128      "Set to true when using the 64 bit cl compiler from Microsoft.",
1129      false,
1130      "Variables That Describe the System");
1131
1132   cm->DefineProperty
1133     ("CMAKE_COMPILER_2005", cmProperty::VARIABLE,
1134      "Using the Visual Studio 2005 compiler from Microsoft",
1135      "Set to true when using the Visual Studio 2005 compiler "
1136      "from Microsoft.",
1137      false,
1138      "Variables That Describe the System");
1139
1140   cm->DefineProperty
1141     ("UNIX", cmProperty::VARIABLE,
1142      "True for UNIX and UNIX like operating systems.",
1143      "Set to true when the target system is UNIX or UNIX like "
1144      "(i.e. APPLE and CYGWIN).",false,
1145      "Variables That Describe the System");
1146
1147   cm->DefineProperty
1148     ("WIN32", cmProperty::VARIABLE,
1149      "True on windows systems, including win64.",
1150      "Set to true when the target system is Windows.",false,
1151      "Variables That Describe the System");
1152
1153   cm->DefineProperty
1154     ("XCODE_VERSION", cmProperty::VARIABLE,
1155      "Version of Xcode (Xcode generator only).",
1156      "Under the Xcode generator, this is the version of Xcode as specified in "
1157      "\"Xcode.app/Contents/version.plist\" (such as \"3.1.2\").",false,
1158      "Variables That Describe the System");
1159
1160   cm->DefineProperty
1161     ("CMAKE_HOST_APPLE", cmProperty::VARIABLE,
1162      "True for Apple OS X operating systems.",
1163      "Set to true when the host system is Apple OS X.",
1164      false,
1165      "Variables That Describe the System");
1166
1167   cm->DefineProperty
1168     ("CMAKE_HOST_UNIX", cmProperty::VARIABLE,
1169      "True for UNIX and UNIX like operating systems.",
1170      "Set to true when the host system is UNIX or UNIX like "
1171      "(i.e. APPLE and CYGWIN).",false,
1172      "Variables That Describe the System");
1173
1174   cm->DefineProperty
1175     ("CMAKE_HOST_WIN32", cmProperty::VARIABLE,
1176      "True on windows systems, including win64.",
1177      "Set to true when the host system is Windows and on Cygwin."
1178      ,false,
1179      "Variables That Describe the System");
1180
1181   cm->DefineProperty
1182     ("CMAKE_OBJECT_PATH_MAX", cmProperty::VARIABLE,
1183      "Maximum object file full-path length allowed by native build tools.",
1184      "CMake computes for every source file an object file name that is "
1185      "unique to the source file and deterministic with respect to the "
1186      "full path to the source file.  "
1187      "This allows multiple source files in a target to share the same name "
1188      "if they lie in different directories without rebuilding when one is "
1189      "added or removed.  "
1190      "However, it can produce long full paths in a few cases, so CMake "
1191      "shortens the path using a hashing scheme when the full path to an "
1192      "object file exceeds a limit.  "
1193      "CMake has a built-in limit for each platform that is sufficient for "
1194      "common tools, but some native tools may have a lower limit.  "
1195      "This variable may be set to specify the limit explicitly.  "
1196      "The value must be an integer no less than 128.",false,
1197      "Variables That Describe the System");
1198
1199   cm->DefineProperty
1200     ("ENV", cmProperty::VARIABLE,
1201      "Access environment variables.",
1202      "Use the syntax $ENV{VAR} to read environment variable VAR.  "
1203      "See also the set() command to set ENV{VAR}."
1204      ,false,
1205      "Variables That Describe the System");
1206
1207   // Variables that affect the building of object files and
1208   // targets.
1209   //
1210   cm->DefineProperty
1211     ("CMAKE_INCLUDE_CURRENT_DIR", cmProperty::VARIABLE,
1212      "Automatically add the current source- and build directories "
1213      "to the include path.",
1214      "If this variable is enabled, CMake automatically adds in each "
1215      "directory ${CMAKE_CURRENT_SOURCE_DIR} and ${CMAKE_CURRENT_BINARY_DIR} "
1216      "to the include path for this directory. These additional include "
1217      "directories do not propagate down to subdirectories. This is useful "
1218      "mainly for out-of-source builds, where files generated into the "
1219      "build tree are included by files located in the source tree.\n"
1220      "By default CMAKE_INCLUDE_CURRENT_DIR is OFF.",
1221      false,
1222      "Variables that Control the Build");
1223
1224   cm->DefineProperty
1225     ("CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE", cmProperty::VARIABLE,
1226      "Automatically add the current source- and build directories "
1227      "to the INTERFACE_INCLUDE_DIRECTORIES.",
1228      "If this variable is enabled, CMake automatically adds for each shared "
1229      "library target, static library target, module target and executable "
1230      "target, ${CMAKE_CURRENT_SOURCE_DIR} and ${CMAKE_CURRENT_BINARY_DIR} to "
1231      "the INTERFACE_INCLUDE_DIRECTORIES."
1232      "By default CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE is OFF.",
1233      false,
1234      "Variables that Control the Build");
1235
1236   cm->DefineProperty
1237     ("CMAKE_INSTALL_RPATH", cmProperty::VARIABLE,
1238      "The rpath to use for installed targets.",
1239      "A semicolon-separated list specifying the rpath "
1240      "to use in installed targets (for platforms that support it).  "
1241      "This is used to initialize the target property "
1242      "INSTALL_RPATH for all targets.",
1243      false,
1244      "Variables that Control the Build");
1245
1246   cm->DefineProperty
1247     ("CMAKE_INSTALL_RPATH_USE_LINK_PATH", cmProperty::VARIABLE,
1248      "Add paths to linker search and installed rpath.",
1249      "CMAKE_INSTALL_RPATH_USE_LINK_PATH is a boolean that if set to true "
1250      "will append directories in the linker search path and outside the "
1251      "project to the INSTALL_RPATH.  "
1252      "This is used to initialize the target property "
1253      "INSTALL_RPATH_USE_LINK_PATH for all targets.",
1254      false,
1255      "Variables that Control the Build");
1256
1257   cm->DefineProperty
1258     ("CMAKE_INSTALL_NAME_DIR", cmProperty::VARIABLE,
1259      "Mac OS X directory name for installed targets.",
1260      "CMAKE_INSTALL_NAME_DIR is used to initialize the "
1261      "INSTALL_NAME_DIR property on all targets. See that target "
1262      "property for more information.",
1263      false,
1264      "Variables that Control the Build");
1265
1266   cm->DefineProperty
1267     ("CMAKE_Fortran_FORMAT", cmProperty::VARIABLE,
1268      "Set to FIXED or FREE to indicate the Fortran source layout.",
1269      "This variable is used to initialize the Fortran_FORMAT "
1270      "property on all the targets.  "
1271      "See that target property for additional information.",
1272      false,
1273      "Variables that Control the Build");
1274
1275   cm->DefineProperty
1276     ("CMAKE_Fortran_MODULE_DIRECTORY", cmProperty::VARIABLE,
1277      "Fortran module output directory.",
1278      "This variable is used to initialize the "
1279      "Fortran_MODULE_DIRECTORY property on all the targets.  "
1280      "See that target property for additional information.",
1281      false,
1282      "Variables that Control the Build");
1283
1284   cm->DefineProperty
1285     ("CMAKE_LIBRARY_OUTPUT_DIRECTORY", cmProperty::VARIABLE,
1286      "Where to put all the LIBRARY targets when built.",
1287      "This variable is used to initialize the "
1288      "LIBRARY_OUTPUT_DIRECTORY property on all the targets.  "
1289      "See that target property for additional information.",
1290      false,
1291      "Variables that Control the Build");
1292
1293   cm->DefineProperty
1294     ("CMAKE_ARCHIVE_OUTPUT_DIRECTORY", cmProperty::VARIABLE,
1295      "Where to put all the ARCHIVE targets when built.",
1296      "This variable is used to initialize the "
1297      "ARCHIVE_OUTPUT_DIRECTORY property on all the targets.  "
1298      "See that target property for additional information.",
1299      false,
1300      "Variables that Control the Build");
1301
1302   cm->DefineProperty
1303     ("CMAKE_RUNTIME_OUTPUT_DIRECTORY", cmProperty::VARIABLE,
1304      "Where to put all the RUNTIME targets when built.",
1305      "This variable is used to initialize the "
1306      "RUNTIME_OUTPUT_DIRECTORY property on all the targets.  "
1307      "See that target property for additional information.",
1308      false,
1309      "Variables that Control the Build");
1310
1311   cm->DefineProperty
1312     ("CMAKE_PDB_OUTPUT_DIRECTORY", cmProperty::VARIABLE,
1313      "Where to put all the MS debug symbol files from linker.",
1314      "This variable is used to initialize the "
1315      "PDB_OUTPUT_DIRECTORY property on all the targets.  "
1316      "See that target property for additional information.",
1317      false,
1318      "Variables that Control the Build");
1319
1320   cm->DefineProperty
1321     ("CMAKE_LINK_DEPENDS_NO_SHARED", cmProperty::VARIABLE,
1322      "Whether to skip link dependencies on shared library files.",
1323      "This variable initializes the LINK_DEPENDS_NO_SHARED "
1324      "property on targets when they are created.  "
1325      "See that target property for additional information.",
1326      false,
1327      "Variables that Control the Build");
1328
1329   cm->DefineProperty
1330     ("CMAKE_AUTOMOC", cmProperty::VARIABLE,
1331      "Whether to handle moc automatically for Qt targets.",
1332      "This variable is used to initialize the "
1333      "AUTOMOC property on all the targets.  "
1334      "See that target property for additional information.",
1335      false,
1336      "Variables that Control the Build");
1337
1338   cm->DefineProperty
1339     ("CMAKE_AUTOMOC_MOC_OPTIONS", cmProperty::VARIABLE,
1340      "Additional options for moc when using automoc (see CMAKE_AUTOMOC).",
1341      "This variable is used to initialize the "
1342      "AUTOMOC_MOC_OPTIONS property on all the targets.  "
1343      "See that target property for additional information.",
1344      false,
1345      "Variables that Control the Build");
1346
1347   cm->DefineProperty
1348     ("CMAKE_GNUtoMS", cmProperty::VARIABLE,
1349      "Convert GNU import libraries (.dll.a) to MS format (.lib).",
1350      "This variable is used to initialize the GNUtoMS property on targets "
1351      "when they are created.  "
1352      "See that target property for additional information.",
1353      false,
1354      "Variables that Control the Build");
1355
1356   cm->DefineProperty
1357     ("CMAKE_DEBUG_POSTFIX", cmProperty::VARIABLE,
1358      "See variable CMAKE_<CONFIG>_POSTFIX.",
1359      "This variable is a special case of the more-general "
1360      "CMAKE_<CONFIG>_POSTFIX variable for the DEBUG configuration.",
1361      false,
1362      "Variables that Control the Build");
1363   cm->DefineProperty
1364     ("CMAKE_<CONFIG>_POSTFIX", cmProperty::VARIABLE,
1365      "Default filename postfix for libraries under configuration <CONFIG>.",
1366      "When a non-executable target is created its <CONFIG>_POSTFIX "
1367      "target property is initialized with the value of this variable "
1368      "if it is set.",
1369      false,
1370      "Variables that Control the Build");
1371
1372   cm->DefineProperty
1373     ("CMAKE_BUILD_WITH_INSTALL_RPATH", cmProperty::VARIABLE,
1374      "Use the install path for the RPATH",
1375      "Normally CMake uses the build tree for the RPATH when building "
1376      "executables etc on systems that use RPATH. When the software "
1377      "is installed the executables etc are relinked by CMake to have "
1378      "the install RPATH. If this variable is set to true then the software "
1379      "is always built with the install path for the RPATH and does not "
1380      "need to be relinked when installed.",false,
1381      "Variables that Control the Build");
1382
1383   cm->DefineProperty
1384     ("CMAKE_NO_BUILTIN_CHRPATH", cmProperty::VARIABLE,
1385      "Do not use the builtin ELF editor to fix RPATHs on installation.",
1386      "When an ELF binary needs to have a different RPATH after installation "
1387      "than it does in the build tree, CMake uses a builtin editor to change "
1388      "the RPATH in the installed copy.  "
1389      "If this variable is set to true then CMake will relink the binary "
1390      "before installation instead of using its builtin editor.",false,
1391      "Variables that Control the Build");
1392
1393   cm->DefineProperty
1394     ("CMAKE_SKIP_BUILD_RPATH", cmProperty::VARIABLE,
1395      "Do not include RPATHs in the build tree.",
1396      "Normally CMake uses the build tree for the RPATH when building "
1397      "executables etc on systems that use RPATH. When the software "
1398      "is installed the executables etc are relinked by CMake to have "
1399      "the install RPATH. If this variable is set to true then the software "
1400      "is always built with no RPATH.",false,
1401      "Variables that Control the Build");
1402
1403   cm->DefineProperty
1404     ("CMAKE_SKIP_INSTALL_RPATH", cmProperty::VARIABLE,
1405      "Do not include RPATHs in the install tree.",
1406      "Normally CMake uses the build tree for the RPATH when building "
1407      "executables etc on systems that use RPATH. When the software "
1408      "is installed the executables etc are relinked by CMake to have "
1409      "the install RPATH. If this variable is set to true then the software "
1410      "is always installed without RPATH, even if RPATH is enabled when "
1411      "building.  This can be useful for example to allow running tests from "
1412      "the build directory with RPATH enabled before the installation step.  "
1413      "To omit RPATH in both the build and install steps, use "
1414      "CMAKE_SKIP_RPATH instead.",false,
1415      "Variables that Control the Build");
1416
1417   cm->DefineProperty
1418     ("CMAKE_EXE_LINKER_FLAGS", cmProperty::VARIABLE,
1419      "Linker flags to be used to create executables.",
1420      "These flags will be used by the linker when creating an executable."
1421      ,false,
1422      "Variables that Control the Build");
1423
1424   cm->DefineProperty
1425     ("CMAKE_EXE_LINKER_FLAGS_<CONFIG>", cmProperty::VARIABLE,
1426      "Flags to be used when linking an executable.",
1427      "Same as CMAKE_C_FLAGS_* but used by the linker "
1428      "when creating executables.",false,
1429      "Variables that Control the Build");
1430
1431   cm->DefineProperty
1432     ("CMAKE_MODULE_LINKER_FLAGS", cmProperty::VARIABLE,
1433      "Linker flags to be used to create modules.",
1434      "These flags will be used by the linker when creating a module."
1435      ,false,
1436      "Variables that Control the Build");
1437
1438   cm->DefineProperty
1439     ("CMAKE_MODULE_LINKER_FLAGS_<CONFIG>", cmProperty::VARIABLE,
1440      "Flags to be used when linking a module.",
1441      "Same as CMAKE_C_FLAGS_* but used by the linker "
1442      "when creating modules.",false,
1443      "Variables that Control the Build");
1444
1445   cm->DefineProperty
1446     ("CMAKE_SHARED_LINKER_FLAGS", cmProperty::VARIABLE,
1447      "Linker flags to be used to create shared libraries.",
1448      "These flags will be used by the linker when creating a shared library."
1449      ,false,
1450      "Variables that Control the Build");
1451
1452   cm->DefineProperty
1453     ("CMAKE_SHARED_LINKER_FLAGS_<CONFIG>", cmProperty::VARIABLE,
1454      "Flags to be used when linking a shared library.",
1455      "Same as CMAKE_C_FLAGS_* but used by the linker "
1456      "when creating shared libraries.",false,
1457      "Variables that Control the Build");
1458
1459   cm->DefineProperty
1460     ("CMAKE_STATIC_LINKER_FLAGS", cmProperty::VARIABLE,
1461      "Linker flags to be used to create static libraries.",
1462      "These flags will be used by the linker when creating a static library."
1463      ,false,
1464      "Variables that Control the Build");
1465
1466   cm->DefineProperty
1467     ("CMAKE_STATIC_LINKER_FLAGS_<CONFIG>", cmProperty::VARIABLE,
1468      "Flags to be used when linking a static library.",
1469      "Same as CMAKE_C_FLAGS_* but used by the linker "
1470      "when creating static libraries.",false,
1471      "Variables that Control the Build");
1472
1473   cm->DefineProperty
1474     ("CMAKE_LIBRARY_PATH_FLAG", cmProperty::VARIABLE,
1475      "The flag to be used to add a library search path to a compiler.",
1476      "The flag will be used to specify a library directory to the compiler.  "
1477      "On most compilers this is \"-L\".",false,
1478      "Variables that Control the Build");
1479   cm->DefineProperty
1480     ("CMAKE_LINK_DEF_FILE_FLAG  ", cmProperty::VARIABLE,
1481      "Linker flag to be used to specify a .def file for dll creation.",
1482      "The flag will be used to add a .def file when creating "
1483      "a dll on Windows; this is only defined on Windows."
1484      ,false,
1485      "Variables that Control the Build");
1486   cm->DefineProperty
1487     ("CMAKE_LINK_LIBRARY_FLAG", cmProperty::VARIABLE,
1488      "Flag to be used to link a library into an executable.",
1489      "The flag will be used to specify a library to link to an executable.  "
1490      "On most compilers this is \"-l\".",false,
1491      "Variables that Control the Build");
1492   cm->DefineProperty
1493     ("CMAKE_LINK_LIBRARY_FILE_FLAG", cmProperty::VARIABLE,
1494      "Flag to be used to link a library specified by a path to its file.",
1495      "The flag will be used before a library file path is given to the "
1496      "linker.  "
1497      "This is needed only on very few platforms.", false,
1498      "Variables that Control the Build");
1499   cm->DefineProperty
1500     ("CMAKE_USE_RELATIVE_PATHS", cmProperty::VARIABLE,
1501      "Use relative paths (May not work!).",
1502      "If this is set to TRUE, then CMake will use "
1503      "relative paths between the source and binary tree.  "
1504      "This option does not work for more complicated "
1505      "projects, and relative paths are used when possible.  "
1506      "In general, it is not possible to move CMake generated"
1507      " makefiles to a different location regardless "
1508      "of the value of this variable.",false,
1509      "Variables that Control the Build");
1510   cm->DefineProperty
1511     ("EXECUTABLE_OUTPUT_PATH", cmProperty::VARIABLE,
1512      "Old executable location variable.",
1513      "The target property RUNTIME_OUTPUT_DIRECTORY supercedes "
1514      "this variable for a target if it is set.  "
1515      "Executable targets are otherwise placed in this directory.",false,
1516      "Variables that Control the Build");
1517   cm->DefineProperty
1518     ("LIBRARY_OUTPUT_PATH", cmProperty::VARIABLE,
1519      "Old library location variable.",
1520      "The target properties ARCHIVE_OUTPUT_DIRECTORY, "
1521      "LIBRARY_OUTPUT_DIRECTORY, and RUNTIME_OUTPUT_DIRECTORY supercede "
1522      "this variable for a target if they are set.  "
1523      "Library targets are otherwise placed in this directory.",false,
1524      "Variables that Control the Build");
1525   cm->DefineProperty
1526     ("CMAKE_TRY_COMPILE_CONFIGURATION", cmProperty::VARIABLE,
1527      "Build configuration used for try_compile and try_run projects.",
1528      "Projects built by try_compile and try_run are built "
1529      "synchronously during the CMake configuration step.  "
1530      "Therefore a specific build configuration must be chosen even "
1531      "if the generated build system supports multiple configurations.",false,
1532      "Variables that Control the Build");
1533   cm->DefineProperty
1534     ("CMAKE_LINK_INTERFACE_LIBRARIES", cmProperty::VARIABLE,
1535      "Default value for LINK_INTERFACE_LIBRARIES of targets.",
1536      "This variable is used to initialize the "
1537      "LINK_INTERFACE_LIBRARIES property on all the targets.  "
1538      "See that target property for additional information.",
1539      false,
1540      "Variables that Control the Build");
1541   cm->DefineProperty
1542     ("CMAKE_WIN32_EXECUTABLE", cmProperty::VARIABLE,
1543      "Default value for WIN32_EXECUTABLE of targets.",
1544      "This variable is used to initialize the "
1545      "WIN32_EXECUTABLE property on all the targets.  "
1546      "See that target property for additional information.",
1547      false,
1548      "Variables that Control the Build");
1549   cm->DefineProperty
1550     ("CMAKE_MACOSX_BUNDLE", cmProperty::VARIABLE,
1551      "Default value for MACOSX_BUNDLE of targets.",
1552      "This variable is used to initialize the "
1553      "MACOSX_BUNDLE property on all the targets.  "
1554      "See that target property for additional information.",
1555      false,
1556      "Variables that Control the Build");
1557   cm->DefineProperty
1558     ("CMAKE_POSITION_INDEPENDENT_CODE", cmProperty::VARIABLE,
1559      "Default value for POSITION_INDEPENDENT_CODE of targets.",
1560      "This variable is used to initialize the "
1561      "POSITION_INDEPENDENT_CODE property on all the targets.  "
1562      "See that target property for additional information.",
1563      false,
1564      "Variables that Control the Build");
1565   cm->DefineProperty
1566     ("CMAKE_<LANG>_VISIBILITY_PRESET", cmProperty::VARIABLE,
1567      "Default value for <LANG>_VISIBILITY_PRESET of targets.",
1568      "This variable is used to initialize the "
1569      "<LANG>_VISIBILITY_PRESET property on all the targets.  "
1570      "See that target property for additional information.",
1571      false,
1572      "Variables that Control the Build");
1573   cm->DefineProperty
1574     ("CMAKE_VISIBILITY_INLINES_HIDDEN", cmProperty::VARIABLE,
1575      "Default value for VISIBILITY_INLINES_HIDDEN of targets.",
1576      "This variable is used to initialize the "
1577      "VISIBILITY_INLINES_HIDDEN property on all the targets.  "
1578      "See that target property for additional information.",
1579      false,
1580      "Variables that Control the Build");
1581
1582 //   Variables defined when the a language is enabled These variables will
1583 // also be defined whenever CMake has loaded its support for compiling (LANG)
1584 // programs. This support will be loaded whenever CMake is used to compile
1585 // (LANG) files. C and CXX are examples of the most common values for (LANG).
1586
1587   cm->DefineProperty
1588     ("CMAKE_USER_MAKE_RULES_OVERRIDE_<LANG>", cmProperty::VARIABLE,
1589      "Specify a CMake file that overrides platform information for <LANG>.",
1590      "This is a language-specific version of "
1591      "CMAKE_USER_MAKE_RULES_OVERRIDE loaded only when enabling "
1592      "language <LANG>.",false,
1593      "Variables for Languages");
1594
1595   cm->DefineProperty
1596     ("CMAKE_<LANG>_COMPILER", cmProperty::VARIABLE,
1597      "The full path to the compiler for LANG.",
1598      "This is the command that will be used as the <LANG> compiler.  "
1599      "Once set, you can not change this variable.",false,
1600      "Variables for Languages");
1601
1602   cm->DefineProperty
1603     ("CMAKE_<LANG>_COMPILER_ID", cmProperty::VARIABLE,
1604      "Compiler identification string.",
1605      "A short string unique to the compiler vendor.  "
1606      "Possible values include:\n"
1607      "  Absoft = Absoft Fortran (absoft.com)\n"
1608      "  ADSP = Analog VisualDSP++ (analog.com)\n"
1609      "  Clang = LLVM Clang (clang.llvm.org)\n"
1610      "  Cray = Cray Compiler (cray.com)\n"
1611      "  Embarcadero, Borland = Embarcadero (embarcadero.com)\n"
1612      "  G95 = G95 Fortran (g95.org)\n"
1613      "  GNU = GNU Compiler Collection (gcc.gnu.org)\n"
1614      "  HP = Hewlett-Packard Compiler (hp.com)\n"
1615      "  Intel = Intel Compiler (intel.com)\n"
1616      "  MIPSpro = SGI MIPSpro (sgi.com)\n"
1617      "  MSVC = Microsoft Visual Studio (microsoft.com)\n"
1618      "  PGI = The Portland Group (pgroup.com)\n"
1619      "  PathScale = PathScale (pathscale.com)\n"
1620      "  SDCC = Small Device C Compiler (sdcc.sourceforge.net)\n"
1621      "  SunPro = Oracle Solaris Studio (oracle.com)\n"
1622      "  TI = Texas Instruments (ti.com)\n"
1623      "  TinyCC = Tiny C Compiler (tinycc.org)\n"
1624      "  Watcom = Open Watcom (openwatcom.org)\n"
1625      "  XL, VisualAge, zOS = IBM XL (ibm.com)\n"
1626      "This variable is not guaranteed to be defined for all "
1627      "compilers or languages.",
1628      false,
1629      "Variables for Languages");
1630
1631   cm->DefineProperty
1632     ("CMAKE_<LANG>_PLATFORM_ID", cmProperty::VARIABLE,
1633      "An internal variable subject to change.",
1634      "This is used in determining the platform and is subject to change.",
1635      false,
1636      "Variables for Languages");
1637
1638   cm->DefineProperty
1639     ("CMAKE_<LANG>_COMPILER_ABI", cmProperty::VARIABLE,
1640      "An internal variable subject to change.",
1641      "This is used in determining the compiler ABI and is subject to change.",
1642      false,
1643      "Variables for Languages");
1644
1645   cm->DefineProperty
1646     ("CMAKE_<LANG>_COMPILER_VERSION", cmProperty::VARIABLE,
1647      "Compiler version string.",
1648      "Compiler version in major[.minor[.patch[.tweak]]] format.  "
1649      "This variable is not guaranteed to be defined for all "
1650      "compilers or languages.",
1651      false,
1652      "Variables for Languages");
1653
1654   cm->DefineProperty
1655     ("CMAKE_INTERNAL_PLATFORM_ABI", cmProperty::VARIABLE,
1656      "An internal variable subject to change.",
1657      "This is used in determining the compiler ABI and is subject to change.",
1658      false,
1659      "Variables for Languages");
1660
1661   cm->DefineProperty
1662     ("CMAKE_<LANG>_SIZEOF_DATA_PTR", cmProperty::VARIABLE,
1663      "Size of pointer-to-data types for language <LANG>.",
1664      "This holds the size (in bytes) of pointer-to-data types in the target "
1665      "platform ABI.  "
1666      "It is defined for languages C and CXX (C++).",
1667      false,
1668      "Variables for Languages");
1669
1670   cm->DefineProperty
1671     ("CMAKE_COMPILER_IS_GNU<LANG>", cmProperty::VARIABLE,
1672      "True if the compiler is GNU.",
1673      "If the selected <LANG> compiler is the GNU "
1674      "compiler then this is TRUE, if not it is FALSE.  "
1675      "Unlike the other per-language variables, this uses the GNU syntax for "
1676      "identifying languages instead of the CMake syntax. Recognized values of "
1677      "the <LANG> suffix are:\n"
1678      "  CC = C compiler\n"
1679      "  CXX = C++ compiler\n"
1680      "  G77 = Fortran compiler",
1681      false,
1682      "Variables for Languages");
1683
1684   cm->DefineProperty
1685      ("CMAKE_<LANG>_FLAGS", cmProperty::VARIABLE,
1686       "Flags for all build types.",
1687       "<LANG> flags used regardless of the value of CMAKE_BUILD_TYPE.",false,
1688       "Variables for Languages");
1689
1690   cm->DefineProperty
1691     ("CMAKE_<LANG>_FLAGS_DEBUG", cmProperty::VARIABLE,
1692      "Flags for Debug build type or configuration.",
1693      "<LANG> flags used when CMAKE_BUILD_TYPE is Debug.",false,
1694      "Variables for Languages");
1695
1696   cm->DefineProperty
1697     ("CMAKE_<LANG>_FLAGS_MINSIZEREL", cmProperty::VARIABLE,
1698      "Flags for MinSizeRel build type or configuration.",
1699      "<LANG> flags used when CMAKE_BUILD_TYPE is MinSizeRel."
1700      "Short for minimum size release.",false,
1701      "Variables for Languages");
1702
1703   cm->DefineProperty
1704     ("CMAKE_<LANG>_FLAGS_RELEASE", cmProperty::VARIABLE,
1705      "Flags for Release build type or configuration.",
1706      "<LANG> flags used when CMAKE_BUILD_TYPE is Release",false,
1707      "Variables for Languages");
1708
1709   cm->DefineProperty
1710     ("CMAKE_<LANG>_FLAGS_RELWITHDEBINFO", cmProperty::VARIABLE,
1711      "Flags for RelWithDebInfo type or configuration.",
1712      "<LANG> flags used when CMAKE_BUILD_TYPE is RelWithDebInfo.  "
1713      "Short for Release With Debug Information.",false,
1714      "Variables for Languages");
1715
1716   cm->DefineProperty
1717     ("CMAKE_<LANG>_COMPILE_OBJECT", cmProperty::VARIABLE,
1718      "Rule variable to compile a single object file.",
1719      "This is a rule variable that tells CMake how to "
1720      "compile a single object file for the language <LANG>."
1721      ,false,
1722      "Variables for Languages");
1723
1724   cm->DefineProperty
1725     ("CMAKE_<LANG>_CREATE_SHARED_LIBRARY", cmProperty::VARIABLE,
1726      "Rule variable to create a shared library.",
1727      "This is a rule variable that tells CMake how to "
1728      "create a shared library for the language <LANG>.",false,
1729      "Variables for Languages");
1730
1731   cm->DefineProperty
1732     ("CMAKE_<LANG>_CREATE_SHARED_MODULE", cmProperty::VARIABLE,
1733      "Rule variable to create a shared module.",
1734      "This is a rule variable that tells CMake how to "
1735      "create a shared library for the language <LANG>.",false,
1736      "Variables for Languages");
1737
1738   cm->DefineProperty
1739     ("CMAKE_<LANG>_CREATE_STATIC_LIBRARY", cmProperty::VARIABLE,
1740      "Rule variable to create a static library.",
1741      "This is a rule variable that tells CMake how "
1742      "to create a static library for the language <LANG>.",false,
1743      "Variables for Languages");
1744
1745   cm->DefineProperty
1746     ("CMAKE_<LANG>_ARCHIVE_CREATE", cmProperty::VARIABLE,
1747      "Rule variable to create a new static archive.",
1748      "This is a rule variable that tells CMake how to create a static "
1749      "archive.  It is used in place of CMAKE_<LANG>_CREATE_STATIC_LIBRARY "
1750      "on some platforms in order to support large object counts.  "
1751      "See also CMAKE_<LANG>_ARCHIVE_APPEND and CMAKE_<LANG>_ARCHIVE_FINISH.",
1752      false, "Variables for Languages");
1753
1754   cm->DefineProperty
1755     ("CMAKE_<LANG>_ARCHIVE_APPEND", cmProperty::VARIABLE,
1756      "Rule variable to append to a static archive.",
1757      "This is a rule variable that tells CMake how to append to a static "
1758      "archive.  It is used in place of CMAKE_<LANG>_CREATE_STATIC_LIBRARY "
1759      "on some platforms in order to support large object counts.  "
1760      "See also CMAKE_<LANG>_ARCHIVE_CREATE and CMAKE_<LANG>_ARCHIVE_FINISH.",
1761      false, "Variables for Languages");
1762
1763   cm->DefineProperty
1764     ("CMAKE_<LANG>_ARCHIVE_FINISH", cmProperty::VARIABLE,
1765      "Rule variable to finish an existing static archive.",
1766      "This is a rule variable that tells CMake how to finish a static "
1767      "archive.  It is used in place of CMAKE_<LANG>_CREATE_STATIC_LIBRARY "
1768      "on some platforms in order to support large object counts.  "
1769      "See also CMAKE_<LANG>_ARCHIVE_CREATE and CMAKE_<LANG>_ARCHIVE_APPEND.",
1770      false, "Variables for Languages");
1771
1772   cm->DefineProperty
1773     ("CMAKE_<LANG>_IGNORE_EXTENSIONS", cmProperty::VARIABLE,
1774      "File extensions that should be ignored by the build.",
1775      "This is a list of file extensions that may be "
1776      "part of a project for a given language but are not compiled.",false,
1777      "Variables for Languages");
1778
1779   cm->DefineProperty
1780     ("CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES", cmProperty::VARIABLE,
1781      "Directories implicitly searched by the compiler for header files.",
1782      "CMake does not explicitly specify these directories on compiler "
1783      "command lines for language <LANG>.  "
1784      "This prevents system include directories from being treated as user "
1785      "include directories on some compilers.", false,
1786      "Variables for Languages");
1787
1788   cm->DefineProperty
1789     ("CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES", cmProperty::VARIABLE,
1790      "Implicit linker search path detected for language <LANG>.",
1791      "Compilers typically pass directories containing language runtime "
1792      "libraries and default library search paths when they invoke a linker.  "
1793      "These paths are implicit linker search directories for the compiler's "
1794      "language.  "
1795      "CMake automatically detects these directories for each language and "
1796      "reports the results in this variable."
1797      "\n"
1798      "When a library in one of these directories is given by full path to "
1799      "target_link_libraries() CMake will generate the -l<name> form on "
1800      "link lines to ensure the linker searches its implicit directories "
1801      "for the library.  "
1802      "Note that some toolchains read implicit directories from an "
1803      "environment variable such as LIBRARY_PATH so keep its value "
1804      "consistent when operating in a given build tree.",false,
1805      "Variables for Languages");
1806
1807   cm->DefineProperty
1808     ("CMAKE_<LANG>_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES", cmProperty::VARIABLE,
1809      "Implicit linker framework search path detected for language <LANG>.",
1810      "These paths are implicit linker framework search directories for "
1811      "the compiler's language.  "
1812      "CMake automatically detects these directories for each language and "
1813      "reports the results in this variable.", false,
1814      "Variables for Languages");
1815
1816   cm->DefineProperty
1817     ("CMAKE_<LANG>_IMPLICIT_LINK_LIBRARIES", cmProperty::VARIABLE,
1818      "Implicit link libraries and flags detected for language <LANG>.",
1819      "Compilers typically pass language runtime library names and "
1820      "other flags when they invoke a linker.  "
1821      "These flags are implicit link options for the compiler's language.  "
1822      "CMake automatically detects these libraries and flags for each "
1823      "language and reports the results in this variable.", false,
1824      "Variables for Languages");
1825
1826   cm->DefineProperty
1827     ("CMAKE_<LANG>_LIBRARY_ARCHITECTURE", cmProperty::VARIABLE,
1828      "Target architecture library directory name detected for <lang>.",
1829      "If the <lang> compiler passes to the linker an architecture-specific "
1830      "system library search directory such as <prefix>/lib/<arch> this "
1831      "variable contains the <arch> name if/as detected by CMake.",false,
1832      "Variables for Languages");
1833
1834   cm->DefineProperty
1835     ("CMAKE_<LANG>_LINKER_PREFERENCE_PROPAGATES", cmProperty::VARIABLE,
1836      "True if CMAKE_<LANG>_LINKER_PREFERENCE propagates across targets.",
1837      "This is used when CMake selects a linker language for a target.  "
1838      "Languages compiled directly into the target are always considered.  "
1839      "A language compiled into static libraries linked by the target is "
1840      "considered if this variable is true.", false,
1841      "Variables for Languages");
1842
1843   cm->DefineProperty
1844     ("CMAKE_<LANG>_LINKER_PREFERENCE", cmProperty::VARIABLE,
1845      "Preference value for linker language selection.",
1846      "The \"linker language\" for executable, shared library, and module "
1847      "targets is the language whose compiler will invoke the linker.  "
1848      "The LINKER_LANGUAGE target property sets the language explicitly.  "
1849      "Otherwise, the linker language is that whose linker preference value "
1850      "is highest among languages compiled and linked into the target.  "
1851      "See also the CMAKE_<LANG>_LINKER_PREFERENCE_PROPAGATES variable.",
1852      false,
1853      "Variables for Languages");
1854
1855   cm->DefineProperty
1856     ("CMAKE_<LANG>_LINK_EXECUTABLE ", cmProperty::VARIABLE,
1857      "Rule variable to link an executable.",
1858      "Rule variable to link an executable for the given language."
1859      ,false,
1860      "Variables for Languages");
1861
1862   cm->DefineProperty
1863     ("CMAKE_<LANG>_OUTPUT_EXTENSION", cmProperty::VARIABLE,
1864      "Extension for the output of a compile for a single file.",
1865      "This is the extension for an object file for "
1866      "the given <LANG>. For example .obj for C on Windows.",false,
1867      "Variables for Languages");
1868
1869   cm->DefineProperty
1870     ("CMAKE_<LANG>_SOURCE_FILE_EXTENSIONS", cmProperty::VARIABLE,
1871      "Extensions of source files for the given language.",
1872      "This is the list of extensions for a "
1873      "given language's source files."
1874      ,false,
1875      "Variables for Languages");
1876
1877   cm->DefineProperty(
1878     "CMAKE_<LANG>_COMPILER_LOADED", cmProperty::VARIABLE,
1879     "Defined to true if the language is enabled.",
1880     "When language <LANG> is enabled by project() or enable_language() "
1881     "this variable is defined to 1.",
1882     false,"Variables for Languages");
1883
1884   cm->DefineProperty(
1885     "CMAKE_Fortran_MODDIR_FLAG", cmProperty::VARIABLE,
1886     "Fortran flag for module output directory.",
1887     "This stores the flag needed to pass the value of the "
1888     "Fortran_MODULE_DIRECTORY target property to the compiler.",
1889     false,"Variables for Languages");
1890
1891   cm->DefineProperty(
1892     "CMAKE_Fortran_MODDIR_DEFAULT", cmProperty::VARIABLE,
1893     "Fortran default module output directory.",
1894     "Most Fortran compilers write .mod files to the current working "
1895     "directory.  "
1896     "For those that do not, this is set to \".\" and used when the "
1897     "Fortran_MODULE_DIRECTORY target property is not set.",
1898     false,"Variables for Languages");
1899
1900   cm->DefineProperty(
1901     "CMAKE_Fortran_MODOUT_FLAG", cmProperty::VARIABLE,
1902     "Fortran flag to enable module output.",
1903     "Most Fortran compilers write .mod files out by default.  "
1904     "For others, this stores the flag needed to enable module output.",
1905     false,"Variables for Languages");
1906
1907   // variables that are used by cmake but not to be documented
1908   cm->DefineProperty("CMAKE_MATCH_0", cmProperty::VARIABLE,0,0);
1909   cm->DefineProperty("CMAKE_MATCH_1", cmProperty::VARIABLE,0,0);
1910   cm->DefineProperty("CMAKE_MATCH_2", cmProperty::VARIABLE,0,0);
1911   cm->DefineProperty("CMAKE_MATCH_3", cmProperty::VARIABLE,0,0);
1912   cm->DefineProperty("CMAKE_MATCH_4", cmProperty::VARIABLE,0,0);
1913   cm->DefineProperty("CMAKE_MATCH_5", cmProperty::VARIABLE,0,0);
1914   cm->DefineProperty("CMAKE_MATCH_6", cmProperty::VARIABLE,0,0);
1915   cm->DefineProperty("CMAKE_MATCH_7", cmProperty::VARIABLE,0,0);
1916   cm->DefineProperty("CMAKE_MATCH_8", cmProperty::VARIABLE,0,0);
1917   cm->DefineProperty("CMAKE_MATCH_9", cmProperty::VARIABLE,0,0);
1918
1919   cm->DefineProperty("CMAKE_<LANG>_COMPILER_ARG1",
1920                      cmProperty::VARIABLE,0,0);
1921   cm->DefineProperty("CMAKE_<LANG>_COMPILER_ENV_VAR",
1922                      cmProperty::VARIABLE,0,0);
1923   cm->DefineProperty("CMAKE_<LANG>_COMPILER_ID_RUN",
1924                      cmProperty::VARIABLE,0,0);
1925   cm->DefineProperty("CMAKE_<LANG>_ABI_FILES",
1926                      cmProperty::VARIABLE,0,0);
1927   cm->DefineProperty("CMAKE_<LANG>_CREATE_ASSEMBLY_SOURCE",
1928                      cmProperty::VARIABLE,0,0);
1929   cm->DefineProperty("CMAKE_<LANG>_CREATE_PREPROCESSED_SOURCE",
1930                      cmProperty::VARIABLE,0,0);
1931   cm->DefineProperty("CMAKE_<LANG>_FLAGS_DEBUG_INIT",
1932                      cmProperty::VARIABLE,0,0);
1933   cm->DefineProperty("CMAKE_<LANG>_FLAGS_INIT",
1934                      cmProperty::VARIABLE,0,0);
1935   cm->DefineProperty("CMAKE_<LANG>_FLAGS_MINSIZEREL_INIT",
1936                      cmProperty::VARIABLE,0,0);
1937   cm->DefineProperty("CMAKE_<LANG>_FLAGS_RELEASE_INIT",
1938                      cmProperty::VARIABLE,0,0);
1939   cm->DefineProperty("CMAKE_<LANG>_FLAGS_RELWITHDEBINFO_INIT",
1940                      cmProperty::VARIABLE,0,0);
1941   cm->DefineProperty("CMAKE_<LANG>_INFORMATION_LOADED",
1942                      cmProperty::VARIABLE,0,0);
1943   cm->DefineProperty("CMAKE_<LANG>_LINK_EXECUTABLE",
1944                      cmProperty::VARIABLE,0,0);
1945   cm->DefineProperty("CMAKE_<LANG>_LINK_FLAGS",
1946                      cmProperty::VARIABLE,0,0);
1947   cm->DefineProperty("CMAKE_<LANG>_RESPONSE_FILE_LINK_FLAG",
1948                      cmProperty::VARIABLE,0,0);
1949   cm->DefineProperty("CMAKE_<LANG>_STANDARD_LIBRARIES",
1950                      cmProperty::VARIABLE,0,0);
1951   cm->DefineProperty("CMAKE_<LANG>_STANDARD_LIBRARIES_INIT",
1952                      cmProperty::VARIABLE,0,0);
1953   cm->DefineProperty("CMAKE_<LANG>_USE_RESPONSE_FILE_FOR_INCLUDES",
1954                      cmProperty::VARIABLE,0,0);
1955   cm->DefineProperty("CMAKE_<LANG>_USE_RESPONSE_FILE_FOR_OBJECTS",
1956                      cmProperty::VARIABLE,0,0);
1957   cm->DefineProperty("CMAKE_EXECUTABLE_SUFFIX_<LANG>",
1958                      cmProperty::VARIABLE,0,0);
1959   cm->DefineProperty("CMAKE_EXE_LINK_DYNAMIC_<LANG>_FLAGS",
1960                      cmProperty::VARIABLE,0,0);
1961   cm->DefineProperty("CMAKE_EXE_LINK_STATIC_<LANG>_FLAGS",
1962                      cmProperty::VARIABLE,0,0);
1963   cm->DefineProperty("CMAKE_GENERATOR_<LANG>",
1964                      cmProperty::VARIABLE,0,0);
1965   cm->DefineProperty("CMAKE_IMPORT_LIBRARY_PREFIX_<LANG>",
1966                      cmProperty::VARIABLE,0,0);
1967   cm->DefineProperty("CMAKE_IMPORT_LIBRARY_SUFFIX_<LANG>",
1968                      cmProperty::VARIABLE,0,0);
1969   cm->DefineProperty("CMAKE_INCLUDE_FLAG_<LANG>",
1970                      cmProperty::VARIABLE,0,0);
1971   cm->DefineProperty("CMAKE_INCLUDE_FLAG_SEP_<LANG>",
1972                      cmProperty::VARIABLE,0,0);
1973   cm->DefineProperty("CMAKE_INCLUDE_SYSTEM_FLAG_<LANG>",
1974                      cmProperty::VARIABLE,0,0);
1975   cm->DefineProperty("CMAKE_NEEDS_REQUIRES_STEP_<LANG>_FLAG",
1976                      cmProperty::VARIABLE,0,0);
1977   cm->DefineProperty("CMAKE_SHARED_LIBRARY_CREATE_<LANG>_FLAGS",
1978                      cmProperty::VARIABLE,0,0);
1979   cm->DefineProperty("CMAKE_SHARED_LIBRARY_<LANG>_FLAGS",
1980                      cmProperty::VARIABLE,0,0);
1981   cm->DefineProperty("CMAKE_SHARED_LIBRARY_LINK_<LANG>_FLAGS",
1982                      cmProperty::VARIABLE,0,0);
1983   cm->DefineProperty("CMAKE_SHARED_LIBRARY_LINK_DYNAMIC_<LANG>_FLAGS",
1984                      cmProperty::VARIABLE,0,0);
1985   cm->DefineProperty("CMAKE_SHARED_LIBRARY_LINK_STATIC_<LANG>_FLAGS",
1986                      cmProperty::VARIABLE,0,0);
1987   cm->DefineProperty("CMAKE_SHARED_LIBRARY_PREFIX_<LANG>",
1988                      cmProperty::VARIABLE,0,0);
1989   cm->DefineProperty("CMAKE_SHARED_LIBRARY_SUFFIX_<LANG>",
1990                      cmProperty::VARIABLE,0,0);
1991   cm->DefineProperty("CMAKE_SHARED_LIBRARY_RUNTIME_<LANG>_FLAG",
1992                      cmProperty::VARIABLE,0,0);
1993   cm->DefineProperty("CMAKE_SHARED_LIBRARY_RUNTIME_<LANG>_FLAG_SEP",
1994                      cmProperty::VARIABLE,0,0);
1995   cm->DefineProperty("CMAKE_SHARED_LIBRARY_RPATH_LINK_<LANG>_FLAG",
1996                      cmProperty::VARIABLE,0,0);
1997   cm->DefineProperty("CMAKE_EXECUTABLE_RUNTIME_<LANG>_FLAG",
1998                      cmProperty::VARIABLE,0,0);
1999   cm->DefineProperty("CMAKE_EXECUTABLE_RUNTIME_<LANG>_FLAG_SEP",
2000                      cmProperty::VARIABLE,0,0);
2001   cm->DefineProperty("CMAKE_EXECUTABLE_RPATH_LINK_<LANG>_FLAG",
2002                      cmProperty::VARIABLE,0,0);
2003   cm->DefineProperty("CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH",
2004                      cmProperty::VARIABLE,0,0);
2005   cm->DefineProperty(
2006     "CMAKE_<LANG>_USE_IMPLICIT_LINK_DIRECTORIES_IN_RUNTIME_PATH",
2007     cmProperty::VARIABLE,0,0);
2008   cm->DefineProperty("CMAKE_SHARED_MODULE_CREATE_<LANG>_FLAGS",
2009                      cmProperty::VARIABLE,0,0);
2010   cm->DefineProperty("CMAKE_SHARED_MODULE_<LANG>_FLAGS",
2011                      cmProperty::VARIABLE,0,0);
2012   cm->DefineProperty("CMAKE_SHARED_MODULE_LINK_DYNAMIC_<LANG>_FLAGS",
2013                      cmProperty::VARIABLE,0,0);
2014   cm->DefineProperty("CMAKE_SHARED_MODULE_LINK_STATIC_<LANG>_FLAGS",
2015                      cmProperty::VARIABLE,0,0);
2016   cm->DefineProperty("CMAKE_SHARED_MODULE_PREFIX_<LANG>",
2017                      cmProperty::VARIABLE,0,0);
2018   cm->DefineProperty("CMAKE_SHARED_MODULE_SUFFIX_<LANG>",
2019                      cmProperty::VARIABLE,0,0);
2020   cm->DefineProperty("CMAKE_STATIC_LIBRARY_PREFIX_<LANG>",
2021                      cmProperty::VARIABLE,0,0);
2022   cm->DefineProperty("CMAKE_STATIC_LIBRARY_SUFFIX_<LANG>",
2023                      cmProperty::VARIABLE,0,0);
2024   cm->DefineProperty("CMAKE_LINK_DEPENDENT_LIBRARY_FILES",
2025                      cmProperty::VARIABLE,0,0);
2026   cm->DefineProperty("CMAKE_LINK_DEPENDENT_LIBRARY_DIRS",
2027                      cmProperty::VARIABLE,0,0);
2028   cm->DefineProperty("CMAKE_MAKE_INCLUDE_FROM_ROOT",
2029                      cmProperty::VARIABLE,0,0);
2030 }