cmDocumentVariables.cxx 57 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280
  1. #include "cmDocumentVariables.h"
  2. #include "cmake.h"
  3. void cmDocumentVariables::DefineVariables(cmake* cm)
  4. {
  5. // Subsection: variables defined by cmake, that give
  6. // information about the project, and cmake
  7. cm->DefineProperty
  8. ("CMAKE_AR", cmProperty::VARIABLE,
  9. "Name of archiving tool for static libraries.",
  10. "This specifies name of the program that creates archive "
  11. "or static libraries.",false,
  12. "Variables that Provide Information");
  13. cm->DefineProperty
  14. ("CMAKE_COMMAND", cmProperty::VARIABLE,
  15. "The full path to the cmake executable.",
  16. "This is the full path to the CMake executable cmake which is "
  17. "useful from custom commands that want to use the cmake -E "
  18. "option for portable system commands. "
  19. "(e.g. /usr/local/bin/cmake", false,
  20. "Variables that Provide Information");
  21. cm->DefineProperty
  22. ("CMAKE_BINARY_DIR", cmProperty::VARIABLE,
  23. "The path to the top level of the build tree.",
  24. "This is the full path to the top level of the current CMake "
  25. "build tree. For an in-source build, this would be the same "
  26. "as CMAKE_SOURCE_DIR. ", false,
  27. "Variables that Provide Information");
  28. cm->DefineProperty
  29. ("CMAKE_SOURCE_DIR", cmProperty::VARIABLE,
  30. "The path to the top level of the source tree.",
  31. "This is the full path to the top level of the current CMake "
  32. "source tree. For an in-source build, this would be the same "
  33. "as CMAKE_BINARY_DIR. ", false,
  34. "Variables that Provide Information");
  35. cm->DefineProperty
  36. ("CMAKE_CURRENT_BINARY_DIR", cmProperty::VARIABLE,
  37. "The path to the binary directory currently being processed.",
  38. "This the full path to the build directory that is currently "
  39. "being processed by cmake. Each directory added by "
  40. "add_subdirectory will create a binary directory in the build "
  41. "tree, and as it is being processed this variable will be set. "
  42. "For in-source builds this is the current source directory "
  43. "being processed.", false,
  44. "Variables that Provide Information");
  45. cm->DefineProperty
  46. ("CMAKE_CURRENT_SOURCE_DIR", cmProperty::VARIABLE,
  47. "The path to the source directory currently being processed.",
  48. "This the full path to the source directory that is currently "
  49. "being processed by cmake. ", false,
  50. "Variables that Provide Information");
  51. cm->DefineProperty
  52. ("CMAKE_CURRENT_LIST_FILE", cmProperty::VARIABLE,
  53. "Full path to the listfile currently being processed.",
  54. "As CMake processes the listfiles in your project this "
  55. "variable will always be set to the one currently being "
  56. "processed. See also CMAKE_PARENT_LIST_FILE.",false,
  57. "Variables that Provide Information");
  58. cm->DefineProperty
  59. ("CMAKE_CURRENT_LIST_LINE", cmProperty::VARIABLE,
  60. "The line number of the current file being processed.",
  61. "This is the line number of the file currently being"
  62. " processed by cmake.", false,
  63. "Variables that Provide Information");
  64. cm->DefineProperty
  65. ("CMAKE_BUILD_TOOL", cmProperty::VARIABLE,
  66. "Tool used for the actual build process.",
  67. "This variable is set to the program that will be"
  68. " needed to build the output of CMake. If the "
  69. "generator selected was Visual Studio 6, the "
  70. "CMAKE_MAKE_PROGRAM will be set to msdev, for "
  71. "Unix makefiles it will be set to make or gmake, "
  72. "and for Visual Studio 7 it set to devenv. For "
  73. "Nmake Makefiles the value is nmake. This can be "
  74. "useful for adding special flags and commands based"
  75. " on the final build environment. ", false,
  76. "Variables that Provide Information");
  77. cm->DefineProperty
  78. ("CMAKE_CROSSCOMPILING", cmProperty::VARIABLE,
  79. "Is CMake currently cross compiling.",
  80. "This variable will be set to true by CMake if CMake is cross "
  81. "compiling. Specifically if the build platform is different "
  82. "from the target platform.", false,
  83. "Variables that Provide Information");
  84. cm->DefineProperty
  85. ("CMAKE_CACHEFILE_DIR", cmProperty::VARIABLE,
  86. "The directory with the CMakeCache.txt file.",
  87. "This is the full path to the directory that has the "
  88. "CMakeCache.txt file in it. This is the same as "
  89. "CMAKE_BINARY_DIR.", false,
  90. "Variables that Provide Information");
  91. cm->DefineProperty
  92. ("CMAKE_CACHE_MAJOR_VERSION", cmProperty::VARIABLE,
  93. "Major version of CMake used to create the CMakeCache.txt file",
  94. "This is stores the major version of CMake used to "
  95. "write a CMake cache file. It is only different when "
  96. "a different version of CMake is run on a previously "
  97. "created cache file.", false,
  98. "Variables that Provide Information");
  99. cm->DefineProperty
  100. ("CMAKE_CACHE_MINOR_VERSION", cmProperty::VARIABLE,
  101. "Minor version of CMake used to create the CMakeCache.txt file",
  102. "This is stores the minor version of CMake used to "
  103. "write a CMake cache file. It is only different when "
  104. "a different version of CMake is run on a previously "
  105. "created cache file.", false,
  106. "Variables that Provide Information");
  107. cm->DefineProperty
  108. ("CMAKE_CACHE_PATCH_VERSION", cmProperty::VARIABLE,
  109. "Patch version of CMake used to create the CMakeCache.txt file",
  110. "This is stores the patch version of CMake used to "
  111. "write a CMake cache file. It is only different when "
  112. "a different version of CMake is run on a previously "
  113. "created cache file.", false,
  114. "Variables that Provide Information");
  115. cm->DefineProperty
  116. ("CMAKE_CFG_INTDIR", cmProperty::VARIABLE,
  117. "Build time configuration directory for project.",
  118. "This is a variable that is used to provide developers"
  119. " access to the intermediate directory used by Visual "
  120. "Studio IDE projects. For example, if building "
  121. "Debug all executables and libraries end up in a "
  122. "Debug directory. On UNIX systems this variable "
  123. "is set to \".\". However, with Visual Studio this "
  124. "variable is set to $(IntDir). $(IntDir) is expanded "
  125. "by the IDE only. So this variable should only be "
  126. "used in custom commands that will be run during "
  127. "the build process. This variable should not be "
  128. "used directly in a CMake command. CMake has no "
  129. "way of knowing if Debug or Release will be picked "
  130. "by the IDE for a build type. If a program needs to "
  131. "know the directory it was built in, it can use "
  132. "CMAKE_INTDIR. CMAKE_INTDIR is a C/C++ preprocessor "
  133. "macro that is defined on the command line of the "
  134. "compiler. If it has a value, it will be the "
  135. "intermediate directory used to build the file. "
  136. "This way an executable or a library can find files "
  137. "that are located in the build directory.",false,
  138. "Variables that Provide Information");
  139. cm->DefineProperty
  140. ("CMAKE_CTEST_COMMAND", cmProperty::VARIABLE,
  141. "Full path to ctest command installed with cmake.",
  142. "This is the full path to the CTest executable ctest "
  143. "which is useful from custom commands that want "
  144. " to use the cmake -E option for portable system "
  145. "commands.",false,
  146. "Variables that Provide Information");
  147. cm->DefineProperty
  148. ("CMAKE_DL_LIBS", cmProperty::VARIABLE,
  149. "Name of library containing dlopen and dlcose.",
  150. "The name of the library that has dlopen and "
  151. "dlclose in it, usually -ldl on most UNIX machines.",false,
  152. "Variables that Provide Information");
  153. cm->DefineProperty
  154. ("CMAKE_EDIT_COMMAND", cmProperty::VARIABLE,
  155. "Full path to CMakeSetup or ccmake.",
  156. "This is the full path to the CMake executable "
  157. "that can graphically edit the cache. For example,"
  158. " CMakeSetup, ccmake, or cmake -i.",false,
  159. "Variables that Provide Information");
  160. cm->DefineProperty
  161. ("CMAKE_GENERATOR", cmProperty::VARIABLE,
  162. "The generator used to build the project.",
  163. "The name of the generator that is being used to generate the "
  164. "build files. (e.g. \"Unix Makefiles\", "
  165. "\"Visual Studio 6\", etc.)",false,
  166. "Variables that Provide Information");
  167. cm->DefineProperty
  168. ("CMAKE_HOME_DIRECTORY", cmProperty::VARIABLE,
  169. "Path to top of source tree.",
  170. "This is the path to the top level of the source tree.",false,
  171. "Variables that Provide Information");
  172. cm->DefineProperty
  173. ("CMAKE_LINK_LIBRARY_SUFFIX", cmProperty::VARIABLE,
  174. "The suffix for libraries that you link to.",
  175. "The suffix to use for the end of a library, .lib on Windows.",false,
  176. "Variables that Provide Information");
  177. cm->DefineProperty
  178. ("CMAKE_EXECUTABLE_SUFFIX", cmProperty::VARIABLE,
  179. "The suffix for executables on this platform.",
  180. "The suffix to use for the end of an executable if any, "
  181. ".exe on Windows.",false,
  182. "Variables that Provide Information");
  183. cm->DefineProperty
  184. ("CMAKE_MAJOR_VERSION", cmProperty::VARIABLE,
  185. "The Major version of cmake (i.e. the 2 in 2.X.X)",
  186. "This specifies the major version of the CMake executable"
  187. " being run.",false,
  188. "Variables that Provide Information");
  189. cm->DefineProperty
  190. ("CMAKE_MAKE_PROGRAM", cmProperty::VARIABLE,
  191. "See CMAKE_BUILD_TOOL.",
  192. "This variable is around for backwards compatibility, "
  193. "see CMAKE_BUILD_TOOL.",false,
  194. "Variables that Provide Information");
  195. cm->DefineProperty
  196. ("CMAKE_MINOR_VERSION", cmProperty::VARIABLE,
  197. "The Minor version of cmake (i.e. the 4 in X.4.X).",
  198. "This specifies the minor version of the CMake"
  199. " executable being run.",false,
  200. "Variables that Provide Information");
  201. cm->DefineProperty
  202. ("CMAKE_PATCH_VERSION", cmProperty::VARIABLE,
  203. "The patch version of cmake (i.e. the 3 in X.X.3).",
  204. "This specifies the patch version of the CMake"
  205. " executable being run.",false,
  206. "Variables that Provide Information");
  207. cm->DefineProperty
  208. ("CMAKE_VERSION", cmProperty::VARIABLE,
  209. "The full version of cmake in major.minor.patch format.",
  210. "This specifies the full version of the CMake executable being run. "
  211. "This variable is defined by versions 2.6.3 and higher. "
  212. "See variables CMAKE_MAJOR_VERSION, CMAKE_MINOR_VERSION, and "
  213. "CMAKE_PATCH_VERSION for individual version components.", false,
  214. "Variables that Provide Information");
  215. cm->DefineProperty
  216. ("CMAKE_PARENT_LIST_FILE", cmProperty::VARIABLE,
  217. "Full path to the parent listfile of the one currently being processed.",
  218. "As CMake processes the listfiles in your project this "
  219. "variable will always be set to the listfile that included "
  220. "or somehow invoked the one currently being "
  221. "processed. See also CMAKE_CURRENT_LIST_FILE.",false,
  222. "Variables that Provide Information");
  223. cm->DefineProperty
  224. ("CMAKE_PROJECT_NAME", cmProperty::VARIABLE,
  225. "The name of the current project.",
  226. "This specifies name of the current project from"
  227. " the closest inherited PROJECT command.",false,
  228. "Variables that Provide Information");
  229. cm->DefineProperty
  230. ("CMAKE_RANLIB", cmProperty::VARIABLE,
  231. "Name of randomizing tool for static libraries.",
  232. "This specifies name of the program that randomizes "
  233. "libraries on UNIX, not used on Windows, but may be present.",false,
  234. "Variables that Provide Information");
  235. cm->DefineProperty
  236. ("CMAKE_ROOT", cmProperty::VARIABLE,
  237. "Install directory for running cmake.",
  238. "This is the install root for the running CMake and"
  239. " the Modules directory can be found here. This is"
  240. " commonly used in this format: ${CMAKE_ROOT}/Modules",false,
  241. "Variables that Provide Information");
  242. cm->DefineProperty
  243. ("CMAKE_SIZEOF_VOID_P", cmProperty::VARIABLE,
  244. "Size of a void pointer.",
  245. "This is set to the size of a pointer on the machine, "
  246. "and is determined by a try compile. If a 64 bit size "
  247. "is found, then the library search path is modified to "
  248. "look for 64 bit libraries first.",false,
  249. "Variables that Provide Information");
  250. cm->DefineProperty
  251. ("CMAKE_SKIP_RPATH", cmProperty::VARIABLE,
  252. "If true, do not add run time path information.",
  253. "If this is set to TRUE, then the rpath information "
  254. "is not added to compiled executables. The default "
  255. "is to add rpath information if the platform supports it."
  256. "This allows for easy running from the build tree.",false,
  257. "Variables that Provide Information");
  258. cm->DefineProperty
  259. ("CMAKE_SOURCE_DIR", cmProperty::VARIABLE,
  260. "Source directory for project.",
  261. "This is the top level source directory for the project. "
  262. "It corresponds to the source directory given to "
  263. "CMakeSetup or ccmake.",false,
  264. "Variables that Provide Information");
  265. cm->DefineProperty
  266. ("CMAKE_STANDARD_LIBRARIES", cmProperty::VARIABLE,
  267. "Libraries linked into every executable and shared library.",
  268. "This is the list of libraries that are linked "
  269. "into all executables and libraries.",false,
  270. "Variables that Provide Information");
  271. cm->DefineProperty
  272. ("CMAKE_USING_VC_FREE_TOOLS", cmProperty::VARIABLE,
  273. "True if free visual studio tools being used.",
  274. "This is set to true if the compiler is Visual "
  275. "Studio free tools.",false,
  276. "Variables that Provide Information");
  277. cm->DefineProperty
  278. ("CMAKE_VERBOSE_MAKEFILE", cmProperty::VARIABLE,
  279. "Create verbose makefiles if on.",
  280. "This variable defaults to false. You can set "
  281. "this variable to true to make CMake produce verbose "
  282. "makefiles that show each command line as it is used.",false,
  283. "Variables that Provide Information");
  284. cm->DefineProperty
  285. ("PROJECT_BINARY_DIR", cmProperty::VARIABLE,
  286. "Full path to build directory for project.",
  287. "This is the binary directory of the most recent "
  288. "PROJECT command.",false,"Variables that Provide Information");
  289. cm->DefineProperty
  290. ("PROJECT_NAME", cmProperty::VARIABLE,
  291. "Name of the project given to the project command.",
  292. "This is the name given to the most "
  293. "recent PROJECT command. ",false,
  294. "Variables that Provide Information");
  295. cm->DefineProperty
  296. ("PROJECT_SOURCE_DIR", cmProperty::VARIABLE,
  297. "Top level source directory for the current project.",
  298. "This is the source directory of the most recent "
  299. "PROJECT command.",false,
  300. "Variables that Provide Information");
  301. cm->DefineProperty
  302. ("[Project name]_BINARY_DIR", cmProperty::VARIABLE,
  303. "Top level binary directory for the named project.",
  304. "A variable is created with the name used in the PROJECT "
  305. "command, and is the binary directory for the project. "
  306. " This can be useful when SUBDIR is used to connect "
  307. "several projects.",false,
  308. "Variables that Provide Information");
  309. cm->DefineProperty
  310. ("[Project name]_SOURCE_DIR", cmProperty::VARIABLE,
  311. "Top level source directory for the named project.",
  312. "A variable is created with the name used in the PROJECT "
  313. "command, and is the source directory for the project."
  314. " This can be useful when add_subdirectory "
  315. "is used to connect several projects.",false,
  316. "Variables that Provide Information");
  317. cm->DefineProperty
  318. ("CMAKE_IMPORT_LIBRARY_PREFIX", cmProperty::VARIABLE,
  319. "The prefix for import libraries that you link to.",
  320. "The prefix to use for the name of an import library if used "
  321. "on this platform.",
  322. false,
  323. "Variables that Provide Information");
  324. cm->DefineProperty
  325. ("CMAKE_IMPORT_LIBRARY_SUFFIX", cmProperty::VARIABLE,
  326. "The suffix for import libraries that you link to.",
  327. "The suffix to use for the end of an import library if used "
  328. "on this platform.",
  329. false,
  330. "Variables that Provide Information");
  331. cm->DefineProperty
  332. ("CMAKE_SHARED_LIBRARY_PREFIX", cmProperty::VARIABLE,
  333. "The prefix for shared libraries that you link to.",
  334. "The prefix to use for the name of a shared library, lib on UNIX.",
  335. false,
  336. "Variables that Provide Information");
  337. cm->DefineProperty
  338. ("CMAKE_SHARED_LIBRARY_SUFFIX", cmProperty::VARIABLE,
  339. "The suffix for shared libraries that you link to.",
  340. "The suffix to use for the end of a shared library, .dll on Windows.",
  341. false,
  342. "Variables that Provide Information");
  343. cm->DefineProperty
  344. ("CMAKE_SHARED_MODULE_PREFIX", cmProperty::VARIABLE,
  345. "The prefix for loadable modules that you link to.",
  346. "The prefix to use for the name of a loadable module on this platform.",
  347. false,
  348. "Variables that Provide Information");
  349. cm->DefineProperty
  350. ("CMAKE_SHARED_MODULE_SUFFIX", cmProperty::VARIABLE,
  351. "The suffix for shared libraries that you link to.",
  352. "The suffix to use for the end of a loadable module on this platform",
  353. false,
  354. "Variables that Provide Information");
  355. cm->DefineProperty
  356. ("CMAKE_STATIC_LIBRARY_PREFIX", cmProperty::VARIABLE,
  357. "The prefix for static libraries that you link to.",
  358. "The prefix to use for the name of a static library, lib on UNIX.",
  359. false,
  360. "Variables that Provide Information");
  361. cm->DefineProperty
  362. ("CMAKE_STATIC_LIBRARY_SUFFIX", cmProperty::VARIABLE,
  363. "The suffix for static libraries that you link to.",
  364. "The suffix to use for the end of a static library, .lib on Windows.",
  365. false,
  366. "Variables that Provide Information");
  367. cm->DefineProperty
  368. ("CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES", cmProperty::VARIABLE,
  369. "Additional suffixes for shared libraries.",
  370. "Extensions for shared libraries other than that specified by "
  371. "CMAKE_SHARED_LIBRARY_SUFFIX, if any. "
  372. "CMake uses this to recognize external shared library files during "
  373. "analysis of libraries linked by a target.",
  374. false,
  375. "Variables that Provide Information");
  376. // Variables defined by cmake, that change the behavior
  377. // of cmake
  378. cm->DefineProperty
  379. ("CMAKE_FIND_LIBRARY_PREFIXES", cmProperty::VARIABLE,
  380. "Prefixes to prepend when looking for libraries.",
  381. "This specifies what prefixes to add to library names when "
  382. "the find_library command looks for libraries. On UNIX "
  383. "systems this is typically lib, meaning that when trying "
  384. "to find the foo library it will look for libfoo.",
  385. false,
  386. "Variables That Change Behavior");
  387. cm->DefineProperty
  388. ("CMAKE_FIND_LIBRARY_SUFFIXES", cmProperty::VARIABLE,
  389. "Suffixes to append when looking for libraries.",
  390. "This specifies what suffixes to add to library names when "
  391. "the find_library command looks for libraries. On Windows "
  392. "systems this is typically .lib and .dll, meaning that when trying "
  393. "to find the foo library it will look for foo.dll etc.",
  394. false,
  395. "Variables That Change Behavior");
  396. cm->DefineProperty
  397. ("CMAKE_CONFIGURATION_TYPES", cmProperty::VARIABLE,
  398. "Specifies the available build types.",
  399. "This specifies what build types will be available such as "
  400. "Debug, Release, RelWithDebInfo etc. This has reasonable defaults "
  401. "on most platforms. But can be extended to provide other "
  402. "build types. See also CMAKE_BUILD_TYPE.",
  403. false,
  404. "Variables That Change Behavior");
  405. cm->DefineProperty
  406. ("CMAKE_BUILD_TYPE", cmProperty::VARIABLE,
  407. "Specifies the build type for make based generators.",
  408. "This specifies what build type will be built in this tree. "
  409. " Possible values are empty, Debug, Release, RelWithDebInfo"
  410. " and MinSizeRel. This variable is only supported for "
  411. "make based generators. If this variable is supported, "
  412. "then CMake will also provide initial values for the "
  413. "variables with the name "
  414. " CMAKE_C_FLAGS_[Debug|Release|RelWithDebInfo|MinSizeRel]."
  415. " For example, if CMAKE_BUILD_TYPE is Debug, then "
  416. "CMAKE_C_FLAGS_DEBUG will be added to the CMAKE_C_FLAGS.",false,
  417. "Variables That Change Behavior");
  418. cm->DefineProperty
  419. ("CMAKE_BACKWARDS_COMPATIBILITY", cmProperty::VARIABLE,
  420. "Version of cmake required to build project",
  421. "From the point of view of backwards compatibility, this "
  422. "specifies what version of CMake should be supported. By "
  423. "default this value is the version number of CMake that "
  424. "you are running. You can set this to an older version of"
  425. " CMake to support deprecated commands of CMake in projects"
  426. " that were written to use older versions of CMake. This "
  427. "can be set by the user or set at the beginning of a "
  428. "CMakeLists file.",false,
  429. "Variables That Change Behavior");
  430. cm->DefineProperty
  431. ("CMAKE_INSTALL_PREFIX", cmProperty::VARIABLE,
  432. "Install directory used by install.",
  433. "If \"make install\" is invoked or INSTALL is built"
  434. ", this directory is pre-pended onto all install "
  435. "directories. This variable defaults to /usr/local"
  436. " on UNIX and c:/Program Files on Windows.",false,
  437. "Variables That Change Behavior");
  438. cm->DefineProperty
  439. ("CMAKE_MODULE_PATH", cmProperty::VARIABLE,
  440. "Path to look for cmake modules to load.",
  441. "Specifies a path to override the default search path for "
  442. "CMake modules. For example include commands will look "
  443. "in this path first for modules to include.",
  444. false,
  445. "Variables That Change Behavior");
  446. cm->DefineProperty
  447. ("CMAKE_PREFIX_PATH", cmProperty::VARIABLE,
  448. "Path used for searching by FIND_XXX(), with appropriate suffixes added.",
  449. "Specifies a path which will be used by the FIND_XXX() commands. It "
  450. "contains the \"base\" directories, the FIND_XXX() commands append "
  451. "appropriate subdirectories to the base directories. So FIND_PROGRAM() "
  452. "adds /bin to each of the directories in the path, FIND_LIBRARY() "
  453. "appends /lib to each of the directories, and FIND_PATH() and "
  454. "FIND_FILE() append /include . By default it is empty, it is intended "
  455. "to be set by the project. See also CMAKE_SYSTEM_PREFIX_PATH, "
  456. "CMAKE_INCLUDE_PATH, CMAKE_LIBRARY_PATH, CMAKE_PROGRAM_PATH.", false,
  457. "Variables That Change Behavior");
  458. cm->DefineProperty
  459. ("CMAKE_INCLUDE_PATH", cmProperty::VARIABLE,
  460. "Path used for searching by FIND_FILE() and FIND_PATH().",
  461. "Specifies a path which will be used both by FIND_FILE() and "
  462. "FIND_PATH(). Both commands will check each of the contained directories "
  463. "for the existence of the file which is currently searched. By default "
  464. "it is empty, it is intended to be set by the project. See also "
  465. "CMAKE_SYSTEM_INCLUDE_PATH, CMAKE_PREFIX_PATH.", false,
  466. "Variables That Change Behavior");
  467. cm->DefineProperty
  468. ("CMAKE_LIBRARY_PATH", cmProperty::VARIABLE,
  469. "Path used for searching by FIND_LIBRARY().",
  470. "Specifies a path which will be used by FIND_LIBRARY(). FIND_LIBRARY() "
  471. "will check each of the contained directories for the existence of the "
  472. "library which is currently searched. By default it is empty, it is "
  473. "intended to be set by the project. See also CMAKE_SYSTEM_LIBRARY_PATH, "
  474. "CMAKE_PREFIX_PATH.", false,
  475. "Variables That Change Behavior");
  476. cm->DefineProperty
  477. ("CMAKE_PROGRAM_PATH", cmProperty::VARIABLE,
  478. "Path used for searching by FIND_PROGRAM().",
  479. "Specifies a path which will be used by FIND_PROGRAM(). FIND_PROGRAM() "
  480. "will check each of the contained directories for the existence of the "
  481. "program which is currently searched. By default it is empty, it is "
  482. "intended to be set by the project. See also CMAKE_SYSTEM_PROGRAM_PATH, "
  483. " CMAKE_PREFIX_PATH.", false,
  484. "Variables That Change Behavior");
  485. cm->DefineProperty
  486. ("CMAKE_SYSTEM_PREFIX_PATH", cmProperty::VARIABLE,
  487. "Path used for searching by FIND_XXX(), with appropriate suffixes added.",
  488. "Specifies a path which will be used by the FIND_XXX() commands. It "
  489. "contains the \"base\" directories, the FIND_XXX() commands append "
  490. "appropriate subdirectories to the base directories. So FIND_PROGRAM() "
  491. "adds /bin to each of the directories in the path, FIND_LIBRARY() "
  492. "appends /lib to each of the directories, and FIND_PATH() and "
  493. "FIND_FILE() append /include . By default this contains the standard "
  494. "directories for the current system. It is NOT intended "
  495. "to be modified by the project, use CMAKE_PREFIX_PATH for this. See also "
  496. "CMAKE_SYSTEM_INCLUDE_PATH, CMAKE_SYSTEM_LIBRARY_PATH, "
  497. "CMAKE_SYSTEM_PROGRAM_PATH.", false,
  498. "Variables That Change Behavior");
  499. cm->DefineProperty
  500. ("CMAKE_SYSTEM_INCLUDE_PATH", cmProperty::VARIABLE,
  501. "Path used for searching by FIND_FILE() and FIND_PATH().",
  502. "Specifies a path which will be used both by FIND_FILE() and "
  503. "FIND_PATH(). Both commands will check each of the contained directories "
  504. "for the existence of the file which is currently searched. By default "
  505. "it contains the standard directories for the current system. It is "
  506. "NOT intended to be modified by the project, use CMAKE_INCLUDE_PATH "
  507. "for this. See also CMAKE_SYSTEM_PREFIX_PATH.", false,
  508. "Variables That Change Behavior");
  509. cm->DefineProperty
  510. ("CMAKE_SYSTEM_LIBRARY_PATH", cmProperty::VARIABLE,
  511. "Path used for searching by FIND_LIBRARY().",
  512. "Specifies a path which will be used by FIND_LIBRARY(). FIND_LIBRARY() "
  513. "will check each of the contained directories for the existence of the "
  514. "library which is currently searched. By default it contains the "
  515. "standard directories for the current system. It is NOT intended to be "
  516. "modified by the project, use CMAKE_SYSTEM_LIBRARY_PATH for this. See "
  517. "also CMAKE_SYSTEM_PREFIX_PATH.", false,
  518. "Variables That Change Behavior");
  519. cm->DefineProperty
  520. ("CMAKE_SYSTEM_PROGRAM_PATH", cmProperty::VARIABLE,
  521. "Path used for searching by FIND_PROGRAM().",
  522. "Specifies a path which will be used by FIND_PROGRAM(). FIND_PROGRAM() "
  523. "will check each of the contained directories for the existence of the "
  524. "program which is currently searched. By default it contains the "
  525. "standard directories for the current system. It is NOT intended to be "
  526. "modified by the project, use CMAKE_PROGRAM_PATH for this. See also "
  527. "CMAKE_SYSTEM_PREFIX_PATH.", false,
  528. "Variables That Change Behavior");
  529. cm->DefineProperty
  530. ("CMAKE_USER_MAKE_RULES_OVERRIDE", cmProperty::VARIABLE,
  531. "Specify a file that can change the build rule variables.",
  532. "If this variable is set, it should to point to a "
  533. "CMakeLists.txt file that will be read in by CMake "
  534. "after all the system settings have been set, but "
  535. "before they have been used. This would allow you "
  536. "to override any variables that need to be changed "
  537. "for some special project. ",false,
  538. "Variables That Change Behavior");
  539. cm->DefineProperty
  540. ("BUILD_SHARED_LIBS", cmProperty::VARIABLE,
  541. "Global flag to cause add_library to create shared libraries if on.",
  542. "If present and true, this will cause all libraries to be "
  543. "built shared unless the library was explicitly added as a "
  544. "static library. This variable is often added to projects "
  545. "as an OPTION so that each user of a project can decide if "
  546. "they want to build the project using shared or static "
  547. "libraries.",false,
  548. "Variables That Change Behavior");
  549. cm->DefineProperty
  550. ("CMAKE_NOT_USING_CONFIG_FLAGS", cmProperty::VARIABLE,
  551. "Skip _BUILD_TYPE flags if true.",
  552. "This is an internal flag used by the generators in "
  553. "CMake to tell CMake to skip the _BUILD_TYPE flags.",false,
  554. "Variables That Change Behavior");
  555. cm->DefineProperty
  556. ("CMAKE_MFC_FLAG", cmProperty::VARIABLE,
  557. "Tell cmake to use MFC for an executable or dll.",
  558. "This can be set in a CMakeLists.txt file and will "
  559. "enable MFC in the application. It should be set "
  560. "to 1 for static the static MFC library, and 2 for "
  561. "the shared MFC library. This is used in visual "
  562. "studio 6 and 7 project files. The CMakeSetup "
  563. "dialog uses MFC and the CMakeLists.txt looks like this:\n"
  564. "ADD_DEFINITIONS(-D_AFXDLL)\n"
  565. "set(CMAKE_MFC_FLAG 2)\n"
  566. "add_executable(CMakeSetup WIN32 ${SRCS})\n",false,
  567. "Variables That Change Behavior");
  568. cm->DefineProperty
  569. ("CMAKE_COLOR_MAKEFILE", cmProperty::VARIABLE,
  570. "Enables color output when using the Makefile generator.",
  571. "When enabled, the generated Makefiles will produce colored output. "
  572. "Default is ON.",false,
  573. "Variables That Change Behavior");
  574. // Variables defined by CMake that describe the system
  575. cm->DefineProperty
  576. ("CMAKE_SYSTEM", cmProperty::VARIABLE,
  577. "Name of system cmake is compiling for.",
  578. "This variable is the composite of CMAKE_SYSTEM_NAME "
  579. "and CMAKE_SYSTEM_VERSION, like this "
  580. "${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_VERSION}. "
  581. "If CMAKE_SYSTEM_VERSION is not set, then "
  582. "CMAKE_SYSTEM is the same as CMAKE_SYSTEM_NAME.",false,
  583. "Variables That Describe the System");
  584. cm->DefineProperty
  585. ("CMAKE_SYSTEM_NAME", cmProperty::VARIABLE,
  586. "Name of the OS CMake is building for.",
  587. "This is the name of the operating system on "
  588. "which CMake is targeting. On systems that "
  589. "have the uname command, this variable is set "
  590. "to the output of uname -s. Linux, Windows, "
  591. " and Darwin for Mac OSX are the values found "
  592. " on the big three operating systems." ,false,
  593. "Variables That Describe the System");
  594. cm->DefineProperty
  595. ("CMAKE_SYSTEM_PROCESSOR", cmProperty::VARIABLE,
  596. "The name of the CPU CMake is building for.",
  597. "On systems that support uname, this variable is "
  598. "set to the output of uname -p, on windows it is "
  599. "set to the value of the environment variable "
  600. "PROCESSOR_ARCHITECTURE",false,
  601. "Variables That Describe the System");
  602. cm->DefineProperty
  603. ("CMAKE_SYSTEM_VERSION", cmProperty::VARIABLE,
  604. "OS version CMake is building for.",
  605. "A numeric version string for the system, on "
  606. "systems that support uname, this variable is "
  607. "set to the output of uname -r. On other "
  608. "systems this is set to major-minor version numbers.",false,
  609. "Variables That Describe the System");
  610. cm->DefineProperty
  611. ("CMAKE_HOST_SYSTEM", cmProperty::VARIABLE,
  612. "Name of system cmake is being run on.",
  613. "The same as CMAKE_SYSTEM but for the host system instead "
  614. "of the target system when cross compiling.",false,
  615. "Variables That Describe the System");
  616. cm->DefineProperty
  617. ("CMAKE_HOST_SYSTEM_NAME", cmProperty::VARIABLE,
  618. "Name of the OS CMake is running on.",
  619. "The same as CMAKE_SYSTEM_NAME but for the host system instead "
  620. "of the target system when cross compiling.",false,
  621. "Variables That Describe the System");
  622. cm->DefineProperty
  623. ("CMAKE_HOST_SYSTEM_PROCESSOR", cmProperty::VARIABLE,
  624. "The name of the CPU CMake is running on.",
  625. "The same as CMAKE_SYSTEM_PROCESSOR but for the host system instead "
  626. "of the target system when cross compiling.",false,
  627. "Variables That Describe the System");
  628. cm->DefineProperty
  629. ("CMAKE_HOST_SYSTEM_VERSION", cmProperty::VARIABLE,
  630. "OS version CMake is running on.",
  631. "The same as CMAKE_SYSTEM_VERSION but for the host system instead "
  632. "of the target system when cross compiling.",false,
  633. "Variables That Describe the System");
  634. cm->DefineProperty
  635. ("APPLE", cmProperty::VARIABLE,
  636. "True if running on Mac OSX.",
  637. "Set to true on Mac OSX.",false,
  638. "Variables That Describe the System");
  639. cm->DefineProperty
  640. ("BORLAND", cmProperty::VARIABLE,
  641. "True of the borland compiler is being used.",
  642. "This is set to true if the Borland compiler is being used.",false,
  643. "Variables That Describe the System");
  644. cm->DefineProperty
  645. ("CYGWIN", cmProperty::VARIABLE,
  646. "True for cygwin.",
  647. "Set to true when using CYGWIN.",false,
  648. "Variables That Describe the System");
  649. cm->DefineProperty
  650. ("MSVC", cmProperty::VARIABLE,
  651. "True when using Microsoft Visual C",
  652. "Set to true when the compiler is some version of Microsoft Visual C.",
  653. false,
  654. "Variables That Describe the System");
  655. cm->DefineProperty
  656. ("MSVC80", cmProperty::VARIABLE,
  657. "True when using Microsoft Visual C 8.0",
  658. "Set to true when the compiler is version 8.0 of Microsoft Visual C.",
  659. false,
  660. "Variables That Describe the System");
  661. cm->DefineProperty
  662. ("MSVC_IDE", cmProperty::VARIABLE,
  663. "True when using the Microsoft Visual C IDE",
  664. "Set to true when the target platform is the Microsoft Visual C IDE, "
  665. "as opposed to the command line compiler.",
  666. false,
  667. "Variables That Describe the System");
  668. cm->DefineProperty
  669. ("MSVC_VERSION", cmProperty::VARIABLE,
  670. "The version of Microsoft Visual C/C++ being used if any.",
  671. "The version of Microsoft Visual C/C++ being used if any. "
  672. "For example 1300 is MSVC 6.0.",
  673. false,
  674. "Variables That Describe the System");
  675. cm->DefineProperty
  676. ("CMAKE_CL_64", cmProperty::VARIABLE,
  677. "Using the 64 bit compiler from Microsoft",
  678. "Set to true when using the 64 bit cl compiler from Microsoft.",
  679. false,
  680. "Variables That Describe the System");
  681. cm->DefineProperty
  682. ("CMAKE_COMPILER_2005", cmProperty::VARIABLE,
  683. "Using the Visual Studio 2005 compiler from Microsoft",
  684. "Set to true when using the Visual Studio 2005 compiler "
  685. "from Microsoft.",
  686. false,
  687. "Variables That Describe the System");
  688. cm->DefineProperty
  689. ("UNIX", cmProperty::VARIABLE,
  690. "True for UNIX and UNIX like operating systems.",
  691. "Set to true when the target system is UNIX or UNIX like "
  692. "(i.e. APPLE and CYGWIN).",false,
  693. "Variables That Describe the System");
  694. cm->DefineProperty
  695. ("WIN32", cmProperty::VARIABLE,
  696. "True on windows systems, including win64.",
  697. "Set to true when the target system is Windows and on cygwin.",false,
  698. "Variables That Describe the System");
  699. cm->DefineProperty
  700. ("CMAKE_HOST_APPLE", cmProperty::VARIABLE,
  701. "True for Apple OSXoperating systems.",
  702. "Set to true when the host system is Apple OSX.",
  703. false,
  704. "Variables That Describe the System");
  705. cm->DefineProperty
  706. ("CMAKE_HOST_UNIX", cmProperty::VARIABLE,
  707. "True for UNIX and UNIX like operating systems.",
  708. "Set to true when the host system is UNIX or UNIX like "
  709. "(i.e. APPLE and CYGWIN).",false,
  710. "Variables That Describe the System");
  711. cm->DefineProperty
  712. ("CMAKE_HOST_WIN32", cmProperty::VARIABLE,
  713. "True on windows systems, including win64.",
  714. "Set to true when the host system is Windows and on cygwin.",false,
  715. "Variables That Describe the System");
  716. cm->DefineProperty
  717. ("CMAKE_OBJECT_PATH_MAX", cmProperty::VARIABLE,
  718. "Maximum object file full-path length allowed by native build tools.",
  719. "CMake computes for every source file an object file name that is "
  720. "unique to the source file and deterministic with respect to the "
  721. "full path to the source file. "
  722. "This allows multiple source files in a target to share the same name "
  723. "if they lie in different directories without rebuilding when one is "
  724. "added or removed. "
  725. "However, it can produce long full paths in a few cases, so CMake "
  726. "shortens the path using a hashing scheme when the full path to an "
  727. "object file exceeds a limit. "
  728. "CMake has a built-in limit for each platform that is sufficient for "
  729. "common tools, but some native tools may have a lower limit. "
  730. "This variable may be set to specify the limit explicitly. "
  731. "The value must be an integer no less than 128.",false,
  732. "Variables That Describe the System");
  733. // Variables that affect the building of object files and
  734. // targets.
  735. //
  736. cm->DefineProperty
  737. ("CMAKE_INCLUDE_CURRENT_DIR", cmProperty::VARIABLE,
  738. "Automatically add the current source- and build directories "
  739. "to the include path.",
  740. "If this variable is enabled, CMake automatically adds in each "
  741. "directory ${CMAKE_CURRENT_SOURCE_DIR} and ${CMAKE_CURRENT_BINARY_DIR} "
  742. "to the include path for this directory. These additional include "
  743. "directories do not propagate down to subdirectories. This is useful "
  744. "mainly for out-of-source builds, where files generated into the "
  745. "build tree are included by files located in the source tree.\n"
  746. "By default CMAKE_INCLUDE_CURRENT_DIR is OFF.",
  747. false,
  748. "Variables that Control the Build");
  749. cm->DefineProperty
  750. ("CMAKE_INSTALL_RPATH", cmProperty::VARIABLE,
  751. "The rpath to use for installed targets.",
  752. "A semicolon-separated list specifying the rpath "
  753. "to use in installed targets (for platforms that support it). "
  754. "This is used to initialize the target property "
  755. "INSTALL_RPATH for all targets.",
  756. false,
  757. "Variables that Control the Build");
  758. cm->DefineProperty
  759. ("CMAKE_INSTALL_RPATH_USE_LINK_PATH", cmProperty::VARIABLE,
  760. "Add paths to linker search and installed rpath.",
  761. "CMAKE_INSTALL_RPATH_USE_LINK_PATH is a boolean that if set to true "
  762. "will append directories in the linker search path and outside the "
  763. "project to the INSTALL_RPATH. "
  764. "This is used to initialize the target property "
  765. "INSTALL_RPATH_USE_LINK_PATH for all targets.",
  766. false,
  767. "Variables that Control the Build");
  768. cm->DefineProperty
  769. ("CMAKE_INSTALL_NAME_DIR", cmProperty::VARIABLE,
  770. "Mac OSX directory name for installed targets.",
  771. "CMAKE_INSTALL_NAME_DIR is used to initialize the "
  772. "INSTALL_NAME_DIR property on all targets. See that target "
  773. "property for more information.",
  774. false,
  775. "Variables that Control the Build");
  776. cm->DefineProperty
  777. ("CMAKE_Fortran_MODULE_DIRECTORY", cmProperty::VARIABLE,
  778. "Fortran module output directory.",
  779. "This variable is used to initialize the "
  780. "Fortran_MODULE_DIRECTORY property on all the targets. "
  781. "See that target property for additional information.",
  782. false,
  783. "Variables that Control the Build");
  784. cm->DefineProperty
  785. ("CMAKE_LIBRARY_OUTPUT_DIRECTORY", cmProperty::VARIABLE,
  786. "Where to put all the LIBRARY targets when built.",
  787. "This variable is used to initialize the "
  788. "LIBRARY_OUTPUT_DIRECTORY property on all the targets. "
  789. "See that target property for additional information.",
  790. false,
  791. "Variables that Control the Build");
  792. cm->DefineProperty
  793. ("CMAKE_ARCHIVE_OUTPUT_DIRECTORY", cmProperty::VARIABLE,
  794. "Where to put all the ARCHIVE targets when built.",
  795. "This variable is used to initialize the "
  796. "ARCHIVE_OUTPUT_DIRECTORY property on all the targets. "
  797. "See that target property for additional information.",
  798. false,
  799. "Variables that Control the Build");
  800. cm->DefineProperty
  801. ("CMAKE_RUNTIME_OUTPUT_DIRECTORY", cmProperty::VARIABLE,
  802. "Where to put all the RUNTIME targets when built.",
  803. "This variable is used to initialize the "
  804. "RUNTIME_OUTPUT_DIRECTORY property on all the targets. "
  805. "See that target property for additional information.",
  806. false,
  807. "Variables that Control the Build");
  808. cm->DefineProperty
  809. ("CMAKE_DEBUG_POSTFIX", cmProperty::VARIABLE,
  810. "See variable CMAKE_<CONFIG>_POSTFIX.",
  811. "This variable is a special case of the more-general "
  812. "CMAKE_<CONFIG>_POSTFIX variable for the DEBUG configuration.",
  813. false,
  814. "Variables that Control the Build");
  815. cm->DefineProperty
  816. ("CMAKE_<CONFIG>_POSTFIX", cmProperty::VARIABLE,
  817. "Default filename postfix for libraries under configuration <CONFIG>.",
  818. "When a non-executable target is created its <CONFIG>_POSTFIX "
  819. "target property is initialized with the value of this variable "
  820. "if it is set.",
  821. false,
  822. "Variables that Control the Build");
  823. cm->DefineProperty
  824. ("CMAKE_BUILD_WITH_INSTALL_RPATH", cmProperty::VARIABLE,
  825. "Use the install path for the RPATH",
  826. "Normally CMake uses the build tree for the RPATH when building "
  827. "executables etc on systems that use RPATH. When the software "
  828. "is installed the executables etc are relinked by CMake to have "
  829. "the install RPATH. If this variable is set to true then the software "
  830. "is always built with the install path for the RPATH and does not "
  831. "need to be relinked when installed.",false,
  832. "Variables that Control the Build");
  833. cm->DefineProperty
  834. ("CMAKE_NO_BUILTIN_CHRPATH", cmProperty::VARIABLE,
  835. "Do not use the builtin ELF editor to fix RPATHs on installation.",
  836. "When an ELF binary needs to have a different RPATH after installation "
  837. "than it does in the build tree, CMake uses a builtin editor to change "
  838. "the RPATH in the installed copy. "
  839. "If this variable is set to true then CMake will relink the binary "
  840. "before installation instead of using its builtin editor.",false,
  841. "Variables that Control the Build");
  842. cm->DefineProperty
  843. ("CMAKE_SKIP_BUILD_RPATH", cmProperty::VARIABLE,
  844. "Do not include RPATHs in the build tree.",
  845. "Normally CMake uses the build tree for the RPATH when building "
  846. "executables etc on systems that use RPATH. When the software "
  847. "is installed the executables etc are relinked by CMake to have "
  848. "the install RPATH. If this variable is set to true then the software "
  849. "is always built with no RPATH.",false,
  850. "Variables that Control the Build");
  851. cm->DefineProperty
  852. ("CMAKE_EXE_LINKER_FLAGS", cmProperty::VARIABLE,
  853. "Linker flags used to create executables.",
  854. "Flags used by the linker when creating an executable.",false,
  855. "Variables that Control the Build");
  856. cm->DefineProperty
  857. ("CMAKE_EXE_LINKER_FLAGS_[CMAKE_BUILD_TYPE]", cmProperty::VARIABLE,
  858. "Flag used when linking an executable.",
  859. "Same as CMAKE_C_FLAGS_* but used by the linker "
  860. "when creating executables.",false,
  861. "Variables that Control the Build");
  862. cm->DefineProperty
  863. ("CMAKE_LIBRARY_PATH_FLAG", cmProperty::VARIABLE,
  864. "The flag used to add a library search path to a compiler.",
  865. "The flag used to specify a library directory to the compiler. "
  866. "On most compilers this is \"-L\".",false,
  867. "Variables that Control the Build");
  868. cm->DefineProperty
  869. ("CMAKE_LINK_DEF_FILE_FLAG ", cmProperty::VARIABLE,
  870. "Linker flag used to specify a .def file for dll creation.",
  871. "The flag used to add a .def file when creating "
  872. "a dll on Windows, this is only defined on Windows.",false,
  873. "Variables that Control the Build");
  874. cm->DefineProperty
  875. ("CMAKE_LINK_LIBRARY_FLAG", cmProperty::VARIABLE,
  876. "Flag used to link a library into an executable.",
  877. "The flag used to specify a library to link to an executable. "
  878. "On most compilers this is \"-l\".",false,
  879. "Variables that Control the Build");
  880. cm->DefineProperty
  881. ("CMAKE_LINK_LIBRARY_FILE_FLAG", cmProperty::VARIABLE,
  882. "Flag used to link a library specified by a path to its file.",
  883. "The flag used before a library file path is given to the linker. "
  884. "This is needed only on very few platforms.", false,
  885. "Variables that Control the Build");
  886. cm->DefineProperty
  887. ("CMAKE_USE_RELATIVE_PATHS", cmProperty::VARIABLE,
  888. "Use relative paths (May not work!).",
  889. "If this is set to TRUE, then the CMake will use "
  890. "relative paths between the source and binary tree. "
  891. "This option does not work for more complicated "
  892. "projects, and relative paths are used when possible. "
  893. "In general, it is not possible to move CMake generated"
  894. " makefiles to a different location regardless "
  895. "of the value of this variable.",false,
  896. "Variables that Control the Build");
  897. cm->DefineProperty
  898. ("EXECUTABLE_OUTPUT_PATH", cmProperty::VARIABLE,
  899. "Old executable location variable.",
  900. "The target property RUNTIME_OUTPUT_DIRECTORY supercedes "
  901. "this variable for a target if it is set. "
  902. "Executable targets are otherwise placed in this directory.",false,
  903. "Variables that Control the Build");
  904. cm->DefineProperty
  905. ("LIBRARY_OUTPUT_PATH", cmProperty::VARIABLE,
  906. "Old library location variable.",
  907. "The target properties ARCHIVE_OUTPUT_DIRECTORY, "
  908. "LIBRARY_OUTPUT_DIRECTORY, and RUNTIME_OUTPUT_DIRECTORY supercede "
  909. "this variable for a target if they are set. "
  910. "Library targets are otherwise placed in this directory.",false,
  911. "Variables that Control the Build");
  912. // Variables defined when the a language is enabled These variables will
  913. // also be defined whenever CMake has loaded its support for compiling (LANG)
  914. // programs. This support will be loaded whenever CMake is used to compile
  915. // (LANG) files. C and CXX are examples of the most common values for (LANG).
  916. cm->DefineProperty
  917. ("CMAKE_USER_MAKE_RULES_OVERRIDE_<LANG>", cmProperty::VARIABLE,
  918. "Specify a file that can change the build rule variables.",
  919. "If this variable is set, it should to point to a "
  920. "CMakeLists.txt file that will be read in by CMake "
  921. "after all the system settings have been set, but "
  922. "before they have been used. This would allow you "
  923. "to override any variables that need to be changed "
  924. "for some language. ",false,
  925. "Variables for Languages");
  926. cm->DefineProperty
  927. ("CMAKE_<LANG>_COMPILER", cmProperty::VARIABLE,
  928. "The full path to the compiler for LANG.",
  929. "This is the command that will be used as the <LANG> compiler. "
  930. "Once set, you can not change this variable.",false,
  931. "Variables for Languages");
  932. cm->DefineProperty
  933. ("CMAKE_<LANG>_COMPILER_ID", cmProperty::VARIABLE,
  934. "An internal variable subject to change.",
  935. "This is used in determining the compiler and is subject to change.",
  936. false,
  937. "Variables for Languages");
  938. cm->DefineProperty
  939. ("CMAKE_<LANG>_PLATFORM_ID", cmProperty::VARIABLE,
  940. "An internal variable subject to change.",
  941. "This is used in determining the platform and is subject to change.",
  942. false,
  943. "Variables for Languages");
  944. cm->DefineProperty
  945. ("CMAKE_<LANG>_COMPILER_ABI", cmProperty::VARIABLE,
  946. "An internal variable subject to change.",
  947. "This is used in determining the compiler ABI and is subject to change.",
  948. false,
  949. "Variables for Languages");
  950. cm->DefineProperty
  951. ("CMAKE_INTERNAL_PLATFORM_ABI", cmProperty::VARIABLE,
  952. "An internal variable subject to change.",
  953. "This is used in determining the compiler ABI and is subject to change.",
  954. false,
  955. "Variables for Languages");
  956. cm->DefineProperty
  957. ("CMAKE_<LANG>_SIZEOF_DATA_PTR", cmProperty::VARIABLE,
  958. "Size of pointer-to-data types for language <LANG>.",
  959. "This holds the size (in bytes) of pointer-to-data types in the target "
  960. "platform ABI. "
  961. "It is defined for languages C and CXX (C++).",
  962. false,
  963. "Variables for Languages");
  964. cm->DefineProperty
  965. ("CMAKE_COMPILER_IS_GNU<LANG>", cmProperty::VARIABLE,
  966. "True if the compiler is GNU.",
  967. "If the selected <LANG> compiler is the GNU "
  968. "compiler then this is TRUE, if not it is FALSE.",false,
  969. "Variables for Languages");
  970. cm->DefineProperty
  971. ("CMAKE_<LANG>_FLAGS_DEBUG", cmProperty::VARIABLE,
  972. "Flags for Debug build type or configuration.",
  973. "<LANG> flags used when CMAKE_BUILD_TYPE is Debug.",false,
  974. "Variables for Languages");
  975. cm->DefineProperty
  976. ("CMAKE_<LANG>_FLAGS_MINSIZEREL", cmProperty::VARIABLE,
  977. "Flags for MinSizeRel build type or configuration.",
  978. "<LANG> flags used when CMAKE_BUILD_TYPE is MinSizeRel."
  979. "Short for minimum size release.",false,
  980. "Variables for Languages");
  981. cm->DefineProperty
  982. ("CMAKE_<LANG>_FLAGS_RELEASE", cmProperty::VARIABLE,
  983. "Flags for Release build type or configuration.",
  984. "<LANG> flags used when CMAKE_BUILD_TYPE is Release",false,
  985. "Variables for Languages");
  986. cm->DefineProperty
  987. ("CMAKE_<LANG>_FLAGS_RELWITHDEBINFO", cmProperty::VARIABLE,
  988. "Flags for RelWithDebInfo type or configuration.",
  989. "<LANG> flags used when CMAKE_BUILD_TYPE is RelWithDebInfo. "
  990. "Short for Release With Debug Information.",false,
  991. "Variables for Languages");
  992. cm->DefineProperty
  993. ("CMAKE_<LANG>_COMPILE_OBJECT", cmProperty::VARIABLE,
  994. "Rule variable to compile a single object file.",
  995. "This is a rule variable that tells CMake how to "
  996. "compile a single object file for for the language <LANG>.",false,
  997. "Variables for Languages");
  998. cm->DefineProperty
  999. ("CMAKE_<LANG>_CREATE_SHARED_LIBRARY", cmProperty::VARIABLE,
  1000. "Rule variable to create a shared library.",
  1001. "This is a rule variable that tells CMake how to "
  1002. "create a shared library for the language <LANG>.",false,
  1003. "Variables for Languages");
  1004. cm->DefineProperty
  1005. ("CMAKE_<LANG>_CREATE_SHARED_MODULE", cmProperty::VARIABLE,
  1006. "Rule variable to create a shared module.",
  1007. "This is a rule variable that tells CMake how to "
  1008. "create a shared library for the language <LANG>.",false,
  1009. "Variables for Languages");
  1010. cm->DefineProperty
  1011. ("CMAKE_<LANG>_CREATE_STATIC_LIBRARY", cmProperty::VARIABLE,
  1012. "Rule variable to create a static library.",
  1013. "This is a rule variable that tells CMake how "
  1014. "to create a static library for the language <LANG>.",false,
  1015. "Variables for Languages");
  1016. cm->DefineProperty
  1017. ("CMAKE_<LANG>_ARCHIVE_CREATE", cmProperty::VARIABLE,
  1018. "Rule variable to create a new static archive.",
  1019. "This is a rule variable that tells CMake how to create a static "
  1020. "archive. It is used in place of CMAKE_<LANG>_CREATE_STATIC_LIBRARY "
  1021. "on some platforms in order to support large object counts. "
  1022. "See also CMAKE_<LANG>_ARCHIVE_APPEND and CMAKE_<LANG>_ARCHIVE_FINISH.",
  1023. false, "Variables for Languages");
  1024. cm->DefineProperty
  1025. ("CMAKE_<LANG>_ARCHIVE_APPEND", cmProperty::VARIABLE,
  1026. "Rule variable to append to a static archive.",
  1027. "This is a rule variable that tells CMake how to append to a static "
  1028. "archive. It is used in place of CMAKE_<LANG>_CREATE_STATIC_LIBRARY "
  1029. "on some platforms in order to support large object counts. "
  1030. "See also CMAKE_<LANG>_ARCHIVE_CREATE and CMAKE_<LANG>_ARCHIVE_FINISH.",
  1031. false, "Variables for Languages");
  1032. cm->DefineProperty
  1033. ("CMAKE_<LANG>_ARCHIVE_FINISH", cmProperty::VARIABLE,
  1034. "Rule variable to finish an existing static archive.",
  1035. "This is a rule variable that tells CMake how to finish a static "
  1036. "archive. It is used in place of CMAKE_<LANG>_CREATE_STATIC_LIBRARY "
  1037. "on some platforms in order to support large object counts. "
  1038. "See also CMAKE_<LANG>_ARCHIVE_CREATE and CMAKE_<LANG>_ARCHIVE_APPEND.",
  1039. false, "Variables for Languages");
  1040. cm->DefineProperty
  1041. ("CMAKE_<LANG>_IGNORE_EXTENSIONS", cmProperty::VARIABLE,
  1042. "File extensions that should be ignored by the build.",
  1043. "This is a list of file extensions that may be "
  1044. "part of a project for a given language but are not compiled. ",false,
  1045. "Variables for Languages");
  1046. cm->DefineProperty
  1047. ("CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES", cmProperty::VARIABLE,
  1048. "Directories implicitly searched by the compiler for header files.",
  1049. "CMake does not explicitly specify these directories on compiler "
  1050. "command lines for language <LANG>. "
  1051. "This prevents system include directories from being treated as user "
  1052. "include directories on some compilers.", false,
  1053. "Variables for Languages");
  1054. cm->DefineProperty
  1055. ("CMAKE_<LANG>_LINKER_PREFERENCE", cmProperty::VARIABLE,
  1056. "Determine if a language should be used for linking.",
  1057. "If this is \"Preferred\" then if there is a mixed "
  1058. "language shared library or executable, then this "
  1059. "languages linker command will be used.",false,
  1060. "Variables for Languages");
  1061. cm->DefineProperty
  1062. ("CMAKE_<LANG>_LINK_EXECUTABLE ", cmProperty::VARIABLE,
  1063. "Rule variable to link and executable.",
  1064. "Rule variable to link and executable for the given language.",false,
  1065. "Variables for Languages");
  1066. cm->DefineProperty
  1067. ("CMAKE_<LANG>_OUTPUT_EXTENSION", cmProperty::VARIABLE,
  1068. "Extension for the output of a compile for a single file.",
  1069. "This is the extension for an object file for "
  1070. "the given <LANG>. For example .obj for C on Windows.",false,
  1071. "Variables for Languages");
  1072. cm->DefineProperty
  1073. ("CMAKE_<LANG>_SOURCE_FILE_EXTENSIONS", cmProperty::VARIABLE,
  1074. "Extensions of source files for the given language.",
  1075. "This is the list of extensions for a "
  1076. "given languages source files.",false,"Variables for Languages");
  1077. // variables that are used by cmake but not to be documented
  1078. cm->DefineProperty("CMAKE_MATCH_0", cmProperty::VARIABLE,0,0);
  1079. cm->DefineProperty("CMAKE_MATCH_1", cmProperty::VARIABLE,0,0);
  1080. cm->DefineProperty("CMAKE_MATCH_2", cmProperty::VARIABLE,0,0);
  1081. cm->DefineProperty("CMAKE_MATCH_3", cmProperty::VARIABLE,0,0);
  1082. cm->DefineProperty("CMAKE_MATCH_4", cmProperty::VARIABLE,0,0);
  1083. cm->DefineProperty("CMAKE_MATCH_5", cmProperty::VARIABLE,0,0);
  1084. cm->DefineProperty("CMAKE_MATCH_6", cmProperty::VARIABLE,0,0);
  1085. cm->DefineProperty("CMAKE_MATCH_7", cmProperty::VARIABLE,0,0);
  1086. cm->DefineProperty("CMAKE_MATCH_8", cmProperty::VARIABLE,0,0);
  1087. cm->DefineProperty("CMAKE_MATCH_9", cmProperty::VARIABLE,0,0);
  1088. cm->DefineProperty("CMAKE_<LANG>_COMPILER_ARG1",
  1089. cmProperty::VARIABLE,0,0);
  1090. cm->DefineProperty("CMAKE_<LANG>_COMPILER_ENV_VAR",
  1091. cmProperty::VARIABLE,0,0);
  1092. cm->DefineProperty("CMAKE_<LANG>_COMPILER_ID_RUN",
  1093. cmProperty::VARIABLE,0,0);
  1094. cm->DefineProperty("CMAKE_<LANG>_COMPILER_LOADED",
  1095. cmProperty::VARIABLE,0,0);
  1096. cm->DefineProperty("CMAKE_<LANG>_CREATE_ASSEMBLY_SOURCE",
  1097. cmProperty::VARIABLE,0,0);
  1098. cm->DefineProperty("CMAKE_<LANG>_CREATE_PREPROCESSED_SOURCE",
  1099. cmProperty::VARIABLE,0,0);
  1100. cm->DefineProperty("CMAKE_<LANG>_FLAGS",
  1101. cmProperty::VARIABLE,0,0);
  1102. cm->DefineProperty("CMAKE_<LANG>_FLAGS_DEBUG_INIT",
  1103. cmProperty::VARIABLE,0,0);
  1104. cm->DefineProperty("CMAKE_<LANG>_FLAGS_INIT",
  1105. cmProperty::VARIABLE,0,0);
  1106. cm->DefineProperty("CMAKE_<LANG>_FLAGS_MINSIZEREL_INIT",
  1107. cmProperty::VARIABLE,0,0);
  1108. cm->DefineProperty("CMAKE_<LANG>_FLAGS_RELEASE_INIT",
  1109. cmProperty::VARIABLE,0,0);
  1110. cm->DefineProperty("CMAKE_<LANG>_FLAGS_RELWITHDEBINFO_INIT",
  1111. cmProperty::VARIABLE,0,0);
  1112. cm->DefineProperty("CMAKE_<LANG>_INFORMATION_LOADED",
  1113. cmProperty::VARIABLE,0,0);
  1114. cm->DefineProperty("CMAKE_<LANG>_LINK_EXECUTABLE",
  1115. cmProperty::VARIABLE,0,0);
  1116. cm->DefineProperty("CMAKE_<LANG>_LINK_FLAGS",
  1117. cmProperty::VARIABLE,0,0);
  1118. cm->DefineProperty("CMAKE_<LANG>_STANDARD_LIBRARIES",
  1119. cmProperty::VARIABLE,0,0);
  1120. cm->DefineProperty("CMAKE_<LANG>_STANDARD_LIBRARIES_INIT",
  1121. cmProperty::VARIABLE,0,0);
  1122. cm->DefineProperty("CMAKE_<LANG>_USE_RESPONSE_FILE_FOR_OBJECTS",
  1123. cmProperty::VARIABLE,0,0);
  1124. cm->DefineProperty("CMAKE_EXECUTABLE_SUFFIX_<LANG>",
  1125. cmProperty::VARIABLE,0,0);
  1126. cm->DefineProperty("CMAKE_EXE_LINK_DYNAMIC_<LANG>_FLAGS",
  1127. cmProperty::VARIABLE,0,0);
  1128. cm->DefineProperty("CMAKE_EXE_LINK_STATIC_<LANG>_FLAGS",
  1129. cmProperty::VARIABLE,0,0);
  1130. cm->DefineProperty("CMAKE_GENERATOR_<LANG>",
  1131. cmProperty::VARIABLE,0,0);
  1132. cm->DefineProperty("CMAKE_IMPORT_LIBRARY_PREFIX_<LANG>",
  1133. cmProperty::VARIABLE,0,0);
  1134. cm->DefineProperty("CMAKE_IMPORT_LIBRARY_SUFFIX_<LANG>",
  1135. cmProperty::VARIABLE,0,0);
  1136. cm->DefineProperty("CMAKE_INCLUDE_FLAG_<LANG>",
  1137. cmProperty::VARIABLE,0,0);
  1138. cm->DefineProperty("CMAKE_INCLUDE_FLAG_SEP_<LANG>",
  1139. cmProperty::VARIABLE,0,0);
  1140. cm->DefineProperty("CMAKE_INCLUDE_SYSTEM_FLAG_<LANG>",
  1141. cmProperty::VARIABLE,0,0);
  1142. cm->DefineProperty("CMAKE_NEEDS_REQUIRES_STEP_<LANG>_FLAG",
  1143. cmProperty::VARIABLE,0,0);
  1144. cm->DefineProperty("CMAKE_SHARED_LIBRARY_CREATE_<LANG>_FLAGS",
  1145. cmProperty::VARIABLE,0,0);
  1146. cm->DefineProperty("CMAKE_SHARED_LIBRARY_<LANG>_FLAGS",
  1147. cmProperty::VARIABLE,0,0);
  1148. cm->DefineProperty("CMAKE_SHARED_LIBRARY_LINK_<LANG>_FLAGS",
  1149. cmProperty::VARIABLE,0,0);
  1150. cm->DefineProperty("CMAKE_SHARED_LIBRARY_LINK_DYNAMIC_<LANG>_FLAGS",
  1151. cmProperty::VARIABLE,0,0);
  1152. cm->DefineProperty("CMAKE_SHARED_LIBRARY_LINK_STATIC_<LANG>_FLAGS",
  1153. cmProperty::VARIABLE,0,0);
  1154. cm->DefineProperty("CMAKE_SHARED_LIBRARY_RUNTIME_<LANG>_FLAG",
  1155. cmProperty::VARIABLE,0,0);
  1156. cm->DefineProperty("CMAKE_SHARED_LIBRARY_RUNTIME_<LANG>_FLAG_SEP",
  1157. cmProperty::VARIABLE,0,0);
  1158. cm->DefineProperty("CMAKE_SHARED_LIBRARY_RPATH_LINK_<LANG>_FLAG",
  1159. cmProperty::VARIABLE,0,0);
  1160. cm->DefineProperty("CMAKE_EXECUTABLE_RUNTIME_<LANG>_FLAG",
  1161. cmProperty::VARIABLE,0,0);
  1162. cm->DefineProperty("CMAKE_EXECUTABLE_RUNTIME_<LANG>_FLAG_SEP",
  1163. cmProperty::VARIABLE,0,0);
  1164. cm->DefineProperty("CMAKE_EXECUTABLE_RPATH_LINK_<LANG>_FLAG",
  1165. cmProperty::VARIABLE,0,0);
  1166. cm->DefineProperty("CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH",
  1167. cmProperty::VARIABLE,0,0);
  1168. cm->DefineProperty("CMAKE_SHARED_MODULE_CREATE_<LANG>_FLAGS",
  1169. cmProperty::VARIABLE,0,0);
  1170. cm->DefineProperty("CMAKE_SHARED_MODULE_<LANG>_FLAGS",
  1171. cmProperty::VARIABLE,0,0);
  1172. cm->DefineProperty("CMAKE_SHARED_MODULE_LINK_DYNAMIC_<LANG>_FLAGS",
  1173. cmProperty::VARIABLE,0,0);
  1174. cm->DefineProperty("CMAKE_SHARED_MODULE_LINK_STATIC_<LANG>_FLAGS",
  1175. cmProperty::VARIABLE,0,0);
  1176. cm->DefineProperty("CMAKE_SHARED_MODULE_RUNTIME_<LANG>_FLAG",
  1177. cmProperty::VARIABLE,0,0);
  1178. cm->DefineProperty("CMAKE_SHARED_MODULE_RUNTIME_<LANG>_FLAG_SEP",
  1179. cmProperty::VARIABLE,0,0);
  1180. cm->DefineProperty("CMAKE_LINK_DEPENDENT_LIBRARY_FILES",
  1181. cmProperty::VARIABLE,0,0);
  1182. cm->DefineProperty("CMAKE_LINK_DEPENDENT_LIBRARY_DIRS",
  1183. cmProperty::VARIABLE,0,0);
  1184. }