summaryrefslogtreecommitdiffstats
path: root/Help/variable
Commit message (Collapse)AuthorAgeFilesLines
* Help: Document CMAKE_SYSTEM_NAME possible valuesPeter Kokot2024-02-052-0/+85
| | | | Fixes: #21489
* cmake: Allow CMAKE_INSTALL_PREFIX to be set by environment variableSilvio Traversaro2024-01-302-5/+17
| | | | Fixes: #25023
* Add genex support to TEST_LAUNCHER and CROSSCOMPILING_EMULATORBrad King2024-01-292-7/+10
| | | | | | | | Evaluate generator expressions in these properties, as they apply to `add_test`, `add_custom_command`, and `add_custom_target`. The `CMAKE_CROSSCOMPILING_EMULATOR` variable's `try_run` behavior occurs at configure time and so cannot support generator expressions.
* Merge topic 'autogen-exe-per-config'Brad King2024-01-181-0/+10
|\ | | | | | | | | | | | | | | | | 596e84b0d5 NinjaMultiConfig: Update tests for the new dependency change 7c39dabdbc Autogen: AUTO*_EXECUTABLE: add support for per-config values Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8919
| * Autogen: AUTO*_EXECUTABLE: add support for per-config valuesOrkun Tokdemir2024-01-171-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Per-config values were added to `AUTO*_EXECUTABLE`. * Dependency order was refactored for `cmake_autogen` and `cmake_autorcc` to avoid unnecessary rebuilds. * A new parameter was added for `cmake_autogen` and `cmake_autorcc` to specify the config name of the `auto*_executable` to be used. * Add `AUTOGEN_BETTER_GRAPH_MULTI_CONFIG` target property to change the behavior of the dependency graph. * The timestamp target is split into three targets for per-config to avoid redundant `mocs_compilation` builds when `AUTOGEN_BETTER_GRAPH_MULTI_CONFIG` is ON * Per-config `DEP_FILE_RULE_NAME` values were added to `AutogenInfo.json` for `Multi-Config` usage. * Some functions were refactored to avoid code duplication. This commit reimplements fddd0f0443b4ce81d61f15ee1b2f13105967b25a Fixes: #20074
* | Help: Drop incorrect versionadded mark from CMAKE_MATCH_<n>Brad King2024-01-091-2/+0
|/ | | | | | | It was added by commit 496ec6036f (Help: Add Sphinx 'versionadded' directives to each top-level document, 2020-07-06, v3.19.0-rc1~558^2) because the document happened to be added during the 3.9 release series, but the variable has existed since the beginning.
* Merge topic 'cmake-test-launcher'Brad King2023-12-151-0/+16
|\ | | | | | | | | | | | | | | | | | | | | 88863d83d6 fileapi: Add test launcher to codemodel-v2 1ec0372ed4 add_test: Optionally use a launcher for tests running in-project targets 478a5f4e04 fileapi: Make launcher attribute 'arguments' optional b44e38a397 cmFileAPICodemodel: Add missing std::move() Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8963
| * add_test: Optionally use a launcher for tests running in-project targetsRalf Habacker2023-12-131-0/+16
| | | | | | | | | | | | | | Add a `CMAKE_TEST_LAUNCHER` variable and corresponding `TEST_LAUNCHER` target property. Issue: #23672
* | Merge topic 'compute-compiler-linker'Brad King2023-12-091-0/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | df025444b2 LinkerId: Identify AIX and SunOS system linkers c1e48a19a5 LinkerId: Try multiple flags to detect linker id and version 1e42a0cf18 LinkerId: Match linker id and version more robustly Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9057
| * | LinkerId: Identify AIX and SunOS system linkersBrad King2023-12-081-0/+2
| |/ | | | | | | Populate `CMAKE_<LANG>_COMPILER_LINKER_{ID,VERSION}` on these platforms.
* | Merge topic 'LLVMFlang-Fortran-link-enhancements'Brad King2023-12-091-5/+7
|\ \ | | | | | | | | | | | | | | | | | | 0502b345f2 LLVMFlang Fortran: enhance link capabilities Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9025
| * | LLVMFlang Fortran: enhance link capabilitiesMarc Chevrier2023-12-081-5/+7
| |/ | | | | | | | | * Add support for "LINKER:" prefix. * Add support, on Linux, for linker selection through CMAKE_LINKER_TYPE variable.
* | MSVC: Teach find_library to consider Rust's '${name}.dll.lib' conventionDaniel Ching2023-12-081-5/+5
|/ | | | | | | This convention is used by Rust toolchains (rustc/cargo/cargo-c) for the MSVC ABI. Fixes: #25478
* VS: Add support for using Intel oneAPI Fortran compiler in .vfproj filesBrad King2023-11-222-0/+26
| | | | | | | Add a `fortran={ifort,ifx}` field to `CMAKE_GENERATOR_TOOLSET` to specify which Intel Fortran compiler to use. Fixes: #25427
* Merge topic 'ci-fedora-39'Brad King2023-11-201-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cdd741ebf9 Merge branch 'backport-ci-fedora-39' into ci-fedora-39 9283b20659 ci: Suppress CPack/RPM tests pending fix for Fedora 39 18145e8745 ci: Update FindMPI test environment for mpich on Fedora 39 a8be80ccf2 ci: Drop now-unnecessary Clang rules for CXXModules tests 99238b23e9 ci: use Fedora 39 images and environments 57eadec617 ci: update Linux image to Fedora 39 653262162c clang-tidy module: Update to build against LLVM/Clang 17 2cf9a65835 clang-tidy: ignore warnings new in version 17 ... Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8983
| * Merge branch 'backport-ci-fedora-39' into ci-fedora-39Brad King2023-11-171-1/+1
| |\
| | * codespell: Fix typosBrad King2023-11-171-1/+1
| | |
* | | Merge topic 'swift-compilation-mode'Brad King2023-11-191-0/+32
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 0f80101b73 Tests: Update Swift tests to use CMP0157 NEW behavior c1d787e473 Swift: Add abstraction for compilation mode c39384f540 Tests: Simplify RunCMake.Swift conditions to enable use of Swift Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8918
| * | Swift: Add abstraction for compilation modeEvan Wilde2023-11-171-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a `CMAKE_Swift_COMPILATION_MODE` variable and corresponding `Swift_COMPILATION_MODE` target property to control the compilation mode. Select among `wholemodule`, `singlefile`, and `incremental`. Add policy CMP0157 to remove the default `-wmo` flags in favor of the abstract setting. Issue: #25366
* | | Merge topic 'autogen-rsp'Brad King2023-11-171-0/+10
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 232610e60e Autogen: Use new API for limiting autogen command line lengths 7a07887055 Autogen: Add support for response files for moc predef targets 7eb5ab2c63 Autogen: Generalize MaybeWriteMocResponseFile to MaybeWriteResponseFile Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8944
| * | | Autogen: Add support for response files for moc predef targetstophoo2023-11-161-0/+10
| | | | | | | | | | | | | | | | | | | | Add support for response files for moc predef targets and make the limit when to use response files for autogen targets configurable.
* | | | Merge topic 'doc-find_package-advice'Brad King2023-11-152-0/+41
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | d007d304ff Help: FetchContent FIND_PACKAGE_ARGS REQUIRED usually inappropriate 6341267780 Help: Note ways CMAKE_..._FIND_PACKAGE_... vars can break projects Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8951
| * | | Help: Note ways CMAKE_..._FIND_PACKAGE_... vars can break projectsCraig Scott2023-11-072-0/+41
| | | | | | | | | | | | | | | | Issue: #23779
* | | | install(EXPORT): Export find_dependency() callsKyle Edwards2023-11-131-0/+6
| |/ / |/| | | | | | | | | | | | | | Issue: #20511 Co-Authored-by: Brad King <brad.king@kitware.com> Co-Authored-by: Robert Maynard <rmaynard@nvidia.com>
* | | Optionally make `test` target depend on `all`William Sciaroni2023-11-102-0/+21
|/ / | | | | | | Fixes: #8774
* | Link Step: compute effective linker used by the compilerMarc Chevrier2023-10-244-0/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extract the effective linker during the computation of implicit artifacts delivered by the compiler to the linker. Define various variables describing the linker: * CMAKE_<LANG>_COMPILER_LINKER * CMAKE_<LANG>_COMPILER_LINKER_VERSION * CMAKE_<LANG>_COMPILER_LINKER_ID * CMAKE_<LANG>_COMPILER_LINKER_FRONTEND_VARIANT This is complementary to feature introduced by commit 96a953b1ed (Add options to specify linker tool, 2023-09-27). Fixes: #17596, #18209, #25344
* | CMAKE_PROJECT_INCLUDE: Allow to run module filesCristian Le2023-10-185-4/+12
| | | | | | | | Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
* | CMAKE_PROJECT_INCLUDE: Add support for including multiple filesCristian Le2023-10-184-4/+20
| | | | | | | | | | Fixes: #25341 Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
* | Add options to specify linker toolMarc Chevrier2023-10-134-0/+120
|/ | | | | | | | | | | | | | | | | | Offer the capability, through variable `CMAKE_LINKER_TYPE`, as well as the target property `LINKER_TYPE` to specify which linker must be used. The implementation of this capability is specified by variables specific to the language and linker type: `CMAKE_<LANG>_USING_LINKER_<TYPE>`. Some definitions are provided as part of `CMake`. For example, to select the `LLVM` linker rather than the standard one, the type `LLD` should be specified through the variable `CMAKE_LINKER_TYPE`. And, on `Apple`, `Linux` and some environments on `Windows`, the variable `CMAKE_<LANG>_USING_LINKER_LLD` has value `-fuse-ld=lld`. And for `Windows` environments based on `MSVC`, where the linker is used directly, the tool `lld-link.exe` will be used rather than `link.exe`. Fixes: #19174, #24254, #24990
* cmExperimental: remove the flag for C++ modulesBen Boeckel2023-10-021-6/+1
| | | | | | | All the major compilers now have scheduled releases with support for scanning, so remove the experimental gate. Fixes: #18355
* Merge topic 'misc-cxxmodule-fixes'Brad King2023-09-271-2/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3b632f32fa Tests/CXXModules: forward the default build type 5ab6b09691 Tests/CXXModules: fix multi-config and MSVC details 11b62ef118 Tests/CXXModules: add missing `bmi-only` and compiler id fields 5d9631fbdd Tests/CXXModules: fix key set mismatch error messages 86e7fb72cb Tests/CXXModules: use a less generic name for the config 6b940dc590 Tests/CXXModules: replace the object extension as well 1c9f83c8ec Tests/CXXModules: fix error detection propagation 7a4c02cb38 cmGlobalGenerator: factor out messaging for CMP0037 ... Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com> Merge-request: !8834
| * Help/CMAKE_EXPORT_COMPILE_COMMANDS: mention the `output` fieldBen Boeckel2023-09-251-2/+4
| | | | | | | | | | Added in 887a8874c3 (EXPORT_COMPILE_COMMANDS: add `output` field, 2022-10-28) via !7844. Sync the docs with this addition.
* | Merge topic 'hip-nvidia'Brad King2023-09-262-31/+47
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fd982eec10 HIP: Add tests for special NVIDIA values of CMAKE_HIP_ARCHITECTURES 8c8b3f1bfa HIP: Fix support for -DCMAKE_HIP_ARCHITECTURES=native with NVCC b3e92775ab HIP: Add CMAKE_HIP_HOST_COMPILER when compiler is NVCC e43918b4ca HIP: Fix linking mixed-lang binary with CXX compiler and Makefile generators 4794505122 HIP: Do not require hip-lang package for NVIDIA platform 09d759dc7f HIP: Simplify exclusion of AMD device runtime with NVIDIA GPUs 2a60663670 HIP: Simplify CMAKE_GENERATOR references for determining compiler 8124950f6c CUDA: Generalize CMAKE_{CUDA => <LANG>}_HOST_COMPILER variable docs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8836
| * | HIP: Add CMAKE_HIP_HOST_COMPILER when compiler is NVCCBrad King2023-09-251-5/+8
| | | | | | | | | | | | Also add `HIPHOSTCXX` environment variable.
| * | CUDA: Generalize CMAKE_{CUDA => <LANG>}_HOST_COMPILER variable docsBrad King2023-09-252-31/+44
| | |
* | | OrangeC: Add support for OrangeC compilerDavid Lindauer2023-09-251-0/+2
|/ / | | | | | | | | | | | | Add compiler information modules. Update the test suite. Fixes: #25032 Co-authored-by: Brad King <brad.king@kitware.com>
* | CrayClang: Add support for this compilerRyan Krattiger2023-09-221-0/+1
|/ | | | | | Add `CrayClang` compiler ID for newer Cray compilers. Fixes: #25102
* Merge topic 'hip-nvidia'Brad King2023-09-222-3/+29
|\ | | | | | | | | | | | | | | | | | | | | | | | | 6546aa2a2a ci: Add HIP job using CUDA on NVIDIA GPUs 18158bf81c HIP: Add support for NVIDIA GPUs 127b6fa06b HIP: Add CMAKE_HIP_PLATFORM variable to specify GPU platform 90e23f40ee Tests/HIP/WithDefs: Clean up test case 9ebdf3281f Tests/HIP/ArchitectureOff: Cover HIP_ARCHITECTURES initialization cfec29196e ci: Add CUDA 11.8 to HIP 5.5 image 26470eb987 ci: Put HIP GPU platform in CMake_TEST_HIP Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8817
| * HIP: Add support for NVIDIA GPUsBrad King2023-09-211-1/+4
| | | | | | | | | | | | Add support for using the CUDA Toolkit's NVCC to compile HIP code. Fixes: #25143
| * HIP: Add CMAKE_HIP_PLATFORM variable to specify GPU platformBrad King2023-09-212-3/+26
| | | | | | | | | | For now, require the value to be `amd`, since that is the only platform we currently support.
* | Help: Clarify requirements for find_package to use lib{64,32,x32} pathsBrad King2023-09-201-2/+2
|/ | | | Issue: #25157
* MinGW: Search for packages in standard MSYSTEM environment prefixesBrad King2023-09-131-0/+6
| | | | | | | | | | | | | | | | MSYS2 and similar MinGW/MSYS distributions define development environments with a `MSYSTEM` environment variable. Each such environment has a documented installation prefix for its packages, often provided by a `MSYSTEM_PREFIX` environment variable. Since commit 84a25fc263 (cmake_host_system_information: Add MSYSTEM_PREFIX query, 2023-09-08) we can look up this prefix. Add `$MSYSTEM_PREFIX/local` and `$MSYSTEM_PREFIX` to our system search prefixes when targeting MinGW under `MSYSTEM` environments. This is their equivalent to `/usr/local` and `/usr`, which we search by default on UNIX systems. Issue: #24216
* Xcode: reject legacy buildsystem for Xcode 14Gregor Jasny2023-08-311-1/+2
| | | | | | | | | | | With Xcode 14 support for the Legacy Build System has been removed and the BuildSystemType in the WorkspaceSettings is ignored. If CMake still generates projects targeted to the Lecacy Build System the build preparation phase will likely fail because Xcode for example misses any declared outputs from script invocations. This is a hard to debug problem and CMake should reject the invalid configuration instead.
* Help:ENV: note escaping needed for special charactersscivision2023-08-171-0/+11
|
* Merge branch 'backport-vs-sdk-selection' into vs-sdk-selectionBrad King2023-08-101-1/+5
|\
| * VS: Teach CMAKE_GENERATOR_PLATFORM to support Windows 8.1 SDK selectionBrad King2023-08-101-0/+4
| | | | | | | | | | | | | | Honor an explicit `version=8.1` field value regardless of the Windows target version. Issue: #25170
| * VS: Teach CMAKE_GENERATOR_PLATFORM to use Windows 10 SDKs for older versionsBrad King2023-08-101-1/+1
| | | | | | | | | | | | | | Honor an explicit `version=` field selecting a Windows 10 SDK regardless of the Windows target version. Issue: #25170
* | Merge topic 'doc-fixups-release-3.27'Craig Scott2023-08-072-6/+9
|\ \ | |/ | | | | | | | | | | | | | | | | 78e7ea598d cmLocalGenerator: Fix trivial spelling error in code comment 1285fe27ff Help: Improve formatting and fix wording for ENABLE_EXPORTS 91336d061c Help: Improve formatting and cross-references for DEPENDS_EXPLICIT_ONLY 03208d9e18 Help: Fix indenting within TARGET_RUNTIME_DLLS genex docs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8688
| * Help: Improve formatting and fix wording for ENABLE_EXPORTSCraig Scott2023-08-061-3/+4
| |
| * Help: Improve formatting and cross-references for DEPENDS_EXPLICIT_ONLYCraig Scott2023-08-041-3/+5
| |