summaryrefslogtreecommitdiffstats
path: root/Help/manual/cmake-variables.7.rst
Commit message (Collapse)AuthorAgeFilesLines
* Add a BUILD_RPATH target property specifying build-tree RPATH entriesRuslan Baratov2016-10-031-0/+1
| | | | | | Users may need to add custom `RPATH` entries to be able to run binaries from their build tree without setting `LD_LIBRARY_PATH`. Provide a way to do this that does not affect the install-tree `RPATH`.
* Merge topic 'codelite-organize-by-target'Brad King2016-09-271-0/+1
|\ | | | | | | | | cbe48879 CodeLite: Optionally use targets to create (sub)project files
| * CodeLite: Optionally use targets to create (sub)project filesMinze Zwerver2016-09-261-0/+1
| | | | | | | | | | | | The basic codelite generator creates .project files based on the `project()` stanza. Add a `CMAKE_CODELITE_USE_TARGETS` option to use the targets instead.
* | Xcode: Add option to set Swift language versionBrad King2016-09-261-0/+1
|/ | | | | | | | | | Create a new CMAKE_Swift_LANGUAGE_VERSION variable to specify the SWIFT_VERSION attribute in a generated Xcode project. Ideally this would be a `<LANG>_STANDARD` property but since Swift support is very minimal we should reserve that property for more complete treatment later. Issue: #16326
* find_package: Optionally sort globbed directories in a meaningful orderPierluigi Taddei2016-09-151-0/+2
| | | | | | | | | | | | Add `CMAKE_FIND_PACKAGE_SORT_{ORDER,DIRECTION}` variables to specify sort order and direction. When multiple package with the same name have been found in the same location sorting option can be used to force a specific version to be loaded (e.g. libA_1.12.0 instead of libA_1.1.0). Currently sorting by NAME and by NATURAL order have been implemented. Natural ordering makes use of the `strverscmp(3)` ordering.
* Help: Clarify documentation of CMAKE_COMPILER_IS_GNU{CC,CXX,G77}Brad King2016-09-141-1/+3
| | | | Closes: #16308
* Document XCODE variableRuslan Baratov2016-08-311-0/+1
|
* Android: Add `ANDROID` variable to indicate the targetBrad King2016-08-231-0/+1
| | | | | Allow projects to use `if(ANDROID)` to condition their Android-specific code paths.
* Help: Document cross compiling for AndroidBrad King2016-08-231-0/+8
| | | | | | CMake now supports cross compiling for Android using the NDK or a standalone toolchain. Document the associated variables and how how to write toolchain files for Android.
* Honor CMAKE_*_LINKER_FLAGS[_<CONFIG>]_INIT set in toolchain filesBrad King2016-07-141-0/+8
| | | | | | | | | | | | | | Document these variables. Change our convention for setting these variables from: set(CMAKE_EXE_LINKER_FLAGS_INIT "...") to string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " ...") so that any value previously set by a toolchain file will be used.
* Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain filesBrad King2016-07-061-0/+5
| | | | | | | | | | | | | | | | | | | | | | | Document these variables. Change our convention for setting these variables from: set(CMAKE_C_FLAGS_INIT "...") to string(APPEND CMAKE_C_FLAGS_INIT " ...") so that any value previously set by a toolchain file will be used. Automate the conversion with: sed -i 's/set *(\(CMAKE_\(C\|CXX\|Fortran\|RC\|ASM\|${[^}]\+}\)_FLAGS\(_[^_]\+\)\?_INIT \+"\)/string(APPEND \1 /' \ Modules/Compiler/*.cmake Modules/Platform/*.cmake and follow up with some manual fixes (e.g. to cases that already meant to append). Also revert the automated changes to contexts that are not protected from running multiple times.
* Add options to run `ldd -u -r` as a "link-what-you-use" toolBill Hoffman2016-06-171-0/+1
| | | | | | | Create a LINK_WHAT_YOU_USE target property and corresponding CMAKE_LINK_WHAT_YOU_USE variable to enable this behavior. Extend link commands by running `ldd -u -r` to detect shared libraries that are linked but not needed.
* try_compile: Optionally forward custom platform variables to test projectBrad King2016-05-251-0/+1
| | | | | | | | | Add a `CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable to specify a list of custom variables to be forwarded to a `try_compile` test project. This will be useful for platform information modules or toolchain files to forward some platform-specific set of variables from the host project (perhaps set in its cache) to the test project so that it can build the same way.
* Add a variable to specify language-wide system include directoriesBrad King2016-05-251-0/+1
| | | | | | | Create a `CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable to specify system include directories for for `<LANG>` compiler command lines. This plays a role for include directories as the existing `CMAKE_<LANG>_STANDARD_LIBRARIES` variable does for link libraries.
* Help: Document CMAKE_<LANG>_STANDARD_LIBRARIES variableBrad King2016-05-241-1/+1
| | | | | Also drop documentation of non-existent CMAKE_STANDARD_LIBRARIES variable.
* Ninja: Support embedding of CMake as subninja projectNicolas Despres2016-05-171-0/+1
| | | | | | Add a `CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable. When it is set, CMake generates a `build.ninja` file suitable for embedding into another ninja project potentially generated by an alien generator.
* Merge topic 'AddDocumentationForEclipseVariables'Brad King2016-04-181-0/+4
|\ | | | | | | | | 7b3a1069 Help: Document Eclipse-generator related variables (#15827)
| * Help: Document Eclipse-generator related variables (#15827)Alex Neundorf2016-04-181-0/+4
| |
* | Solaris: Add a CMAKE_HOST_SOLARIS variable (#16061)Stafen Teleman2016-04-151-0/+1
|/
* Add options to run clang-tidy with the compilerDaniel Pfeifer2016-04-131-0/+1
| | | | | | Create a <LANG>_CLANG_TIDY target property (initialized by a CMAKE_<LANG>_CLANG_TIDY variable) to specify a clang-tidy command line to be run along with the compiler.
* cmCTestGIT: add an option to initialize submodules on updateBen Boeckel2016-04-011-0/+1
| | | | | | | Currently, CTest will not initialize any submodules within the already checked out source tree. Add an option to do so. The use case for not doing so is that some submodules may not be necessary for the current test and keeping network usage down may be important.
* Makefile: Optionally scan only source and build trees for dependenciesAttila Krasznahorkay2016-03-221-0/+1
| | | | Add a `CMAKE_DEPENDS_IN_PROJECT_ONLY` variable to activate the behavior.
* Drop Visual Studio 6 generatorBrad King2016-03-091-1/+0
| | | | | | This generator has been deprecated since CMake 3.3. Remove it. Update documentation, modules, and tests to drop content specific to this generator.
* try_compile: Add option to control type of targetBrad King2016-02-191-0/+1
| | | | | | | Create a `CMAKE_TRY_COMPILE_TARGET_TYPE` option to specify use of `add_library(... STATIC ...)` for the generated test project. This will be useful for cross-compiling toolchains that cannot link a binary without custom flags or scripts.
* Help: Document the CMAKE_EXPORT_COMPILE_COMMANDS variableSebastian Schuberth2016-01-151-0/+1
|
* Xcode: Add support for combined install on iOSRuslan Baratov2015-12-101-0/+1
| | | | | | | | | | | | This patch solves the problem of installing both: Device and Simulator libraries on iOS. Before only one of them was installed. If the IOS_INSTALL_COMBINED property is set on a target, a special install hook will be activated which builds the corresponding target and combines both at the install location. The original patch was contributed by Ruslan Baratov, and polished by Gregor Jasny.
* VS: Add support for selecting the Windows 10 SDK (#15670)Gilles Khouzam2015-10-021-0/+1
| | | | | | | | | Teach the VS 2015 generator to produce a WindowsTargetPlatformVersion value. Use the CMAKE_SYSTEM_VERSION to specify the version and if not set choose a default based on available SDKs. Activate this behavior when targeting Windows 10. Co-Author: Brad King <brad.king@kitware.com>
* Merge topic 'ctest-variable-docs'Brad King2015-09-221-0/+16
|\ | | | | | | | | | | | | | | 4da5a227 Help: document CTEST_CUSTOM_* variables 70c0cc72 ctest_read_custom_files: mention that ctest does this automatically 71c67e83 CTEST_CUSTOM_*: treat variables as lists 936a95d4 CTestCoverageCollectGCOV: replace tabulators
| * Help: document CTEST_CUSTOM_* variablesBen Boeckel2015-09-221-0/+16
| |
* | CMP0065: Restrict the use of CMAKE_SHARED_LIBRARY_LINK_<LANG>_FLAGSChuck Atkins2015-09-211-0/+1
|/ | | | | This new policy restricts the addition of the shared library link flags to executables only when the ENABLE_EXPORTS property is set to True.
* CTest: Document and test custom output size settingsBrad King2015-09-181-0/+2
| | | | | | | | | Add documentation and tests for the existing CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE CTest variables.
* Allow LINK_SEARCH_{START,END}_STATIC props to have default values.Chuck Atkins2015-08-131-0/+2
| | | | | | Use the CMAKE_LINK_SEARCH_START_STATIC and CMAKE_LINK_SEARCH_END_STATIC variables to initialize the LINK_SEARCH_START_STATIC and LINK_SEARCH_END_STATIC target properties respectively.
* Merge topic 'ctest-change-id'Brad King2015-07-171-0/+1
|\ | | | | | | | | 601ff0ec CTest: Optionally add a ChangeId attribute on XML Site tags
| * CTest: Optionally add a ChangeId attribute on XML Site tagsZack Galbreath2015-07-171-0/+1
| | | | | | | | | | | | | | Add variable CTEST_CHANGE_ID to configure the setting. This allows CTest clients to give CDash information about what change is being tested so that CDash can take actions to report the results (e.g. to a pull request page).
* | VS: Add more Nsight Tegra generator Android property settingsMikhail Filimonov2015-07-141-0/+14
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend the Nsight Tegra project generator to add bunch of properties with the backing variables to fine-tune the generated projects. Add target properties that map to all "Configuration" PropertyGroups for each configuration: * ANDROID_ARCH * ANDROID_STL_TYPE Add target properties that map to the AntBuild section of vcxproj files: * ANDROID_ANT_ADDITIONAL_OPTIONS * ANDROID_ASSETS_DIRECTORIES * ANDROID_JAR_DEPENDENCIES * ANDROID_JAR_DIRECTORIES * ANDROID_JAVA_SOURCE_DIR * ANDROID_NATIVE_LIB_DEPENDENCIES * ANDROID_NATIVE_LIB_DIRECTORIES * ANDROID_PROCESS_MAX * ANDROID_PROGUARD * ANDROID_PROGUARD_CONFIG_PATH * ANDROID_SECURE_PROPS_PATH * ANDROID_SKIP_ANT_STEP Reviewed-by: Dmitry Polyanitsa <dpolyanitsa@nvidia.com>
* Merge topic 'auto_export_dll_symbols'Brad King2015-07-081-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | 8f86407c Windows: Optionally generate DLL module definition files automatically 069aa93b bindexplib: Add support for "/bigobj" format objects 61bbbdcf bindexplib: Fix treatment of some symbols de70c922 bindexplib: Teach DumpFile to return errors 8ea69dfe bindexplib: Build source as part of CMakeLib 2963cb2a bindexplib: Wrap long lines 4ff09893 bindexplib: Drop code that CMake does not need 7de8276c bindexplib: Add copyright/license notice block 65086ad7 bindexplib: Import original implementation from CERN
| * Windows: Optionally generate DLL module definition files automaticallyBill Hoffman2015-07-061-0/+1
| | | | | | | | | | | | | | Create target property WINDOWS_EXPORT_ALL_SYMBOLS to automatically generate a module definition file from MS-compatible .obj files and give it to the linker in order to export all symbols from the .dll part of a SHARED library.
* | ctest: Optionally avoid starting tests that may exceed a given CPU loadBetsy McPhail2015-06-301-0/+1
|/ | | | | | | | | | | | | | Add a TestLoad setting to CTest that can be set via a new --test-load command-line option, CTEST_TEST_LOAD variable, or TEST_LOAD option to the ctest_test command. Teach cmCTestMultiProcessHandler to measure the CPU load and avoid starting tests that may take more than the spare load currently available. The expression <current_load> + <test_processors> <= <max-load> must be true to start a new test. Co-Author: Zack Galbreath <zack.galbreath@kitware.com>
* Merge topic 'compiler-launcher'Brad King2015-06-151-0/+1
|\ | | | | | | | | 698f7597 Add options to launch the compiler through tools like ccache or distcc
| * Add options to launch the compiler through tools like ccache or distccBill Hoffman2015-06-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Create a <LANG>_COMPILER_LAUNCHER target property (initialized by a CMAKE_<LANG>_COMPILER_LAUNCHER variable) to specify a compiler launcher tool. This will supersede the CMAKE_<LANG>_COMPILER_ARG1 approach to using such tools. The old approach set CMAKE_<LANG>_COMPILER to the launcher tool while the new approach leaves this variable set to the actual compiler. Implement this property for Makefile and Ninja generators. It cannot be implemented for VS or Xcode generators as the IDE build tools offer no such hooks.
* | Help: Document CMAKE_FIND_APPBUNDLE and CMAKE_FIND_FRAMEWORKBrad King2015-06-081-0/+2
| | | | | | | | | | Add dedicated documents for these and link to them instead of duplicating their documentation in every find command.
* | Help: Document CMAKE_SYSTEM_APPBUNDLE_PATH variableBrad King2015-06-081-0/+1
| |
* | Help: Document CMAKE_SYSTEM_FRAMEWORK_PATH variableBrad King2015-06-081-0/+1
|/
* Add options to run include-what-you-use with the compilerBrad King2015-05-191-0/+1
| | | | | | Create a <LANG>_INCLUDE_WHAT_YOU_USE target property (initialized by a CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE variable) to specify an IWYU command line to be run along with the compiler.
* VS: Add option to put INSTALL target in .sln default buildRobert Goulet2015-05-061-0/+1
| | | | | Add a CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD variable to control this behavior.
* Help: Revise buildsystem artifact file type documentation (#15539)Brad King2015-04-291-0/+3
| | | | | | Add sections to the cmake-buildsystem(7) manual and cross-reference them with relevant variables and target properties. This avoids duplicating the information and allows it to be more detailed.
* Add a 'Green Hills MULTI' generator on WindowsGeoff Viola2015-04-201-0/+5
| | | | | | | | | | | | Green Hills MULTI is an IDE for embedded real-time systems. The IDE's product page can be found here: http://www.ghs.com/products/MULTI_IDE.html It supports cross compiling on ARM, Intel x86, and other architectures with various operating systems. The IDE exists on Linux and Windows host systems, but CMake will currently only generate the project files on Windows host systems.
* Properties: Add CROSSCOMPILING_EMULATOR target property.Matt McCormick2015-04-071-0/+1
| | | | | | | Add CROSSCOMPILING_EMULATOR target property for executables. This is used by subsequent patches to run exectuables created for the target system when crosscompiling. The property is initialized by the CMAKE_CROSSCOMPILING_EMULATOR variable when defined.
* Help: add missing MINGW variable documentationBen Boeckel2015-01-211-0/+1
|
* Merge topic 'doc-CMAKE_FIND_PACKAGE_NAME'Brad King2015-01-121-0/+1
|\ | | | | | | | | | | 8435088d Help: Document CMAKE_FIND_PACKAGE_NAME variable b8abd258 find_package: Document CMAKE_FIND_PACKAGE_NAME variable