cmDocumentVariables.cxx 81 KB

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