summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* list(): rely on cmList classMarc Chevrier2023-04-082-841/+315
| | | | Fixes: #24549
* Merge topic 'cmList-class'Brad King2023-04-065-29/+2214
|\ | | | | | | | | | | | | | | 72d116ee68 GenEx: list oriented genexes use cmList class 9f60f19ee9 cmList: CMake list implementation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8375
| * GenEx: list oriented genexes use cmList classMarc Chevrier2023-04-051-28/+17
| | | | | | | | Fixes: #24654
| * cmList: CMake list implementationMarc Chevrier2023-04-054-1/+2197
| | | | | | | | Fixes: #24548
* | Merge topic 'vs-sdk-selection'Brad King2023-04-069-26/+259
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8ecb645934 VS: Select Windows SDK matching WindowsSDKVersion env var f90c8ab54e VS: Select latest available Windows SDK version by default b512c53d43 VS: Add support for setting WindowsTargetPlatformVersion to 10.0 2f3d945f83 VS: Add CMAKE_GENERATOR_PLATFORM field to control Windows SDK selection f0a67b6291 VS: Parse comma-separated fields from CMAKE_GENERATOR_PLATFORM e259063b0a VS: Defer Windows SDK selection until CMAKE_GENERATOR_PLATFORM is known 8499374c6a VS: Simplify logic to require SDK for Windows Store 1c8d4b4bf1 Tests: Teach RunCMake_TEST_FILTER to account for test variant description Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8389
| * | VS: Select Windows SDK matching WindowsSDKVersion env varBrad King2023-04-051-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In an environment established by `vcvarsall.bat` or similar, this environment variable may be set to select a Windows SDK version. If the VS generator is used in such an environment, use that SDK. This is similar to how `CMAKE_GENERATOR_INSTANCE` defaults using a `VS##0COMNTOOLS` environment variable. Fixes: #17992
| * | VS: Select latest available Windows SDK version by defaultBrad King2023-04-052-4/+10
| | | | | | | | | | | | | | | | | | | | | Add policy `CMP0149` to stop preferring SDKs exactly matching `CMAKE_SYSTEM_VERSION` over the latest SDK. Fixes: #16202
| * | VS: Add support for setting WindowsTargetPlatformVersion to 10.0Brad King2023-04-051-0/+10
| | | | | | | | | | | | | | | | | | | | | VS 2019 and above support this value to select a SDK version automatically. Fixes: #21403
| * | VS: Add CMAKE_GENERATOR_PLATFORM field to control Windows SDK selectionBrad King2023-04-055-3/+92
| | | | | | | | | | | | | | | | | | | | | Add a `version=` field to explicitly control the SDK version selection without relying on `CMAKE_SYSTEM_VERSION`. Fixes: #16713
| * | VS: Parse comma-separated fields from CMAKE_GENERATOR_PLATFORMBrad King2023-04-052-1/+88
| | |
| * | VS: Defer Windows SDK selection until CMAKE_GENERATOR_PLATFORM is knownBrad King2023-04-058-8/+37
| | | | | | | | | | | | Prepare to teach `CMAKE_GENERATOR_PLATFORM` to affect SDK selection.
| * | VS: Simplify logic to require SDK for Windows StoreBrad King2023-04-053-12/+14
| | | | | | | | | | | | | | | | | | Revise logic added by commit d7e863c1c1 (VS: Do not fail on Windows 10 with VS 2015 if no SDK is available, 2016-01-21, v3.4.3~1^2) to make the requirement decision locally and simplify signatures.
* | | CMake Nightly Date StampKitware Robot2023-04-061-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2023-04-051-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2023-04-041-1/+1
|/ /
* | CMake Nightly Date StampKitware Robot2023-04-031-1/+1
| |
* | CMake Nightly Date StampKitware Robot2023-04-021-1/+1
|/
* CMake Nightly Date StampKitware Robot2023-04-011-1/+1
|
* Merge topic 'automoc-cxx-standard'Brad King2023-03-315-26/+28
|\ | | | | | | | | | | | | | | 429a452705 Autogen: Add target's C++ standard to moc_predef.h 21f812e57c Autogen: Split creation and setup of custom targets into separate steps Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8359
| * Autogen: Add target's C++ standard to moc_predef.hOrkun Tokdemir2023-03-301-1/+16
| | | | | | | | | | | | | | | | | | Generate `moc_predef.h` using the same C++ standard level that will be used to compile the target so that the compiler's predefined macros can be more accurately recovered. Fixes: #24624 Qt-Issue: https://bugreports.qt.io/browse/QTBUG-110847
| * Autogen: Split creation and setup of custom targets into separate stepsOrkun Tokdemir2023-03-244-25/+12
| | | | | | | | | | | | | | Defer the setup step until after compile features have been finalized on normal targets. Later this will help pass the information to Qt tools. Issue: #24624
* | Merge topic 'remove-FindPythonInterp-FindPythonLibs'Brad King2023-03-313-0/+7
|\ \ | | | | | | | | | | | | | | | | | | | | | a4c5b91f80 FindPython{Interp,Libs}: Add policy to remove these modules Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !8380
| * | FindPython{Interp,Libs}: Add policy to remove these modulesBrad King2023-03-303-0/+7
| | | | | | | | | | | | | | | | | | The `FindPythonInterp` and `FindPythonLibs` modules have been deprecated since CMake 3.12. Add a policy to pretend they do not exist in order to encourage projects to port to `FindPython` or `FindPython{2,3}`.
* | | Merge topic 'cuda-arch-nvcc-options-file'Brad King2023-03-311-2/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6546da83b3 CUDA: Fix CUDA architecture flags for nvcc response files Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Robert Maynard <robertjmaynard@gmail.com> Merge-request: !8379
| * | | CUDA: Fix CUDA architecture flags for nvcc response filesBrad King2023-03-301-2/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | `nvcc --options-file` does not parse unquoted arguments in a response file correctly if they contain `[]`. Quote the `--generate-code=` flags we add for CUDA architectures. Fixes: #24657
* | | Merge topic 'presets-add-trace'Brad King2023-03-318-46/+181
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8e579b0228 presets: Add trace options to configure presets Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8254
| * | | presets: Add trace options to configure presetsArtin Alavi2023-03-308-46/+181
| |/ / | | | | | | | | | | | | | | | Add JSON schema version 7 to support them. Fixes: #22543
* | | Merge topic 'strip-macos'Brad King2023-03-314-9/+51
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 689616785f macOS: Do not pass Apple-specific flags to llvm-strip Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8374
| * | | macOS: Do not pass Apple-specific flags to llvm-stripBrad King2023-03-294-9/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit cf82300a63 (BinUtils: Clarify search logic and make it more consistent, 2021-05-27, v3.21.0-rc1~119^2~2) we prefer `llvm-strip` over `strip` when using Clang. However, since commit 20291e8e72 (install: Fix stripping on macOS, 2019-01-30, v3.14.0-rc1~31^2) on macOS we add flags `-u -r`, needed by Apple's `strip` for executables, but that `llvm-strip` does not need or support. Improve the condition to add Apple-specific flags only when the selected `strip` tool is Apple's. Note that Apple dylibs must be stripped with `-x` with either Apple's `strip` or `llvm-strip`. Fixes: #24601
* | | | CMake Nightly Date StampKitware Robot2023-03-311-1/+1
| |/ / |/| |
* | | Merge topic 'presets-json-errors'Brad King2023-03-3024-942/+1525
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 19305afd8a presets: Improve JSON parser and error messages Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !8290
| * | | presets: Improve JSON parser and error messagesMartin Duffy2023-03-2924-942/+1525
| | | |
* | | | Merge topic 'ninja-performance'Brad King2023-03-304-34/+22
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 426f3295f6 Ninja: Use more efficient data structures to collect outputs Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8371
| * | | | Ninja: Use more efficient data structures to collect outputsNicolas van Kempen2023-03-284-34/+22
| | | | |
* | | | | CMake Nightly Date StampKitware Robot2023-03-301-1/+1
| | | | |
* | | | | Merge topic 'install-namelink-no-rpath'Brad King2023-03-291-4/+6
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9c14f14848 install(TARGETS): Do not apply installation tweaks to NAMELINK files Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8370
| * | | | | install(TARGETS): Do not apply installation tweaks to NAMELINK filesBrad King2023-03-281-4/+6
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These files are symlinks to the real binaries, and we already apply tweaks to those. Previously we generated installation tweak code guarded by a `NOT IS_SYMLINK` condition that is never true. Drop the code altogether. Add a test covering the motivating use case, in which a `POST_BUILD` step modifies the namelink file to not actually be a symlink. Fixes: #24647
* | | | | CMake Nightly Date StampKitware Robot2023-03-291-1/+1
|/ / / /
* | | | Merge topic 'lint-genex'Brad King2023-03-282-7/+73
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 099934e313 Add generator expression support to static code analysis hooks Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8361
| * | | | Add generator expression support to static code analysis hooksStefan Schober2023-03-272-7/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach target properties `<LANG>_CPPCHECK`, `<LANG>_CPPLINT`, `<LANG>_CLANG_TIDY` and `<LANG>_INCLUDE_WHAT_YOU_USE` to accept generator expressions.
* | | | | Merge topic 'mingw-slashes'Brad King2023-03-282-5/+7
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a67cd9c39c Ninja: Restore slash style for MinGW tools when extra languages are enabled Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8368
| * | | | | Ninja: Restore slash style for MinGW tools when extra languages are enabledBrad King2023-03-272-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit f3ca199c9b (cmGlobalNinjaGenerator: Factor out GNU-like command-line detection on Windows, 2023-03-18, v3.26.1~2^2~6), we accidentally "unrecognize" MinGW tools on Windows if a language other than C or CXX is enabled. This causes the wrong slash style to be generated in paths in `build.ninja`. Fixes: #24642
* | | | | | CMake Nightly Date StampKitware Robot2023-03-281-1/+1
| | | | | |
* | | | | | Merge topic 'module-depends-static-lib-cycle'Brad King2023-03-273-2/+15
|\ \ \ \ \ \ | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 01d7860fdb Ninja,Makefile: Restore Fortran module scanning in static library cycle 846baa7c5b cmGlobalGenerator: Factor out helper to check target ordering Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8363
| * | | | | Ninja,Makefile: Restore Fortran module scanning in static library cycleBrad King2023-03-241-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since * commit eed295fd8a (cmGlobalNinjaGenerator: require that dependency info files work, 2023-02-01, v3.26.0-rc1~1^2~1), and * commit 13810dee17 (cmDependsFortran: require that dependency info files work, 2023-02-01, v3.26.0-rc1~1^2), the Ninja and Makefile generators' module dependency scanning requires that scanning results from from linked targets is available before scanning the current target. In the case of a static library cycle, we cannot expect this information from other static libraries in the cycle. Previously we supported cyclic cases at the cost of silently ignoring missing information. We already compute a global order of targets that respects all `add_dependencies`, but may break `target_link_libraries` dependencies that occur in a static library cycle. Use this order to filter the linked targets so we only expect scanning results to be available from those targets that build before the current target. This approach is sufficient to support module dependency scanning in static library cycles as long as module dependencies do not cross between two libraries in the same cycle. Fixes: #24631
| * | | | | cmGlobalGenerator: Factor out helper to check target orderingBrad King2023-03-242-2/+12
| | | | | |
| * | | | | CMake 3.26.1v3.26.1Brad King2023-03-231-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2023-03-271-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2023-03-261-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2023-03-251-1/+1
| | | | | |