summaryrefslogtreecommitdiffstats
path: root/Source/cmDocumentVariables.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Drop builtin property documentationBrad King2013-10-161-2069/+0
| | | | | | Drop all DefineProperty calls for non-chained properties. Drop the documentation from the chained ones. The documentation for all properties is now in Help/prop_*/*.rst files.
* OS X: Encode -F framework search flag in per-language platform variableBrad King2013-10-101-0/+2
| | | | | | | | | Compilers for languages other than C and C++ on OS X may not understand the -F framework search flag. Create a new platform information variable CMAKE_<LANG>_FRAMEWORK_SEARCH_FLAG to hold the flag, and set it for C and CXX lanugages in the Platform/Darwin module. Reported-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* Merge topic 'apple-clang-id'Brad King2013-10-091-0/+1
|\ | | | | | | | | | | | | 1763c31 Set policy CMP0025 to NEW while building CMake itself aa53ee5 Add policy CMP0025 for Apple Clang compiler id compatibility ab65862 Clang: Add separate "AppleClang" compiler id
| * Clang: Add separate "AppleClang" compiler idBrad King2013-10-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Apple distributes their own Clang build with their own version numbers that differ from upstream Clang. Use the __apple_build_version__ symbol to identify the Apple Clang compiler and report the Apple Build Version as the fourth version component in CMAKE_<LANG>_COMPILER_VERSION. Add Compiler/AppleClang-<lang> and Platform/Darwin-AppleClang-<lang> modules that simply include the upstream equivalents. Fix comparisons of CMAKE_<LANG>_COMPILER_ID to Clang in CMake's own source and tests to account for AppleClang.
* | Merge topic 'clang-cl-compiler'Brad King2013-10-081-0/+22
|\ \ | | | | | | | | | | | | | | | | | | 3d8356d Clang: Support Windows variants for GNU and MSVC (#13035, #14458) 51ab85c CMakeDetermineCompilerId: Add notion of "simulated" id/version be10826 CMakeDetermineCompilerId: Fix local var init
| * | CMakeDetermineCompilerId: Add notion of "simulated" id/versionBrad King2013-10-041-0/+22
| |/ | | | | | | | | | | | | | | | | Some compilers try to simulate other compilers as a drop-in replacement supporting all the same command-line options and predefined preprocessor macros. In such cases it will be useful to have CMake load the compiler information files for the simulated compiler instead of duplicating the information. Teach CMakeDetermineCompilerId to extract the simulated compiler id and version when the compiler id detection provides it.
* | Merge topic 'IMPORTED-target-SYSTEM-includes'Brad King2013-10-071-0/+8
|\ \ | | | | | | | | | | | | a63fcbc Always consider includes from IMPORTED targets to be SYSTEM.
| * | Always consider includes from IMPORTED targets to be SYSTEM.Stephen Kelly2013-09-241-0/+8
| |/ | | | | | | | | | | | | Introduce a target property to control this behavior variable to set the default value for the target property. This does not affect try_compile runs.
* | Merge topic 'cleanup-properties'Brad King2013-10-071-6/+4
|\ \ | | | | | | | | | | | | | | | b78bc33 Cleanup some variable documentation names bbfff52 Remove redundant cmake::GetIsPropertyDefined method
| * | Cleanup some variable documentation namesBrad King2013-09-171-6/+4
| |/ | | | | | | | | | | Remove trailing whitespace after property names. Remove duplicate CMAKE_<LANG>_LINK_EXECUTABLE definition. Rename "[Project name]" placeholder to "<PROJECT-NAME>".
* | Merge topic 'MAP_IMPORTED_CONFIG-property-default'Brad King2013-10-071-0/+8
|\ \ | |/ |/| | | | | fb1294c cmTarget: Add initializer for MAP_IMPORTED_CONFIG_<CONFIG>
| * cmTarget: Add initializer for MAP_IMPORTED_CONFIG_<CONFIG>Stephen Kelly2013-08-281-0/+8
| |
* | Fix some whitespace errors in docs.Stephen Kelly2013-08-281-53/+53
|/ | | | | Remove trailing whitespace and add additional whitespace where necessary.
* Docs: Fix typo in CMAKE_DEBUG_TARGET_PROPERTIESStephen Kelly2013-07-311-2/+1
| | | | | Introduced in commit f10e6480 (Docs: Document existing target property debugging options., 2013-07-26)
* Merge topic 'static_library_flags'Brad King2013-07-311-0/+43
|\ | | | | | | | | | | | | | | | | | | 33e6e0b VS6: Add handling of CMAKE_*_LINKER_FLAGS_<CONFIG> variables 152dfda Add additonal tests for the linker flags 20ed496 Add documentation for the missing CMAKE_*_LINKER_FLAGS_* variables 54f7019 Add CMAKE_STATIC_LINKER_FLAGS to CMakeCommonLanguageInclude 2a43c30 Add support for CMAKE_STATIC_LINKER_FLAGS 14bbf83 Unify the way the flags of a static library are read
| * Add documentation for the missing CMAKE_*_LINKER_FLAGS_* variablesPatrick Gansterer2013-07-311-0/+43
| | | | | | | | | | | | Add CMAKE_MODULE_LINKER_FLAGS_*, CMAKE_SHARED_LINKER_FLAGS_* and CMAKE_STATIC_LINKER_FLAGS_* to cmDocumentVariables.cxx with a similar documentation as CMAKE_EXE_LINKER_FLAGS_*.
* | Docs: Document variables for default visibility values.Stephen Kelly2013-07-261-0/+16
| |
* | Docs: Document existing target property debugging options.Stephen Kelly2013-07-261-3/+5
|/
* Document CMAKE_<LANG>_FLAGS variable (#14305)Sebastian Leske2013-07-241-2/+6
| | | | | | We already document the variables CMAKE_<LANG>_FLAGS_{DEBUG, MINSIZEREL, RELEASE, RELWITHDEBINFO}. However, CMAKE_<LANG>_FLAGS is not documented, even though it's available (and useful).
* Merge topic 'doc-deprecation-variables'Brad King2013-07-151-0/+24
|\ | | | | | | | | c64326b Document some variables for deprecation control.
| * Document some variables for deprecation control.Stephen Kelly2013-07-111-0/+24
| |
* | Revert "Use --sysroot when cross compiling."Stephen Kelly2013-07-121-10/+0
|/ | | | | | | This reverts commit de4da665d3205afa239749c41513a315c3831f51. This feature is not yet ready for release. It needs to be merged with the CMAKE_OSX_SYSROOT feature.
* Merge branch 'master' into vs12-generatorBrad King2013-06-281-71/+120
|\ | | | | | | | | Resolve conflicts in Tests/Preprocess/CMakeLists.txt by keeping the side from 'master'.
| * Document ENV syntax as a "variable" (#14245)Brad King2013-06-261-0/+8
| | | | | | | | | | Although "ENV" is not a special variable itself, use it to document the $ENV{VAR} syntax.
| * Merge topic 'set-sysroot'Brad King2013-06-241-0/+10
| |\ | | | | | | | | | | | | de4da66 Use --sysroot when cross compiling.
| | * Use --sysroot when cross compiling.Stephen Kelly2013-06-071-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As CMAKE_ROOT_FIND_PATH can be a list, a new CMAKE_SYSROOT is introduced, which is never a list. The contents of this variable is passed to supporting compilers as --sysroot. It is also accounted for when processing implicit link directories reported by the compiler, and when generating RPATH information.
| * | Document CMAKE_INSTALL_PREFIX in CMAKE_SYSTEM_PREFIX_PATHBrad King2013-06-171-1/+6
| |/ | | | | | | | | Add documentation to both variables to indicate that the install prefix is also searched.
| * Docs: Clarify CMAKE_PARENT_LIST_FILE (#14194)Brad King2013-06-041-5/+6
| | | | | | | | | | | | | | Fix the wording of the documentation for CMAKE_PARENT_LIST_FILE to clarify that it only applies to the include stack in the current directory. Specify exactly what commands can include files instead of saying "somehow invoke".
| * Merge topic 'doc-improvements'Brad King2013-05-161-64/+89
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7cc2805 Docs: Clarify wording "flag used" => "flag (to|will) be used" 2378a69 Docs: Clarify that CMAKE_*_(PREFIX|SUFFIX) affect filenames 56ca34d Docs: Update description of CMAKE_(BUILD_TYPE|CONFIGURATION_TYPES) 2bab472 VS10: add detailed comment about MIDL processing e619111 Explain distribution of Win9x binary on all Windows versions. 5ca4336 FindwxWidgets: add DOC strings with usual style f57800d Fix spelling and typos (product names) bf019d7 Fix spelling and typos (non-binary) ddac8d3 Fix spelling and typos (affecting binary data / module messages) 86832ce Fix spelling and typos (affecting users)
| | * Docs: Clarify wording "flag used" => "flag (to|will) be used"Andreas Mohr2013-05-071-13/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The phrase "flag used" is somewhat imprecise, so extend it to stress intentions. Also correct: - "Flag" => "Flags" - "[CMAKE_BUILD_TYPE]" => "<CONFIG>"
| | * Docs: Clarify that CMAKE_*_(PREFIX|SUFFIX) affect filenamesAndreas Mohr2013-05-071-7/+11
| | | | | | | | | | | | Add "filename" to the descriptions.
| | * Docs: Update description of CMAKE_(BUILD_TYPE|CONFIGURATION_TYPES)Andreas Mohr2013-05-071-16/+27
| | | | | | | | | | | | Bring woefully outdated descriptions somewhat up to speed.
| | * Fix spelling and typos (product names)Andreas Mohr2013-05-071-12/+15
| | | | | | | | | | | | API, Borland, MinGW, UNIX, Mac OS X.
| | * Fix spelling and typos (affecting binary data / module messages)Andreas Mohr2013-05-071-17/+21
| | |
| * | VS: Separate compiler and linker PDB files (#11899, #14062)Brad King2013-04-051-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MS tools create two types of PDB files as explained here: http://msdn.microsoft.com/en-us/library/yd4f8bd1%28v=vs.71%29.aspx http://msdn.microsoft.com/en-us/library/yd4f8bd1%28v=vs.80%29.aspx http://msdn.microsoft.com/en-us/library/yd4f8bd1%28v=vs.90%29.aspx http://msdn.microsoft.com/en-us/library/yd4f8bd1%28v=vs.100%29.aspx One is created by the compiler (/Fd) and the other by the linker (/pdb). The two options should not specify the same file. Split them up. In the VS IDE generators, simply drop ProgramDataBaseFileName to take the VS default "/Fd$(IntDir)vc$(PlatformToolsetVersion).pdb". In the Makefile generators, set "/Fd" on the compile line to be the directory containing object files (with a trailing slash the compiler will add the "vc$(PlatformToolsetVersion).pdb" filename automatically). Drop the /Fd option from the exe link command line and add "/pdb" instead (already done for dll linking). Update these rules for both MSVC and Intel tools. Drop support for PDB_OUTPUT_DIRECTORY and PDB_NAME in STATIC libraries because the generated .pdb files are only from /Fd and not real linker-generated .pdb files. Update documentation to clarify that the PDB_* properties are only for linker .pdb files. This regresses the PDBDirectoryAndName test for STATIC libraries. Since it is not clear at this time what should be done for STATIC library .pdb files, comment out the relevant portion of the test and leave a TODO comment.
* | VS12: Add Visual Studio 12 generator (#14251)Brad King2013-06-281-1/+2
|/ | | | | | | | | | | | | | Copy cmGlobalVisualStudio11Generator to cmGlobalVisualStudio12Generator and update version numbers accordingly. Add the VS12 enumeration value. Add module CMakeVS12FindMake to find MSBuild. Look for MSBuild in its now-dedicated Windows Registry entry. Teach the platform module Windows-MSVC to set MSVC12 and document the variable. Teach module InstallRequiredSystemLibraries to look for the VS 12 runtime libraries. Teach tests CheckCompilerRelatedVariables, Preprocess, VSExternalInclude, and RunCMake.GeneratorToolset to treat VS 12 as they do VS 10 and 11. Inspired-by: Minmin Gong <minmin.gong@gmail.com>
* Rename variable for including current directory in interfacesBrad King2013-03-191-2/+2
| | | | | | | | | Rename the variable added by commit 9ce1b9ef (Add CMAKE_BUILD_INTERFACE_INCLUDES build-variable, 2012-11-25) to CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE to be more consistent with the existing CMAKE_INCLUDE_CURRENT_DIR variable. Suggested-by: Alex Neundorf <neundorf@kde.org>
* rename TI_DSP toolchain to TI, since it works also for the ARM compilerAlex Neundorf2013-03-141-1/+1
| | | | | | Additionally, look for a special ar and strip Alex
* Documentation: Clarify a few subtletiesPetr Kmoch2013-03-121-1/+8
| | | | | | | | | | | | | | * Clarify accepted values of <LANG> suffix in CMAKE_COMPILER_IS_GNU<LANG>. * Clarify fact that target property GENERATOR_FILE_NAME usually cannot be used at configure time. * Clarify that enable_language() can only be used in global scope of top-level project using language. * State that enable_language(... OPTIONAL) currently doesn't work. * Document regular expression operator precedence.
* Merge topic 'rpath-use-implicit-link-dirs'Brad King2013-02-151-0/+3
|\ | | | | | | | | | | | | 95a9c80 Merge topic 'LINK_LIBRARIES-property' into rpath-use-implicit-link-dirs baa33ac AIX-GNU: Put implicit link directories in runtime libpath (#13909) 171b099 Avoid duplicate RPATH entries
| * Merge topic 'LINK_LIBRARIES-property' into rpath-use-implicit-link-dirsBrad King2013-02-141-1/+27
| |\ | | | | | | | | | Resolve a logical conflict in the signature of cmTarget::GetLinkClosure.
| * | AIX-GNU: Put implicit link directories in runtime libpath (#13909)Brad King2013-02-141-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The GNU compiler front-ends on AIX invoke the linker with flags of the form "-L/path/to/gnu/runtime/lib" to tell ld where to find the language runtime libraries. They depend on the default libpath behavior documented in "man ld" to add the -L paths also to the runtime libpath so the dynamic loader can find the language runtime libraries. This differs from platforms whose linkers have distinct -rpath flags that non-system compilers can use to tell the dynamic loader where to find their language runtime libraries. Since commit 96fd5909 (Implement linking with paths to library files, 2008-01-22) CMake always passes "-Wl,-blibpath:" followed by any project-defined RPATH plus "/usr/lib:/lib" in order to explicitly set the runtime libpath and avoid getting all the project -L paths in the runtime libpath. The explicit libpath prevents the GNU compiler runtime library -L paths from being placed in the libpath and then the dynamic loader fails to find the language runtime libraries. CMake already detects the implicit link directories for each language since commit 07ea19ad (Implicit link info for C, CXX, and Fortran, 2009-07-23). Add the implicit link directories to the explicit runtime libpath for GNU compilers on AIX to fix this use case.
* | | Merge topic 'minor-fixes'Brad King2013-02-111-3/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ba48e63 Generate config-specific interface link libraries propeties. deb51a7 Remove unused forward declarations. 9712362 Don't allow utility or global targets in the LINKED expression. faa927e Make sure INTERFACE properties work with OBJECT libraries. 510fdcb Whitelist target types in target_{include_directories,compile_definitions} 4de7178 Ensure that the build interface includes have been added. df74bc3 Only append build interface include dirs to particular targets. d4e5c67 Don't keep track of content determined by target property values. 1fb545a Move a special case for PIC from the genex to the cmTarget code. 57175d5 Only use early evaluation termination for transitive properties. 4cf161a Fix determination of evaluating link libraries. 3a298c0 Fix generation of COMPILE_DEFINITIONS in DependInfo.cmake. 655e98b Ensure type specific compatible interface properties do not intersect. 46e2896 The COMPATIBLE_INTERFACE does not affect the target it is set on. 5f926a5 Test printing origin of include dirs from tll(). 7c0ec75 De-duplicate validation of genex target names. ...
| * | | Only append build interface include dirs to particular targets.Stephen Kelly2013-02-071-3/+4
| | | | | | | | | | | | | | | | We shouldn't set the property on all custom targets.
* | | | Xcode: Implement generator toolset selection (#9831, #13802)Brad King2013-02-071-0/+9
| | | | | | | | | | | | | | | | | | | | Implement generator toolset selection (cmake -T) for Xcode > 2.0 by adding the GCC_VERSION build setting to project files.
* | | | CMake: Add -T option to choose a generator toolsetBrad King2013-02-071-0/+8
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reject the option by default. It will be implemented on a per-generator basis. Pass the setting into try_compile project generation. Add cache entry CMAKE_GENERATOR_TOOLSET and associated variable documentation to hold the value persistently. Add a RunCMake.GeneratorToolset test to cover basic "-T" option cases. Verify that CMAKE_GENERATOR_TOOLSET is empty without -T, that -T is rejected when the generator doesn't support it, and that two -T options are always rejected.
* | | Add CMAKE_BUILD_INTERFACE_INCLUDES build-variable.Stephen Kelly2013-01-081-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes set(CMAKE_BUILD_INTERFACE_INCLUDES ON) add the equivalent of set_property(TARGET tgt APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_CURRENT_BINARY_DIR}> ) to every target. If the headers are in CMAKE_CURRENT_SOURCE_DIR, and the generated headers are in CMAKE_CURRENT_BINARY_DIR, this is a convenient way to build a target bar, which depends on foo, just by using target_link_libraries() and adding the INTERFACE_INCLUDE_DIRECTORIES to the INCLUDE_DIRECTORIES of the target being linked. There will be more-convenient porcelain API to consume the property in the future.
* | | Merge topic 'osx-implicit-link-dirs'Brad King2013-01-071-0/+9
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | cc676c3 OS X: Detect implicit linker framework search paths 2dd67c7 OS X: Detect implicit link directories on modern toolchains ba58d0c OS X: Link with all framework search paths, not just the last
| * | OS X: Detect implicit linker framework search pathsBrad King2012-12-111-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we hard-coded a list of implicit framework directories but did not account for CMAKE_OSX_SYSROOT or for changes to the list across OS X versions. Instead we should automatically detect the framework directories for the active toolchain. The parent commit added the "-Wl,-v" option to ask "ld" to print its implicit directories. It displays a block such as: Framework search paths: /... Parse this block to extract the list of framework directories. Detection may fail on toolchains that do not list their framework directories, such as older OS X linkers. Always treat the paths <sdk>/Library/Frameworks <sdk>/System/Library/Frameworks <sdk>/Network/Library/Frameworks # Older OS X only /System/Library/Frameworks as implicit. Note that /System/Library/Frameworks should always be considered implicit so that frameworks CMake finds there will not override the SDK copies.
* | | Add a way to print the origins of used include directories.Stephen Kelly2013-01-031-0/+9
| | |