summaryrefslogtreecommitdiffstats
path: root/Help/manual/cmake-variables.7.rst
Commit message (Collapse)AuthorAgeFilesLines
* Help: Document CMAKE_XCODE_ATTRIBUTE_<an-attribute> variable (#15215)Brad King2014-10-221-0/+1
|
* ctest: add support for additional sanitizer optionsBen Boeckel2014-10-031-0/+1
| | | | | Sanitizers receive options through their environment variable; support user-specified options here.
* Add 'ANDROID_API' target property to set Android Target APIBrad King2014-09-301-0/+1
| | | | Also add a 'CMAKE_ANDROID_API' variable to set the property default.
* Add 'ANDROID_GUI' target property to mark Android applicationsBrad King2014-09-291-0/+1
| | | | | | | Also add a 'CMAKE_ANDROID_GUI' variable to set the property default so a project can easily make all executables Android applications. An Android application executable file has the same extension as a shared library (.so).
* VS: Teach VS >= 10 to recognize CMAKE_SYSTEM_NAME 'Android'Brad King2014-09-291-0/+1
| | | | | | | When CMAKE_SYSTEM_NAME is 'Android', check for an installation of 'NVIDIA Nsight Tegra Visual Studio Edition' and generate .vcxproj files for the "Tegra-Android" platform. Also make the installed version available in a CMAKE_VS_NsightTegra_VERSION variable.
* Help: Document the WINCE variablePascal Bach2014-09-111-0/+1
|
* CMake: Add CMAKE_GENERATOR_PLATFORM optionBrad King2014-09-051-0/+1
| | | | | | | | | | | 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_PLATFORM and associated variable documentation to hold the value persistently. Add a RunCMake.GeneratorPlatform test to cover basic use cases for the option. Verify that CMAKE_GENERATOR_PLATFORM is empty by default, and that it is rejected when the generator does not support a user setting.
* Help: Document CMAKE_VS_PLATFORM_NAME variableBrad King2014-09-051-0/+1
|
* Merge topic 'ctest_update_status_only'Brad King2014-08-181-0/+1
|\ | | | | | | | | | | 653529ce CTest: Allow / to be in the build name, and be consistent with the build name 39b5df2f ctest_update: Add CTEST_UPDATE_VERSION_ONLY option to only note the version
| * ctest_update: Add CTEST_UPDATE_VERSION_ONLY option to only note the versionBill Hoffman2014-08-181-0/+1
| | | | | | | | | | | | | | This allows ctest_update to get the current version without actually changing the repository. This is useful when using Jenkins or an external project to update the source to a specific version, but you still want the current version to show up in CDash.
* | Define 'WINDOWS_PHONE' and 'WINDOWS_STORE' variablesGilles Khouzam2014-07-311-0/+2
|/ | | | | Set one of these when CMAKE_SYSTEM_NAME is "WindowsPhone" or "WindowsStore", respectively.
* ctest_memcheck: Add support for ThreadSanitizerBill Hoffman2014-07-091-0/+1
| | | | | | | | | This commit adds support for ThreadSanitizer to ctest. ThreadSanitizer is part of the clang compiler and also gcc 4.8 and later. You have to compile the code with special flags. Then your code gets the the ThreadSanitizer ability built into it. To pass options to the ThreadSanitizer you use an environment variable. This commit teaches ctest to parse the output from ThreadSanitizer and send it to CDash.
* Merge topic 'vs14-generator'Brad King2014-06-301-0/+1
|\ | | | | | | | | | | | | | | | | | | | | f0e298ad Help: Add notes for topic 'vs14-generator' 5c105140 Tests: Simplify LoadCommand tests b1cbd577 FindBoost: Add -vc140 mangling for VS 14 bdc7d9c8 VS14: Fix Cl and Link flag tables as previous versions d96b3f68 VS14: Generate flag tables from MSBuild v140 tool files 65624c39 VS14: Add Visual Studio 14 generator (#14982) 8635ac23 Tests/Preprocess: Remove unnecessary VS version tests
| * VS14: Add Visual Studio 14 generator (#14982)Brad King2014-06-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Call the generator "Visual Studio 14" without any year because this version of VS does not provide a year in the product name. Copy cmGlobalVisualStudio12Generator to cmGlobalVisualStudio14Generator and update version numbers accordingly. Add the VS14 enumeration value. Teach the platform module Windows-MSVC to set MSVC14 and document the variable. Teach module InstallRequiredSystemLibraries to look for the VS 14 runtime libraries. Teach tests CheckCompilerRelatedVariables, VSExternalInclude, and RunCMake.GeneratorToolset to treat VS 14 as they do VS 10, 11, and 12. Co-Author: Pawel Stopinski <diokhan@go2.pl>
* | install: Add CMAKE_INSTALL_MESSAGE variable (#13761)Brad King2014-06-241-0/+1
|/ | | | | | | | | Create a variable to allow users to control which installation messages are printed. In particular, provide a "LAZY" setting that prints "Installing" messages but not "Up-to-date" messages. This is desirable for incremental re-installations. Suggested-by: J Decker <d3ck0r@gmail.com>
* Help: Add placeholder documents for CTest Script variablesBrad King2014-06-031-0/+51
| | | | | | Provide a minimal explanation of each variable by simply naming the corresponding ctest(1) setting and linking to the ctest(1) manual.
* Features: Extend concept to C language.Stephen Kelly2014-05-141-0/+4
| | | | | | | | | | | Add properties and variables corresponding to CXX equivalents. Add features for c_function_prototypes (C90), c_restrict (C99), c_variadic_macros (C99) and c_static_assert (C11). This feature set can be extended later. Add a <PREFIX>_RESTRICT symbol define to WriteCompilerDetectionHeader to conditionally represent the c_restrict feature.
* Merge topic 'package-disable-registry'Brad King2014-05-121-0/+3
|\ | | | | | | | | | | | | | | ba387cb8 Help: Add notes for topic 'package-disable-registry' be8ae960 Allow the Package Registry to be disabled (#14849) d09fda5d Tests: Improve FindPackageTest for in-source builds ac24a1c0 Tests: Improve FindPackageTest exported package version
| * Allow the Package Registry to be disabled (#14849)Daniele E. Domenichelli2014-05-121-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a project is packaged for redistribution the local package registries should not be updated or consulted. They are for developers. Add variables to disable use of package registries globally: * CMAKE_EXPORT_NO_PACKAGE_REGISTRY that disables the export(PACKAGE) command * CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY that disables the User Package Registry in all the find_package calls. * CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY that disables the System Package Registry in all the find_package calls. Update documentation and unit tests.
* | cmTarget: Add CXX_STANDARD_REQUIRED to control decay.Stephen Kelly2014-05-071-0/+1
| |
* | Help: Fix order of help entries.Stephen Kelly2014-05-071-1/+1
|/
* Features: Make CMAKE_CXX_KNOWN_FEATURES a property.Stephen Kelly2014-05-021-1/+0
| | | | | As a 'built-in' variable it imposes a cost on all variable lookups and it is expected to be rarely used.
* project: Add infrastructure for recording CXX compiler featuresStephen Kelly2014-04-071-0/+2
| | | | | | | | | | | | | | Add a feature test using the compiler macros and the preprocessor to determine available features. Add a CMAKE_CXX_COMPILE_FEATURES variable which contains all features known to the loaded compiler, and a CMAKE_CXX_KNOWN_FEATURES variable containing all features known to CMake. Add language standard specific variables for internal use to determine the standard-specific compile flags to use. This will be extended to other languages in the future. Follow-up commits will add features which will be recorded by the feature test.
* cmTarget: Add CXX_STANDARD and CXX_EXTENSION target properties.Stephen Kelly2014-04-071-0/+2
| | | | | These are used to determine whether to add -std=c++11, -std=gnu++11 etc flags on the compile line.
* Merge branch 'master' into revise-compiler-id-policiesBrad King2014-04-021-0/+2
|\
| * Merge topic 'doc-osx-path-variables'Brad King2014-03-101-0/+2
| |\ | | | | | | | | | | | | 764e977a Help: Document variables CMAKE_APPBUNDLE_PATH and CMAKE_FRAMEWORK_PATH
| * | MSVC: Add properties to configure compiler PDB files (#14762)Brad King2014-02-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v2.8.12~437^2~2 (VS: Separate compiler and linker PDB files 2013-04-05) we no longer set /Fd with the PDB_NAME or PDB_OUTPUT_DIRECTORY properties. Those properties now exclusively handle linker PDB files. Since STATIC libraries do not link their compiler PDB file becomes more important. Add new target properties "COMPILE_PDB_NAME[_<CONFIG>]" and "COMPILE_PDB_OUTPUT_DIRECTORY[_<CONFIG>]" to specify the compiler PDB file location and pass the value to the MSVC /Fd option.
* | | Do not warn by default when policy CMP0025 or CMP0047 is not setBrad King2014-04-021-0/+1
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These policies are triggered by the use of a particular compiler rather than outdated CMake code in a project. Avoid warning in every project that enables a language by not displaying the policy warning by default. Add variable CMAKE_POLICY_WARNING_CMP<NNNN> to control the warning explicitly; otherwise enable the warning with --debug-output or --trace. This breaks with strict policy convention because it does not provide developers with any warning about the behavior change by default. Existing projects will continue to build without a warning or change in behavior. When a developer changes the minimum required version of CMake in a project to a sufficiently high value (3.0), the project will suddenly get the new compiler id and may break, but at least the breakage comes with a change to the project rather than the version of CMake used to build it. Breaking strict policy convention is worthwhile in this case because very few projects will be affected by the behavior change but every project would have to see the warning if it were enabled by default.
* | Help: Document variables CMAKE_APPBUNDLE_PATH and CMAKE_FRAMEWORK_PATHBrad King2014-03-101-0/+2
|/
* project: Manage VERSION variablesBrad King2014-01-291-0/+10
| | | | | | | | | | | | | | | | Teach the project() command to set variables {PROJECT,<PROJECT-NAME>}_VERSION{,_MAJOR,_MINOR,_PATCH,_TWEAK} holding the project version number and its components. Add project() command option "VERSION" to specify the version explicitly, and default to the empty string when it is not given. Since this clears variables when no VERSION is given, this may change behavior for existing projects that set the version variables themselves prior to calling project(). Add policy CMP0048 for compatibility. Suggested-by: Alex Neundorf <neundorf@kde.org>
* Help: Format project command and variable documentationBrad King2014-01-291-0/+1
| | | | Also add document for CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE variable.
* Help: Document CMAKE_OSX_* variablesBrad King2014-01-161-0/+3
| | | | | | | | | | Add documentation entries for variables CMAKE_OSX_ARCHITECTURES CMAKE_OSX_DEPLOYMENT_TARGET CMAKE_OSX_SYSROOT Explain what each does and when/how they should be set.
* Merge topic 'optional-install'Brad King2014-01-091-0/+1
|\ | | | | | | | | be0458c InstallRules: added new variable to disable generation of install rules
| * InstallRules: added new variable to disable generation of install rulesNils Gladitz2014-01-081-0/+1
| | | | | | | | | | | | The boolean variable CMAKE_SKIP_INSTALL_RULES allows disabling generation of install rules for projects which don't want them.
* | OS X: Add CMP0042 to enable MACOSX_RPATH by defaultClinton Stimpson2014-01-021-0/+1
|/ | | | | Also adding documentation for CMAKE_MACOSX_RPATH, and improving documentation for MACOSX_RPATH.
* Merge topic 'cleanup-build-commands'Brad King2013-12-051-0/+3
|\ | | | | | | | | | | e420124 CMakeDetermineCompilerId: Use CMAKE_VS_(DEVENV|MSBUILD|MSDEV)_COMMAND 0c55729 VS: Add CMAKE_VS_(DEVENV|MSBUILD|MSDEV)_COMMAND variables
| * VS: Add CMAKE_VS_(DEVENV|MSBUILD|MSDEV)_COMMAND variablesBrad King2013-12-041-0/+3
| | | | | | | | | | | | | | | | Since commit 5f5c92b9 (VS: Add internal APIs to find MSBuild, devenv/VCExpress, and msdev, 2013-11-13) the VS generators have known how to lookup the locations of their build tools directly. Expose this information to CMake language code by defining new variables to hold the paths to these tools.
* | Merge topic 'cmake-toolchains-manual'Brad King2013-12-031-1/+7
|\ \ | | | | | | | | | | | | | | | | | | c45b5ce Help: Add cmake-toolchains.7 manual 3e3f8b4 Help: Document the CMAKE_FIND_ROOT_PATH* variables. 531c108 Help: Document the CMAKE_TOOLCHAIN_FILE.
| * | Help: Document the CMAKE_FIND_ROOT_PATH* variables.Stephen Kelly2013-11-271-1/+6
| | | | | | | | | | | | | | | Add a replacement template for the variables, and link to them from the documentation for the find_* commands.
| * | Help: Document the CMAKE_TOOLCHAIN_FILE.Stephen Kelly2013-11-271-0/+1
| | | | | | | | | | | | Link to the new docs from existing references to the variable.
* | | Help: Document CMAKE_PDB_OUTPUT_DIRECTORY_<CONFIG> variableBrad King2013-12-021-0/+1
|/ /
* | Ninja: job pool support for compiling and linkingPeter Kümmel2013-11-251-0/+2
| | | | | | | | | | Could be tested by setting the environment variable NINJA_STATUS=[%r]
* | Introduce CMAKE_STAGING_PREFIX variable.Stephen Kelly2013-11-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This variable can be useful in cross-compiling contexts where the sysroot is read-only or where the sysroot should otherwise remain pristine. If the new CMAKE_STAGING_PREFIX variable is set, it is used instead of CMAKE_INSTALL_PREFIX when generating the installation rules in cmake_install.cmake. This way, the CMAKE_INSTALL_PREFIX variable always refers to the installation prefix on the target device, regardless of whether host==target. If any -rpath paths passed to the linker contain the CMAKE_STAGING_PREFIX, the matching path fragments are replaced with the CMAKE_INSTALL_PREFIX. Matching paths in the -rpath-link are not transformed. The cross-prefix usr-move workaround is assumed not to require extension regarding CMAKE_STAGING_PREFIX. The staging area is a single prefix, so there is no scope for cross-prefix symlinks. The CMAKE_INSTALL_PREFIX is still used to determine the workaround path, and that variable remains the relevant one even if CMAKE_STAGING_PREFIX is used. If the generated export files are deployed to the target, the workaround will still be in place, and still be employed if required.
* | Add CMAKE_SYSROOT variable to set --sysroot when cross compiling.Stephen Kelly2013-11-191-0/+1
| | | | | | | | | | | | | | | | | | | | 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.
* | Allow toolchain files to specify an external toolchain.Stephen Kelly2013-11-191-0/+1
| | | | | | | | | | | | | | | | | | Clang can compile code, but uses the gcc tools for other tasks such as linking. The -gcc-toolchain option can be used for that, but generalize so that other compilers can be treated the same. If such a location is specified, use it as a hint for finding the binutils executables.
* | Add compiler target compile options.Stephen Kelly2013-11-191-0/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | For clang, this allows passing -target <triple> to the compiler, and for qcc, -V<arch> using toolchain files containing something like set(triple arm-linux-gnueabihf) set(CMAKE_C_COMPILER "/usr/bin/clang") set(CMAKE_C_COMPILER_TARGET ${triple}) set(CMAKE_CXX_COMPILER "/usr/bin/clang++") set(CMAKE_CXX_COMPILER_TARGET ${triple}) or set(arch gcc_ntoarmv7le) set(CMAKE_C_COMPILER /opt/qnx650/host/linux/x86/usr/bin/qcc) set(CMAKE_C_COMPILER_TARGET ${arch}) set(CMAKE_CXX_COMPILER /opt/qnx650/host/linux/x86/usr/bin/QCC) set(CMAKE_CXX_COMPILER_TARGET ${arch}) Both clang and qcc are inherently cross compiler( driver)s. When cross-compiling with clang, use the CMAKE_${lang}_COMPILER_TARGET as the _CMAKE_TOOLCHAIN_PREFIX to find the appropriate binutils. When cross-compiling with QNX qcc, use the CMAKE_${lang}_COMPILER_TARGET to set the appropriate _CMAKE_TOOLCHAIN_PREFIX.
* Add missing documentation for include dirs related variables. (#12611)Stephen Kelly2013-11-021-0/+2
| | | | | Document CMAKE_INCLUDE_DIRECTORIES_BEFORE and CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE.
* Help: Limit reference manual toctree depth to 1Brad King2013-11-011-0/+12
| | | | | | Add a :maxdepth: option to all toctree directives to limit their depth to 1. We do not want subheadings from individual documents to pollute the already large lists of CMake Domain objects.
* Merge topic 'add-CMAKE_FIND_NO_INSTALL_PREFIX'Brad King2013-11-011-0/+1
|\ | | | | | | | | fe057ab Allow disabling adding the install prefix to the prefix search path.
| * Allow disabling adding the install prefix to the prefix search path.Stephen Kelly2013-10-311-0/+1
| | | | | | | | | | | | | | In certain scenarios, it is preferable to keep a 'dirty' install prefix than to clear it, and to expect that content will not be found there. Add a CMAKE_FIND_NO_INSTALL_PREFIX variable that can be set to disable searching the install prefix.