cmDocumentVariables.cxx 93 KB

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