summaryrefslogtreecommitdiffstats
path: root/Source/cmDocumentVariables.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Add CMAKE_SCRIPT_MODE_FILE variable (#2828)David Cole2011-02-021-0/+8
| | | | | New CMake variable is set when processing a -P script file, but not when configuring a project.
* Merge topic 'outdir-CMAKE_USER_MAKE_RULES_OVERRIDE'Brad King2011-01-261-14/+27
|\ | | | | | | | | | | 5792d3a Always place try_compile executables predictably (#11724) a5300f1 Clarify CMAKE_USER_MAKE_RULES_OVERRIDE documentation (#11724)
| * Clarify CMAKE_USER_MAKE_RULES_OVERRIDE documentation (#11724)Brad King2011-01-201-14/+27
| | | | | | | | | | | | This variable was introduced to help authors override CMake's default platform information before any of it is cached. State this clearly in the documentation. Explicitly discourage use for other purposes.
* | Document CMAKE_TRY_COMPILE_CONFIGURATION variableBrad King2011-01-171-0/+8
| | | | | | | | | | Also reference it from try_compile and try_run since it affects those commands.
* | Allow users to specify defaults for unset policiesBrad King2011-01-041-0/+19
| | | | | | | | | | | | | | | | | | | | Check CMAKE_POLICY_DEFAULT_CMP<NNNN> for a default when policy CMP<NNNN> would otherwise be left unset. This allows users to set policies on the command line when the project does not set them. One may do this to quiet warnings or test whether a project will build with new behavior without modifying code. There may also be cases when users want to build an existing project release using new behavior for policies unknown to the project at the time of the release.
* | Create Fortran info variables for .mod behaviorBrad King2010-11-121-0/+23
| | | | | | | | | | | | Define CMAKE_Fortran_MODDIR_DEFAULT and CMAKE_Fortran_MODOUT_FLAG variables to help some Fortran compilers generate .mod files in the current working directory.
* | Add automatic variable CMAKE_CURRENT_LIST_DIR(dir of CMAKE_CURRENT_LIST_FILE)Alex Neundorf2010-09-281-0/+19
| | | | | | | | | | | | Comes with a simple test and docs. Alex
* | Remove trailing whitespaceAlex Neundorf2010-09-281-47/+48
| | | | | | | | Alex
* | Teach find_* commands to ignore some pathsTodd Gamblin2010-08-131-1/+33
|/ | | | | | | | Add platform configuration variable CMAKE_SYSTEM_IGNORE_PATH and user configuration variable CMAKE_IGNORE_PATH. These specify a set of directories that will be ignored by all the find commands. Update FindPackageTest so that several cases will fail without a functioning CMAKE_IGNORE_PATH.
* Merge branch 'tru64-make-includes'Brad King2010-06-151-0/+2
|\
| * Tru64: Use full-path include directives in Makefiles (#10569)Brad King2010-06-141-0/+2
| | | | | | | | | | | | | | | | Tru64's make(1) resolves relative paths in "include" directives with respect to the includer. This is inconsistent with all other known make tools. Note that this make tool treats the path literally so we cannot use our standard FULL path code which escapes spaces. Instead qualify the paths with $(CMAKE_BINARY_DIR) to avoid the problem.
* | Merge branch 'mingw-response-files'Brad King2010-06-151-0/+2
|\ \ | |/ |/|
| * Use platform variable for response file flagBrad King2010-03-111-0/+2
| | | | | | | | | | | | | | | | Create platform variable "CMAKE_<LANG>_RESPONSE_FILE_LINK_FLAG" to specify an alternative to "@" for referencing response files. It applies specifically to response files with linker options. See issue #10401.
* | Merge branch 'version'Brad King2010-05-171-3/+13
|\ \
| * | Report commit hash in CMake development versionsBrad King2010-04-231-2/+4
| | | | | | | | | | | | | | | | | | For builds from Git repositories, add "-g<commit>" to the end of the version number. If the source tree is modified, append "-dirty". For builds from CVS checkouts, add "-cvs-<branch>".
| * | New version scheme to support branchy workflowBrad King2010-04-231-3/+11
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prepare to switch to the workflow described by "git help workflows". In this workflow, the "master" branch is always used to integrate topics ready for release. Brand new work merges into a "next" branch instead. We need a new versioning scheme to work this way because the version on "master" must always increase. We no longer use an even/odd minor number to distinguish releases from development versions. Since we still support cvs checkout of our source tree we cannot depend on "git describe" to compute a version number based on the history graph. We can use the CCYYMMDD nightly date stamp to get a monotonically increasing version component. The new version format is "major.minor.patch.(tweak|date)". Releases use a tweak level in the half-open range [0,20000000), which is smaller than any current or future date. For tweak=0 we do not show the tweak component, leaving the format "major.minor.patch" for most releases. Development versions use date=CCYYMMDD for the tweak level. The major.minor.patch part of development versions on "master" always matches the most recent release. For example, a first-parent traversal of "master" might see v2.8.1 2.8.1.20100422 v2.8.2 | | | ----o----o----o----o----o----o----o----o---- Since the date appears in the tweak component, the next release can increment the patch level (or any more significant component) to be greater than any version leading to it. Topic branches not ready for release are published only on "next" so we know that all versions on master lead between two releases.
* | -(minor) fix documentation for CMAKE_LIBRARY_PATH (#10291)Alex Neundorf2010-05-081-1/+1
|/ | | | Alex
* Clarify CMAKE_MODULE_PATH documentationBrad King2010-02-181-4/+4
| | | | | Reword the documentation to make it clear that the variable can be a list of directories.
* Remove CMAKE_SHARED_MODULE_RUNTIME_${lang}_FLAGBrad King2009-12-021-4/+0
| | | | | This platform configuration variable is unused. Modules are built using the value of CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG.
* -document CMAKE_EXTRA_GENERATORAlexander Neundorf2009-11-221-0/+8
| | | | Alex
* Document CMAKE_CURRENT_LIST_FILE more preciselyBrad King2009-10-021-1/+12
| | | | | | There is confusion whether the file "currently being processed" inside a function or macro is the file containing the definition or not. This commit explicitly describes the behavior. See issue #9646.
* Teach Xcode generator to set XCODE_VERSIONBrad King2009-09-231-0/+7
| | | | | We set the variable 'XCODE_VERSION' in the CMake language to the Xcode version string (e.g. "3.1.2"). Platform config files may use it later.
* Remove CMakeSetup. Long live cmake-gui, start building Qt now.Bill Hoffman2009-09-031-4/+4
|
* some white space fixes for the bookKen Martin2009-09-031-1/+1
|
* Document CMAKE_<LANG>_COMPILER_LOADED variableBrad King2009-08-201-2/+7
|
* Do not always propagate linker language preferenceBrad King2009-07-301-4/+17
| | | | | | | | | | | | The commit "Consider link dependencies for link language" taught CMake to propagate linker language preference from languages compiled into libraries linked by a target. It turns out this should only be done for some languages, such as C++, because normally the language of the program entry point (main) should be used. We introduce variable CMAKE_<LANG>_LINKER_PREFERENCE_PROPAGATES to tell CMake whether a language should propagate its linker preference across targets. Currently it is true only for C++.
* ENH: Implicit link info for C, CXX, and FortranBrad King2009-07-231-1/+22
| | | | | | | | | | | | | This teaches CMake to detect implicit link information for C, C++, and Fortran compilers. We detect the implicit linker search directories and implicit linker options for UNIX-like environments using verbose output from compiler front-ends. We store results in new variables called CMAKE_<LANG>_IMPLICIT_LINK_LIBRARIES CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES The implicit libraries can contain linker flags as well as library names.
* BUG: Use link language for target name computationBrad King2009-07-081-26/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | The commit "Do not compute link language for LOCATION" was wrong. The variables CMAKE_STATIC_LIBRARY_PREFIX_Java CMAKE_STATIC_LIBRARY_SUFFIX_Java are used for building Java .jar files. This commit re-enables the feature and documents the variables: CMAKE_EXECUTABLE_SUFFIX_<LANG> CMAKE_IMPORT_LIBRARY_PREFIX_<LANG> CMAKE_IMPORT_LIBRARY_SUFFIX_<LANG> CMAKE_SHARED_LIBRARY_PREFIX_<LANG> CMAKE_SHARED_LIBRARY_SUFFIX_<LANG> CMAKE_SHARED_MODULE_PREFIX_<LANG> CMAKE_SHARED_MODULE_SUFFIX_<LANG> CMAKE_STATIC_LIBRARY_PREFIX_<LANG> CMAKE_STATIC_LIBRARY_SUFFIX_<LANG> Instead of making separate, repetitive entries for the _<LANG> variable documentation, we just mention the per-language name in the text of the platform-wide variable documentation. Internally we keep undocumented definitions of these properties to satisfy CMAKE_STRICT mode.
* ENH: Do not compute link language for LOCATIONBrad King2009-07-081-6/+0
| | | | | | | | | | | | | The LOCATION property requires the full file name of a target to be computed. Previously we computed the linker language for a target to look up variables such as CMAKE_SHARED_LIBRARY_SUFFIX_<LANG>. This led to locating all the source files immediately instead of delaying the search to generation time. In the future even more computation will be needed to get the linker language, so it is better to avoid it. The _<LANG> versions of these variables are undocumented, not set in any platform file we provide, and do not produce hits in google. This change just removes the unused feature outright.
* BUG: Fix documentation of CMAKE_CFG_INTDIRBrad King2009-06-301-21/+36
| | | | | The documentation of this variable was out-dated and misleading. See issue #9219.
* STYLE: document CMAKE_SKIP_INSTALL_ALL_DEPENDENCY variableAlexander Neundorf2009-06-271-0/+13
| | | | Alex
* ENH: Document variable CMAKE_NO_BUILTIN_CHRPATHBrad King2009-06-101-0/+10
| | | | | This adds documentation for the variable which was previously missing. See issue #9130.
* BUG: Recognize .so shared libraries on HP-UXBrad King2009-06-031-0/+9
| | | | | | HP-UX uses both .sl and .so as extensions for shared libraries. This teaches CMake to recognize .so shared libraries so they are treated properly during link dependency analysis.
* ENH: Make CMAKE_<LANG>_SIZEOF_DATA_PTR publicBrad King2009-05-141-2/+4
| | | | | The variable was previously documented for internal-use only. This officially documents it for general use by projects.
* STYLE: document CMAKE_INCLUDE_CURRENT_DIRAlexander Neundorf2009-05-091-0/+14
| | | | Alex
* STYLE: fix typos in the docsAlexander Neundorf2009-04-191-5/+5
| | | | Alex
* ENH: Overhaul CMake version numberingBrad King2009-03-051-3/+3
| | | | | | | | | | | | | This moves the version numbers into an isolated configured header so that not all of CMake needs to rebuild when the version changes. Previously we had spaces, dashes and/or the word 'patch' randomly chosen before the patch number. Now we always report version numbers in the traditional format "<major>.<minor>.<patch>[-rc<rc>]". We still use odd minor numbers for development versions. Now we also use the CCYYMMDD date as the patch number of development versions, thus allowing tests for exact CMake versions.
* ENH: Re-enable system include dir suppressionBrad King2009-02-251-0/+9
| | | | | | | | | | | | | | | This creates variable CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES to specify implicit include directories on a per-language basis. This replaces the previous platform-wide variable. It is necessary to avoid explicit specification of -I/usr/include on some compilers (such as HP aCC) because: 1.) It may break ordering among system include directories defined internally by the compiler, thus getting wrong system headers. 2.) It tells the compiler to treat the system include directory as a user include directory, enabling warnings in the headers. See issue #8598.
* ENH: Clarify docs of old *_OUTPUT_PATH varsBrad King2009-02-201-11/+7
| | | | | This clarifies the documentation of EXECUTABLE_OUTPUT_PATH and LIBRARY_OUTPUT_PATH to sound less like deprecation.
* ENH: Provide variable CMAKE_VERSIONBrad King2009-01-151-0/+8
| | | | | | This creates the variable CMAKE_VERSION containing the full version of cmake in "major.minor.patch" format. It is particularly useful with the component-wise version comparison provided by the if() command.
* ENH: Document variable CMAKE_PATCH_VERSIONBrad King2009-01-151-0/+6
| | | | | This adds documentation of CMAKE_PATCH_VERSION to the generated variables documentation.
* STYLE: document CMAKE_COLOR_MAKEFILE (#7878)Alexander Neundorf2009-01-101-2/+9
| | | | Alex
* BUG: Fix <CONFIG>_POSTFIX property/variable docsBrad King2008-12-151-7/+12
| | | | | | | | The CMAKE_<CONFIG>_POSTFIX variable and <CONFIG>_POSTFIX property were not documented. This updates the CMAKE_DEBUG_POSTFIX and DEBUG_POSTFIX documentation to refer to the more general variable/property. It also clarifies that the variable is used as the property default only for non-executable targets. See issue #7868.
* ENH: Allow custom limit on object file path lengthBrad King2008-08-211-0/+18
| | | | | | | | Some native build tools, particularly those for cross compiling, may have a limit on the length of the full path to an object file name that is lower than the platform otherwise supports. This change allows the limit to be set by the project toolchain file through the variable CMAKE_OBJECT_PATH_MAX.
* STYLE: fix #7146, add documentation forAlexander Neundorf2008-07-201-8/+98
| | | | | | | | | | CMAKE[_SYSTEM]_(LIBRARY|PROGRAM|INCLUDE|PREFIX)_PATH variables -moved CMAKE_CROSSCOMPILING from "Variables that modify behaviour" to "variables that Provide Information", since it should be used only for testing whether we are currently in cross compiling mode, not for switching between the modes. Alex
* ENH: Convert CMAKE_LINK_OLD_PATHS to policy CMP0003.Brad King2008-03-131-18/+0
| | | | | | | | | - Policy is WARN by default so projects will build as they did in 2.4 without user intervention - Remove CMAKE_LINK_OLD_PATHS variable since it was never in a release and the policy supercedes it - Report target creation backtrace in warning message since policy should be set by that point
* BUG: Fix typo in documentation of LIBRARY_OUTPUT_PATH.Brad King2008-03-041-1/+1
|
* ENH: Handle large object file lists on some platformsBrad King2008-02-271-0/+2
| | | | | | | - Use a response file when enabled by CMAKE_<LANG>_USE_RESPONSE_FILE_FOR_OBJECTS - Enable for C and CXX with cl (MSVC) - Enable for Fortran with ifort (Intel Fortran)
* ENH: Update documentation of EXECUTABLE_OUTPUT_PATH and LIBRARY_OUTPUT_PATH ↵Brad King2008-02-121-2/+9
| | | | to reference their replacements.
* ENH: Pass dependent library search path to linker on some platforms.Brad King2008-02-011-2/+7
| | | | | | | | | | | | | | | | - Move runtime path ordering out of cmComputeLinkInformation into its own class cmOrderRuntimeDirectories. - Create an instance of cmOrderRuntimeDirectories for runtime path ordering and another instance for dependent library path ordering. - Replace CMAKE_DEPENDENT_SHARED_LIBRARY_MODE with explicit CMAKE_LINK_DEPENDENT_LIBRARY_FILES boolean. - Create CMAKE_LINK_DEPENDENT_LIBRARY_DIRS boolean. - Create variables to specify -rpath-link flags: CMAKE_SHARED_LIBRARY_RPATH_LINK_<LANG>_FLAG CMAKE_EXECUTABLE_RPATH_LINK_<LANG>_FLAG - Enable -rpath-link flag on Linux and QNX. - Documentation and error message updates