summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Help: Document behavior of if(EXISTS,IS_DIRECTORY) for empty pathsscivision2023-01-244-2/+13
| | | | | | | | | | Document and add explicit tests for empty string input: `if(EXISTS "")` and `if(IS_DIRECTORY "")` are always false. This avoids need for users to do extra checks due to CMake non-short-circuit logic as below: if("${p}") if(EXISTS "${p}")
* 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
| * | | | | Modules: Record system inspection steps in the configure logBrad King2023-01-1817-57/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace old-style `file(APPEND .../CMake{Output,Error}.log)` logging with calls to `message(CONFIGURE_LOG)` to record the steps in the `CMakeConfigureLog.yaml` configure log instead. Issue: #23200
| * | | | | Modules: Drop redundant check logging to CMakeOutput.log and CMakeError.logBrad King2023-01-1835-260/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `try_compile` and `try_run` now automatically log checks using them to `CMakeConfigureLog.yaml`. Add `LOG_DESCRIPTION` arguments to some `try_compile` calls to replace the description previously written to the old logs. Issue: #23200
| * | | | | UsewxWidgets: Remove leftover debugging codeBrad King2023-01-181-29/+0
| | | | | |
| * | | | | FindQt4: Drop outdated advice to look at CMakeError.log on failureBrad King2023-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The find module does not write information to the log.
| * | | | | GHS: Drop debugging message from logBrad King2023-01-181-2/+0
| | | | | |
| * | | | | CompileFeatures: Warn explicitly when feature detection binary is not foundBrad King2023-01-181-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | This step is not normally expected to fail, so warn instead of logging it.
| * | | | | CompilerId: Restore logging of failed identificationsBrad King2023-01-181-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes in commit 9c5bd7fe3a (CompilerId: Output errors from all attempts at detection, 2022-08-16, v3.25.0-rc1~290^2) accidentally stopped logging failed compiler identification build output.
| * | | | | Tests: Avoid using CMake{Output,Error}.log filesBrad King2023-01-186-17/+35
| | | | | | | | | | | | | | | | | | | | | | | | These log files will soon go away, so avoid using them in tests.
* | | | | | Merge branch 'release-3.25'Brad King2023-01-191-0/+4
|\ \ \ \ \ \
| * | | | | | CMake 3.25.2v3.25.2Brad King2023-01-192-1/+5
| | | | | | |
* | | | | | | Merge topic 'minor-tutorial-fixes'Brad King2023-01-195-9/+9
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2e3fcf9399 Tutorial: Fix typos in Step 11 exercise and solution f04c548877 Tutorial: Fix exercise in Step 10 to match solution provided in Step 11 566e12c976 Tutorial: Fix destination of link from Step 6 to Step 5 bef0b9eb64 Tutorial: Fix exercise in Step 5 to match solution provided in Step 6 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8087
| * | | | | | | Tutorial: Fix typos in Step 11 exercise and solutionJoshua Perrett2023-01-182-5/+5
| | | | | | | |
| * | | | | | | Tutorial: Fix exercise in Step 10 to match solution provided in Step 11Joshua Perrett2023-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The solution in Step 11 sets POSITION_INDEPENDENT_CODE to `${BUILD_SHARED_LIBS}`, rather than simply to "True" in all cases.
| * | | | | | | Tutorial: Fix destination of link from Step 6 to Step 5Joshua Perrett2023-01-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The link in Step 6 (to "Testing Support") clearly refers to Exercise 2. Fix the location to which the link jumps.
| * | | | | | | Tutorial: Fix exercise in Step 5 to match solution provided in Step 6Joshua Perrett2023-01-181-1/+1
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | If you look at the solution for Step 6, you will see `0.0001` rather than `0.00001` used for the last test case. Fix the typo.
* | | | | | | Merge topic 'FindLibLZMA_quote'Brad King2023-01-191-1/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b4be607701 FindLibLZMA: Fix failure when no include directories are needed Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8088
| * | | | | | | FindLibLZMA: Fix failure when no include directories are neededEven Rouault2023-01-181-1/+1
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Quote the value of `INTERFACE_INCLUDE_DIRECTORIES` to ensure `set_target_properties` gets matching property/value pairs.
* | | | | | | Merge topic 'optimize-target-depends-closure'Brad King2023-01-192-56/+68
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1f16af01f4 cmGlobalNinjaGenerator: Optimize target depends closure Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8079
| * | | | | | | cmGlobalNinjaGenerator: Optimize target depends closurePierre Testart2023-01-172-56/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rewrite AppendTargetDependsClosure method to only cache local target outputs, not including outputs from dependencies. Caching all recursive target outputs causes much time to be spent merging sets that have many elements in common (from targets that are included through multiple dependency paths). It is faster to always iterate over all dependencies instead.
* | | | | | | | Merge topic 'optimize-full-name-function'Brad King2023-01-195-92/+95
|\ \ \ \ \ \ \ \ | |_|_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a525f5f1bf cmGeneratorTarget: Cache full name components Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8033
| * | | | | | | cmGeneratorTarget: Cache full name componentsPierre Testart2023-01-185-92/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cache the result of cmGeneratorTarget::GetFullNameInternalComponents to improve performance.
* | | | | | | | Merge topic 'clang-format-15'Brad King2023-01-191-1/+1
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 53d7d8d4ee Help/dev: Update source code guide to specify clang-format version 15 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8091
| * | | | | | | | Help/dev: Update source code guide to specify clang-format version 15Brad King2023-01-191-1/+1
| | | | | | | | |
* | | | | | | | | Merge topic 'clang-format-15'Brad King2023-01-1967-143/+157
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 33abef7416 Revise C++ coding style using clang-format-15 57221fd56f Empty commit at end of history preceding clang-format-15 style transition 6739d57948 clang-format.bash: update to clang-format-15 9ee57226bc clang-format: Add comments to suppress some formatting Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8086
| * | | | | | | | Revise C++ coding style using clang-format-15Kitware Robot2023-01-1862-136/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Run the `clang-format.bash` script to update all our C and C++ code to a new style defined by `.clang-format`. Use `clang-format` version 15. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit. Fixes: #24315
| * | | | | | | | Empty commit at end of history preceding clang-format-15 style transitionBrad King2023-01-180-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an empty commit that precedes an automatic application of clang-format-15 to update the C++ style of our entire source tree. This may be helpful to rebase a topic branch that was originally based on a commit preceding the transition. One may first rebase the topic on this commit. Then use one of the following approaches. * Rewrite the topic, including this commit, using `git filter-branch` `--tree-filter` with `clang-format.bash` to update the style in every commit. Rebase the revised topic, excluding the rewrite of this commit, on the style transition commit. OR * Add a `.git/info/grafts` entry to change the parent of the first commit in the topic from this commit to the style transition commit. Rewrite the topic using `git filter-branch --tree-filter` with `clang-format.bash` to update the style in every commit. Then remove the graft, which was resolved by the filter. See `git help filter-branch` and `git help repository-layout` for details.
| * | | | | | | | clang-format.bash: update to clang-format-15Brad King2023-01-184-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `.clang-format` configuration needs no changes to make the version 15 format close to what version 6.0 produced before. Issue: #24315
| * | | | | | | | clang-format: Add comments to suppress some formattingBrad King2023-01-181-0/+2
| | |_|/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | Preserve manually-formatted blocks.
* | | | | | | | CMake Nightly Date StampKitware Robot2023-01-191-1/+1
|/ / / / / / /
* | | | | | | Merge topic 'configure-log'Brad King2023-01-1815-1/+178
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a78cba5197 message: Add CONFIGURE_LOG mode to record a message in the configure log 645671d36f Help: Document configure log behavior in try_compile and try_run Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8080