summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* VS: Add a variable to report the Visual Studio version build numberBrad King2022-12-072-0/+11
| | | | | | | | | | VS 2017 and above come with a Visual Studio Installer tool that tracks four-component Visual Studio version numbers. We already detect the VS version number because it is needed to make some generation decisions. Provide the number to projects in a `CMAKE_VS_VERSION_BUILD_NUMBER` variable so they can use it similarly. Fixes: #24230
* Merge topic 'vs-dotnet-sdk-xaml-resx'Brad King2022-12-071-0/+2
|\ | | | | | | | | | | | | c445dd2797 VS: Add Xaml and Resx files to .Net SDK style projects Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7991
| * VS: Add Xaml and Resx files to .Net SDK style projectsQuentin Berthet2022-12-061-0/+2
| | | | | | | | | | | | Improve parity with classic MSBuild projects. Fixes: #23415
* | Merge topic 'clang-tidy-export-fixes-dir'Brad King2022-12-0711-2/+152
|\ \ | | | | | | | | | | | | | | | | | | | | | 232467eb1c clang-tidy: add <LANG>_CLANG_TIDY_EXPORT_FIXES_DIR property Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7982
| * | clang-tidy: add <LANG>_CLANG_TIDY_EXPORT_FIXES_DIR propertyKyle Edwards2022-12-0611-2/+152
| |/ | | | | | | Fixes: #21362
* | Merge topic 'cmstrcat-any-rvalue-arg'Brad King2022-12-072-46/+61
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 1cca051470 cmStrCat(): allow any argument to be an rvalue string Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !7993
| * | cmStrCat(): allow any argument to be an rvalue stringKyle Edwards2022-12-062-46/+61
| | | | | | | | | | | | | | | This will allow us to re-use any rvalue allocation that is available, not just from the first argument.
* | | Merge topic 'stop_parsing_after_first_script_arg'Brad King2022-12-071-0/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 08aa516880 cmake: Stop parsing after `--` when detecting script mode Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7992
| * | | cmake: Stop parsing after `--` when detecting script modeRobert Maynard2022-12-061-0/+5
| |/ / | | | | | | | | | Fixes #24220
* | | CMake Nightly Date StampKitware Robot2022-12-071-1/+1
|/ /
* | Merge topic 'automoc-case-change'Brad King2022-12-061-0/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | 318ec07560 automoc: Remove existing output file before invoking moc Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7985
| * | automoc: Remove existing output file before invoking mocJason Haslam2022-12-051-0/+3
| | | | | | | | | | | | | | | Remove the output file before invoking moc in case the case of source file has changed on disk. Recent versions of clang warn when the case of the include directive (which does change) doesn't match the case of the file on disk.
* | | Merge topic 'cxx-module-map-clang'Brad King2022-12-064-2/+44
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2c558cfd1b gitlab-ci: add CI jobs for Clang with C++20 modules abd42e9cfc ci: add a Docker container for clang support of C++20 modules 51093f3002 Clang-FindBinUtils: also find `clang-scan-deps` 0b333de923 ci: add C++ module rules file for Clang 21b9fb1e8c cmCxxModuleMapper: support the `clang` module map format 9c66224668 cmNinjaTargetGenerator: skip setting `depfile` for `none` scantypes 9123a0991f cmNinjaTargetGenerator: use `.clear()` to empty out some strings Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Cristian Adam <cristian.adam@gmail.com> Merge-request: !7978
| * | | cmCxxModuleMapper: support the `clang` module map formatBen Boeckel2022-12-023-0/+39
| | | |
| * | | cmNinjaTargetGenerator: skip setting `depfile` for `none` scantypesBen Boeckel2022-12-021-0/+3
| | | | | | | | | | | | | | | | | | | | The `clang` mechanism does not support `depfile` discovered dependencies at the moment.
| * | | cmNinjaTargetGenerator: use `.clear()` to empty out some stringsBen Boeckel2022-12-021-2/+2
| | | |
* | | | CMake Nightly Date StampKitware Robot2022-12-061-1/+1
| | | |
* | | | Merge topic 'ArgumentFlags-function-args'Brad King2022-12-053-6/+4
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 466f9b886d cmTargetPropCommandBase::HandleArguments: flags must be OR'able Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7983
| * | | | cmTargetPropCommandBase::HandleArguments: flags must be OR'ableCraig Scott2022-12-033-6/+4
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The flags argument is intended to support multiple flags from the ArgumentFlags enum. Therefore, flags cannot be of enum type, it must be an integral type that allows flags to be OR'ed together. Update the one call site that was erroneously OR'ing multiple values but then casting that to an ArgumentFlags, which could result in passing a technically invalid value. Amends: dd3482f6752d (cmTargetPropCommandBase: Restore ArgumentFlags enum value bool logic, 2022-11-27)
* | | | Merge topic 'find_library-arch-unknown'Brad King2022-12-051-0/+15
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e7f78309e7 find_library: Construct paths by removing 'unknown' from library arch Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7921
| * | | | find_library: Construct paths by removing 'unknown' from library archNemanja Ivanovic2022-12-011-0/+15
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The compiler used for a build sometimes disagrees with the remainder of the toolchain wrt. to the architecture triple. Specifically, Clang will typically put its libraries in `<arch>-unknown-<os>-<env>` but it uses the GCC toolchain on many targets (which often has its libraries in `<arch>-<os>-<env>`). In such cases CMake will acquire the triple from Clang and use it in library search paths for libraries that are provided by the GCC toolchain. This of course fails due to the mismatch. This patch augments the list of search paths with ones that include the architecture triple with any occurrences of 'unknown' removed. Fixes: #24175
* | | | Merge topic 'link-options-cache'Brad King2022-12-051-2/+4
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7c63372c22 cmGeneratorTarget: Fix regression in CUDA device link options Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7981
| * | | | cmGeneratorTarget: Fix regression in CUDA device link optionsBrad King2022-12-021-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit f69d1872db (cmGeneratorTarget: Add caches to some functions, 2022-11-23) we cache the computed link options for a target. Cache the host and device link options separately.
* | | | | CMake Nightly Date StampKitware Robot2022-12-051-1/+1
| |_|_|/ |/| | |
* | | | CMake Nightly Date StampKitware Robot2022-12-041-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2022-12-031-1/+1
| |_|/ |/| |
* | | Merge topic 'file-GET_RUNTIME_DEPENDENCIES-transitive-rpath'Brad King2022-12-021-2/+7
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 136622a2b2 file(GET_RUNTIME_DEPENDENCIES): propagate transitive parent's rpath 4aa3149c67 Tests: Simplify RunCMake.file-GET_RUNTIME_DEPENDENCIES case cleaning Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7968
| * | | file(GET_RUNTIME_DEPENDENCIES): propagate transitive parent's rpathAlex Lapenkou2022-12-021-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes incorrect runtime dependency resolution when the dependency is located in rpaths of a transitive parent. Instead of supplying only the rpaths of the immediate parent, it combines the rpaths of all transitive parents and passes them down. Fixes: #24172
* | | | Merge topic 'cxxmodules-vs'Brad King2022-12-024-8/+51
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 52c21cbbda ci: enable C++20 module testing with the VS 2022 generator 2991e92ea7 cmExperimental: recycle C++20 module support UUID 82833fb3c0 Help/dev/experimental: document C++20 module limitations 388acfd46d Tests/RunCMake/CXXModules: add support for Visual Studio 069a32b03c Tests/RunCMake/CXXModules: split out collation-requiring tests ef03a3a2f5 Tests/RunCMake/CXXModules: factor out generator support detection 736123464f Tests/RunCMake/CXXModules: update `NoDyndepSupport` for VS2019 and older 4a4ce031cd Tests/RunCMake/CXXModules: catch VS circular error message ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7972
| * | | | cmExperimental: recycle C++20 module support UUIDBen Boeckel2022-12-011-1/+1
| | | | | | | | | | | | | | | | | | | | Visual Studio support warrants a new ID.
| * | | | cmVisualStudio10TargetGenerator: write C++ module elementsBen Boeckel2022-12-011-4/+36
| | | | |
| * | | | cmVisualStudio10TargetGenerator: ask the generator for dyndep supportBen Boeckel2022-12-011-1/+2
| | | | |
| * | | | cmGlobalVisualStudioVersionedGenerator: check for C++ module supportBen Boeckel2022-12-011-0/+5
| | | | |
| * | | | cmGlobalVisualStudioVersionedGenerator: support dyndep in VS2022 and upBen Boeckel2022-12-011-0/+5
| | | | |
| * | | | cmGlobalVisualStudio7Generator: make `SupportsCxxModuleDyndep` protectedBen Boeckel2022-12-011-2/+2
| | |_|/ | |/| | | | | | | | | | | | | | The generator target will want to ask this question when determining whether C++ modules are supported or not.
* | | | CMake Nightly Date StampKitware Robot2022-12-021-1/+1
|/ / /
* | | Merge topic 'cxxmodules-collation-logic-refactor'Brad King2022-12-016-581/+732
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f4a17b29d3 cmDyndepCollation: factor out metadata writing for dyndep 2f93a272d0 cmDyndepCollation: factor out parsing dyndep information 3fc2de5c74 cmDyndepCollation: factor out writing C++ module info from Ninja Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !7971
| * | | cmDyndepCollation: factor out metadata writing for dyndepBen Boeckel2022-11-303-313/+355
| | | |
| * | | cmDyndepCollation: factor out parsing dyndep informationBen Boeckel2022-11-304-96/+116
| | | |
| * | | cmDyndepCollation: factor out writing C++ module info from NinjaBen Boeckel2022-11-304-214/+303
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To facilitate other generators being able to build C++20 modules, start pulling out collator logic into a generator-agnostic location. This commit starts by factoring out the information written to the "target depend info" object consumed during the build to handle writing out export and installation scripts expected during those steps.
* | | | Merge topic 'cmstrcat-move-first-arg'Brad King2022-12-013-44/+81
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | beba50bd61 cmStrCat(): optimize when first argument is an rvalue string d6f2a7ab4b cmStringCommand: remove use of cmCatViews() Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !7969
| * | | | cmStrCat(): optimize when first argument is an rvalue stringKyle Edwards2022-11-302-12/+49
| | | | |
| * | | | cmStringCommand: remove use of cmCatViews()Kyle Edwards2022-11-291-32/+32
| |/ / /
* | | | CMake Nightly Date StampKitware Robot2022-12-011-1/+1
| | | |
* | | | Merge topic 'fortran-regression'Brad King2022-11-302-146/+161
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a67da2ef66 Tests/FortranModules: add case for modules after "end interface X" 88fb1980c3 Fortran: Restore support for parsing "end interface X" Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7966
| * | | | Fortran: Restore support for parsing "end interface X"Brad King2022-11-302-146/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 219a9b1e14 (Fortran: Fix suprious dependencies with submodules, 2022-07-30, v3.25.0-rc1~327^2) we accidentally fail to recognize `end interface X`, causing all subsequent modules to be seen as an interface. Fixes: #24203
| * | | | Merge topic 'try_compile-copy-config' into release-3.25Brad King2022-11-231-4/+11
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 80fc564dd7 try_compile: Restore COPY_FILE with CMAKE_TRY_COMPILE_CONFIGURATION Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Acked-by: Robert Maynard <robertjmaynard@gmail.com> Merge-request: !7948
* | \ \ \ \ Merge topic 'vs-clang-tidy-cleanup'Brad King2022-11-3034-528/+531
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 66ca5b6137 clang-tidy: fix `readability-redundant-smartptr-get` lints 32c38a269a clang-tidy: fix `modernize-make-unique` lints 4a960f7186 clang-tidy: fix `performance-for-range-copy` lints fc9b5193e4 clang-tidy: fix `readability-redundant-string-init` lints ccb5ecac0b clang-tidy: fix `readability-const-return-type` lints 2381634e7f clang-tidy: fix `readability-qualified-auto` lints 707172c66e clang-tidy: fix `readability-use-anyofallof` lints 501408338a clang-tidy: fix `readability-isolate-declaration` lints ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7950
| * | | | | | clang-tidy: fix `readability-redundant-smartptr-get` lintsBen Boeckel2022-11-291-1/+1
| | | | | | |
| * | | | | | clang-tidy: fix `modernize-make-unique` lintsBen Boeckel2022-11-291-1/+3
| | | | | | |