summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Tests/RunCMake/CXXModules: add tests which don't export C++ module propertiesBen Boeckel2023-01-2717-14/+251
| | | | | | | The existing `export-interfaces-{build,install}` tests were actually doing this, but make those test exporting the interfaces and copy the existing tests to tests which explicitly test the "no properties" condition.
* Merge topic 'gen-pkg-example'Brad King2023-01-241-5/+7
|\ | | | | | | | | | | | | bfa61ccf64 Help: Modernize PackageConfigHelpers example Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8111
| * Help: Modernize PackageConfigHelpers exampleFeRD (Frank Dana)2023-01-231-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The example shown in the module documentation for CMakePackageConfigHelpers was showing its age, by: 1. Hardcoding directory prefixes (`etc/`, `lib/`, etc.) instead of using GNUInstallDirs 2. Handwaving `set()` commands (incorrectly!) as: `set(VAR dir/ ... CACHE )` which should, at the very least, be: `set(VAR dir/ CACHE ... )` 3. Installing CMake configuration files to `lib/Foo/cmake/`, when current practice favors `${CMAKE_INSTALL_LIBDIR}/cmake/Foo/` This updated example addresses all of those issues.
* | Merge topic 'wrap-ninja-multi'Brad King2023-01-241-5/+17
|\ \ | | | | | | | | | | | | | | | | | | d59ab71779 Help: Wrap long examples in Ninja Multi-Config doc Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8103
| * | Help: Wrap long examples in Ninja Multi-Config docFeRD (Frank Dana)2023-01-201-5/+17
| | |
* | | Merge branch 'release-3.25'Brad King2023-01-240-0/+0
|\ \ \
| * \ \ Merge topic 'FindPython-CMP0007-NEW' into release-3.25Brad King2023-01-241-0/+2
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 486b3c0850 FindPython: Policy CMP0007 must be set to NEW Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8104
* | \ \ \ Merge topic 'FindPython-CMP0007-NEW'Brad King2023-01-241-0/+2
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | 486b3c0850 FindPython: Policy CMP0007 must be set to NEW Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8104
| * | | | FindPython: Policy CMP0007 must be set to NEWMarc Chevrier2023-01-211-0/+2
| | | | | | | | | | | | | | | | | | | | Fixes: #24306
* | | | | Merge branch 'release-3.25'Brad King2023-01-240-0/+0
|\ \ \ \ \ | | |/ / / | |/| | |
| * | | | Merge topic 'cxxmodules-ninja-1.11' into release-3.25Brad King2023-01-244-12/+18
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0512428ad9 Ninja: require Ninja 1.11 for C++ module support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8099
* | \ \ \ \ Merge topic 'cxxmodules-ninja-1.11'Brad King2023-01-244-12/+19
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8d4e510a44 Merge branch 'backport-cxxmodules-ninja-1.11' into cxxmodules-ninja-1.11 7abddcab08 Ninja: require Ninja 1.11 for C++ module support 0512428ad9 Ninja: require Ninja 1.11 for C++ module support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8099
| * \ \ \ \ \ Merge branch 'backport-cxxmodules-ninja-1.11' into cxxmodules-ninja-1.11Brad King2023-01-230-0/+0
| |\ \ \ \ \ \ | | | |/ / / / | | |/| | | |
| | * | | | | Ninja: require Ninja 1.11 for C++ module supportBen Boeckel2023-01-234-12/+18
| | | |/ / / | | |/| | | | | | | | | | | | | | | | | | | | | See: https://gitlab.kitware.com/cmake/cmake/-/issues/18355#note_1296721 See: https://github.com/ninja-build/ninja/pull/1937
| * | | | | Ninja: require Ninja 1.11 for C++ module supportBen Boeckel2023-01-234-12/+19
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | See: https://gitlab.kitware.com/cmake/cmake/-/issues/18355#note_1296721 See: https://github.com/ninja-build/ninja/pull/1937
* | | | | CMake Nightly Date StampKitware Robot2023-01-241-1/+1
|/ / / /
* | | | Merge topic 'improve_supported_language_docs'Brad King2023-01-233-31/+31
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b787be2714 Help: Update supported languages in project and enable_language Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8101
| * | | | Help: Update supported languages in project and enable_languageRobert Maynard2023-01-203-31/+31
| | | | |
* | | | | Merge topic 'genex-CONFIG-validate-all'Brad King2023-01-234-4/+31
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 910ada1a88 Genex: $<CONFIG:> syntax of all entries checked 42e417ad12 GeneratorExpression Tests: Remove duplicate test entry Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8082
| * | | | | Genex: $<CONFIG:> syntax of all entries checkedRobert Maynard2023-01-203-3/+31
| | | | | | | | | | | | | | | | | | | | | | | | Fixes #24327
| * | | | | GeneratorExpression Tests: Remove duplicate test entryRobert Maynard2023-01-171-1/+0
| | | | | |
* | | | | | Merge topic 'find_cudatoolkit_add_nvrtc_static'Brad King2023-01-232-1/+18
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2a94c762ed FindCUDAToolkit: Add support for CUDA::nvrtc_static Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8100
| * | | | | | FindCUDAToolkit: Add support for CUDA::nvrtc_staticRobert Maynard2023-01-202-1/+18
| | |/ / / / | |/| | | |
* | | | | | Merge topic 'vs-BuildInParallel'Brad King2023-01-234-3/+20
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 33c15ae2b9 VS: Build custom commands concurrently when possible Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8093
| * | | | | | VS: Build custom commands concurrently when possibleIvan Zinkevich2023-01-234-3/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable the `BuildInParallel` setting in VS project files when supported. Fixes: #18405
* | | | | | | Merge branch 'release-3.25'Brad King2023-01-230-0/+0
|\ \ \ \ \ \ \ | | |_|_|_|/ / | |/| | | | |
| * | | | | | Merge topic 'FindOpenSP-pkg-config-hints' into release-3.25Brad King2023-01-231-34/+39
| |\ \ \ \ \ \ | | |_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3b1c19f00a FindOpenSP: Use pkg-config only as hints for main code path Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8097
* | | | | | | Merge topic 'FindOpenSP-pkg-config-hints'Brad King2023-01-231-34/+39
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3b1c19f00a FindOpenSP: Use pkg-config only as hints for main code path Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8097
| * | | | | | FindOpenSP: Use pkg-config only as hints for main code pathKefu Chai2023-01-201-34/+39
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | before this change, pkg_check_modules(.. IMPORTED_TARGET GLOBAL) is used for creating an imported target from which another imported interface library named OpenSP::OpenSP is created. but pkg-config does not account for all of CMake's other search behavior controls, such as CMAKE_FIND_ROOT_PATH. neither does it export the full path with OpenSP_LIBRARY. after this change, the paths found by pkg-config are only used as hints for the find_*() commands. and some cleanup are included: * be QUIET when calling find_package(PkgConfig ..) and pkg_check_modules(..) as they are distracting from user's point of view. what matters is the output of find_package_handle_standard_args() * parse the version and check for the existance of symbol as long as header path is found. because they only use header files. * define OpenSP_LIBRARY as long as it exists. this just follows the convention. as OpenSP_FOUND implies a valid OpenSP_LIBRARY. * wrap and intent multi-line command calls for better readability * check OpenSP_FOUND before adding OpenSP::OpenSP, it's more idiomatic. Fixes: #24313 Signed-off-by: Kefu Chai <tchaikov@gmail.com>
* | | | | | Merge topic 'try_compile-verbose'Brad King2023-01-235-2/+26
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | faa950a155 try_compile: Run native build tool with verbose output Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8095
| * | | | | | try_compile: Run native build tool with verbose outputBrad King2023-01-205-2/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the compiler command lines visible in the configure log. Issue: #23200
* | | | | | | CMake Nightly Date StampKitware Robot2023-01-231-1/+1
| | | | | | |
* | | | | | | CMake Nightly Date StampKitware Robot2023-01-221-1/+1
| | | | | | |
* | | | | | | CMake Nightly Date StampKitware Robot2023-01-211-1/+1
| |_|_|_|_|/ |/| | | | |
* | | | | | Merge topic 'ci-docker-nvidia'Brad King2023-01-205-5/+5
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ebd81d0e12 ci: rebase nvidia-derived docker images on tags we control Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Robert Maynard <robertjmaynard@gmail.com> Merge-request: !8102
| * | | | | ci: rebase nvidia-derived docker images on tags we controlBrad King2023-01-205-5/+5
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to NVIDIA's container image support policy [1], they will remove tags for older images over time. In order to preserve our ability to rebuild CI images based on them in the future, base them on tags we control. [1] https://gitlab.com/nvidia/container-images/cuda/blob/85fbd45b92/doc/support-policy.md
* | | | | Merge topic 'configure-log'Brad King2023-01-208-27/+0
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 317aac14ef cmake: Stop pointing users at logs on configure errors eae1398d09 cmake --system-information: Stop dumping CMake{Output,Error}.log Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8094
| * | | | | cmake: Stop pointing users at logs on configure errorsBrad King2023-01-197-25/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 18e1bfbb3c (cmake: On configure error suggest looking at CMake*.log files, 2013-07-09, v2.8.12~210^2), when configuring a project fails, we print `See also .../CMake{Output,Error}.log` near the end of the output. This was intended to help users find failures in system and compiler inspection checks, but for normal project errors the messages may be misleading. The logs may contain incidental errors that are part of normal operation and do not need to be addressed by the user. Since commit f6ed2585e5 (Modules: Record system inspection steps in the configure log, 2023-01-16), CMake's builtin modules no longer log information to the old-style `CMake{Output,Error}.log` files anyway, so stop mentioning them. Fixes: #22131 Issue: #23200
| * | | | | cmake --system-information: Stop dumping CMake{Output,Error}.logBrad King2023-01-191-2/+0
| |/ / / / | | | | | | | | | | | | | | | CMake no longer logs system information to these files.
* | | | | Merge topic 'ninja-swift-exported-executables'Brad King2023-01-207-11/+33
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4165eb3d0b Ninja: Emit swiftmodule from executable with exports Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8048
| * | | | | Ninja: Emit swiftmodule from executable with exportsEvan Wilde2023-01-197-11/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for tracking the swiftmodules for executables exporting symbols. This fixes a bug in the earlier implementation around emitting the swiftmodule. Previously, the code would use `CMAKE_EXE_EXPORTS_Swift_FLAG` to inject the `-emit-module`, and module path information into the `CMAKE_Swift_LINK_EXECUTABLE` rule. Because Swift skips the build step and only runs during the link phase, these flags were injected in `cmNinjaNormalTargetGenerator::ComputeLinkCmd` instead of `cmLocalGenerator::GetTargetFlags` where it is done normally. Unfortunately, injecting in `ComputeLinkCmd` didn't do anything because we have a `linkCmd` so `ComputeLinkCmd` exits early, before the EXE_EXPORT flags get added to the link command. Instead of playing with that flag, CMake checks `CMAKE_Swift_LINK_EXECUTABLE_WITH_EXPORTS` and uses that as the link rule if it exists and falls back on `CMAKE_Swift_LINK_EXECUTABLE`. I've defined that variable in terms of `CMAKE_Swift_LINK_EXECUTABLE` with the necessary additional flags for emitting the swift module instead. This has the same end effect as the desired behavior, but simplifies things a bit. Since we're generating the swiftmodule for executables with exports, I've also updated the dependency graph to include the swiftmodule as an output in the build dependency graph if the executable has exports. Tests updated: - RunCMake/NoWorkToDo: Ensure that the build graph does not result in unnecessary rebuilds with exporting executables. - SwiftOnly: Ensure that we can consume functions defined in the executable by a library getting linked into said executable.
* | | | | | Merge topic 'cygwin-no-legacy-win32'Brad King2023-01-205-60/+5
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a429e4b9b1 CYGWIN: Drop pre-2.8.4 compatibility mode CMAKE_LEGACY_CYGWIN_WIN32 Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8096
| * | | | | | CYGWIN: Drop pre-2.8.4 compatibility mode CMAKE_LEGACY_CYGWIN_WIN32Brad King2023-01-195-60/+5
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prior to CMake 2.8.4 (released in 2011), we defined `WIN32` on CYGWIN. That was removed, but an undocumented `CMAKE_LEGACY_CYGWIN_WIN32` compatibility mode was left to help projects transition. Only projects that do not require at least 2.8.4 as their minimum CMake version need the compatibility mode. We've also long warned about projects that do not require at least 2.8.12, so it is now reasonable to remove the legacy compatibility mode.
* | | | | | Merge topic 'print-configure-generate-time'Brad King2023-01-2010-20/+37
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5f0c5ec49b cmake: Print configure/generate time Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !8083
| * | | | | | cmake: Print configure/generate timeKyle Edwards2023-01-1910-20/+37
| | |_|_|_|/ | |/| | | |
* | | | | | Merge topic 'update-kwsys'Brad King2023-01-2015-26/+26
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dae189fb09 Merge branch 'upstream-KWSys' into update-kwsys 4ac17cff42 KWSys 2023-01-19 (be3c441e) Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8092
| * \ \ \ \ \ Merge branch 'upstream-KWSys' into update-kwsysBrad King2023-01-1915-26/+26
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # By KWSys Upstream * upstream-KWSys: KWSys 2023-01-19 (be3c441e)
| | * | | | | | KWSys 2023-01-19 (be3c441e)KWSys Upstream2023-01-1915-26/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Code extracted from: https://gitlab.kitware.com/utils/kwsys.git at commit be3c441e46e091a7606565221bb5ae7c9a9b684f (master). Upstream Shortlog ----------------- Brad King (4): 6c66ba9e clang-format.bash: Use generic clang-format attribute 82ae3f28 clang-format.bash: update to clang-format-15 a61d0ad6 Empty commit at end of history preceding clang-format-15 style transition 3cb35bf3 CONTRIBUTING: Update documented clang-format version to 15 Kitware Robot (1): f685d817 Revise C++ coding style using clang-format-15 Sean McBride (1): d6c6fd82 testDirectory: Rename functions to fix -Wreserved-identifier warnings
* | | | | | | | CMake Nightly Date StampKitware Robot2023-01-201-1/+1
| |_|_|/ / / / |/| | | | | |
* | | | | | | Merge topic 'configure-log'Brad King2023-01-1957-371/+203
|\ \ \ \ \ \ \ | |_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f6ed2585e5 Modules: Record system inspection steps in the configure log 0f688386ea Modules: Drop redundant check logging to CMakeOutput.log and CMakeError.log ecc26f98eb UsewxWidgets: Remove leftover debugging code 874c2e1198 FindQt4: Drop outdated advice to look at CMakeError.log on failure a80465bcad GHS: Drop debugging message from log 9199449687 CompileFeatures: Warn explicitly when feature detection binary is not found 24ccc8c3c9 CompilerId: Restore logging of failed identifications 95976514f6 Tests: Avoid using CMake{Output,Error}.log files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8089