summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* CMake Nightly Date StampKitware Robot2022-12-291-1/+1
|
* CMake Nightly Date StampKitware Robot2022-12-281-1/+1
|
* CMake Nightly Date StampKitware Robot2022-12-271-1/+1
|
* CMake Nightly Date StampKitware Robot2022-12-261-1/+1
|
* CMake Nightly Date StampKitware Robot2022-12-251-1/+1
|
* CMake Nightly Date StampKitware Robot2022-12-241-1/+1
|
* Merge topic 'useswig-docs'Marc Chevrier2022-12-231-15/+47
|\ | | | | | | | | | | | | 87778d2da5 Help: Enhance UseSWIG module documentation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8013
| * Help: Enhance UseSWIG module documentationFeRD (Frank Dana)2022-12-221-15/+47
| | | | | | | | | | | | | | | | * Add section headings * Add TOC (HTML only) * Move `swig_link_libraries()` to "Deprecated commands" section at end of docs, document as deprecated in favor of `target_link_libraries()` in all cases.
* | CMake Nightly Date StampKitware Robot2022-12-231-1/+1
|/
* Merge topic 'STATIC_LIBRARY_OPTIONS-property-fix-genex-expension'Marc Chevrier2022-12-221-7/+4
|\ | | | | | | | | | | | | | | 74638c47ff STATIC_LIBRARY_OPTIONS: ensure correct expension of list inside a genex Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8038
| * STATIC_LIBRARY_OPTIONS: ensure correct expension of list inside a genexMarc Chevrier2022-12-201-7/+4
| | | | | | | | Fixes: #24258
* | CMake Nightly Date StampKitware Robot2022-12-221-1/+1
| |
* | CMake Nightly Date StampKitware Robot2022-12-211-1/+1
|/
* CMake Nightly Date StampKitware Robot2022-12-201-1/+1
|
* Merge branch 'release-3.25'Craig Scott2022-12-190-0/+0
|\
| * Merge topic 'doc-SYSTEM' into release-3.25Craig Scott2022-12-199-64/+82
| |\ | | | | | | | | | | | | | | | | | | dfab263825 Help: Clarify and update SYSTEM-related docs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8027
* | \ Merge topic 'doc-SYSTEM'Craig Scott2022-12-199-64/+82
|\ \ \ | | |/ | |/| | | | | | | | | | | | | dfab263825 Help: Clarify and update SYSTEM-related docs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8027
| * | Help: Clarify and update SYSTEM-related docsCraig Scott2022-12-179-64/+82
| | |
* | | Merge branch 'release-3.25'Craig Scott2022-12-190-0/+0
|\ \ \ | | |/ | |/|
| * | Merge topic 'code-comment-typos' into release-3.25Craig Scott2022-12-192-2/+2
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | a817948423 Code comments: Fix trivial typos Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8030
* | \ \ Merge topic 'code-comment-typos'Craig Scott2022-12-192-2/+2
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | a817948423 Code comments: Fix trivial typos Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8030
| * | | Code comments: Fix trivial typosCraig Scott2022-12-172-2/+2
| | |/ | |/|
* | | Merge topic 'copyright-year'Brad King2022-12-191-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9715d3acb7 Copyright.txt: Update year range to end in 2023 Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8034
| * | | Copyright.txt: Update year range to end in 2023Brad King2022-12-191-1/+1
|/ / /
* | | Merge topic 'fileapi-configureLog'Brad King2022-12-1921-7/+297
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | d811d86fd7 FileAPI: Add "configureLog" object kind Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8029
| * | | FileAPI: Add "configureLog" object kindBrad King2022-12-1721-7/+297
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide clients with a way to get a known set of configure log event versions. Issue: #23200
* | | | CMake Nightly Date StampKitware Robot2022-12-191-1/+1
| | | |
* | | | Merge branch 'release-3.25'Marc Chevrier2022-12-180-0/+0
|\ \ \ \ | | |_|/ | |/| |
| * | | Merge topic 'doc-updates' into release-3.25Marc Chevrier2022-12-181-11/+11
| |\ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | 22d36aa0f8 Help: string(JSON): avoid duplicate labels Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8028
* | | | Merge topic 'doc-updates'Marc Chevrier2022-12-181-11/+11
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | 22d36aa0f8 Help: string(JSON): avoid duplicate labels Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8028
| * | | Help: string(JSON): avoid duplicate labelsMarc Chevrier2022-12-171-11/+11
| |/ /
* | | CMake Nightly Date StampKitware Robot2022-12-181-1/+1
| |/ |/|
* | Merge topic 'cxxmodules-clang-update'Brad King2022-12-1715-19/+17
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 5dc17d0a7a gitlab-ci: update to new Clang CI image for C++ modules e84fcbcb0b cxxmodules: support new round of Clang patches 5e35913382 ci: update `llvm` snapshot to newest patch revisions Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8019
| * | gitlab-ci: update to new Clang CI image for C++ modulesBen Boeckel2022-12-151-1/+1
| | |
| * | cxxmodules: support new round of Clang patchesBen Boeckel2022-12-1513-17/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These patches now support the `-MF` output, so remove the `none` support added just for the old patchset which did not use it. Also update the flag name to `-fmodule-output=`. Due to the new Clang module mapper flag, use a new experimental support UUID as well.
| * | ci: update `llvm` snapshot to newest patch revisionsBen Boeckel2022-12-151-1/+1
| | |
* | | Merge topic 'FindHDF5-C-with-only-CXX'Brad King2022-12-171-0/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 14c46fb16a FindHDF5: Find C component with only CXX compiler Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8015
| * | | FindHDF5: Find C component with only CXX compilerChristoph Junghans2022-12-141-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | For CXX-only projects it is sometimes useful to detect the C component even with just a CXX compiler. Fixes: #24241
* | | | Merge topic 'cmake-gui-search-invalid-regex'Brad King2022-12-176-18/+56
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cb00fe0892 cmake-gui: do not set search filter if regex is invalid Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: Igor Kushnir <igorkuo@gmail.com> Merge-request: !8018
| * | | | cmake-gui: do not set search filter if regex is invalidKyle Edwards2022-12-166-18/+56
| | |/ / | |/| | | | | | | | | | Fixes: #24248
* | | | Merge topic 'configure-log'Brad King2022-12-1720-79/+995
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6c40e0b25e ConfigureLog: Version individual events instead of the whole log 048a02d5bb ConfigureLog: Log try_compile and try_run checks 746c776caf ConfigureLog: Add infrastructure for structured configure event logging e8b8d82cbf Tests: Generalize RunCMake expectation component names 8d29a0bda6 cmTryRunCommand: Factor out stdout/stderr capture conditions fdda4095a3 cmCoreTryCompile: Return more semantic information from compile step Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8017
| * | | | ConfigureLog: Version individual events instead of the whole logBrad King2022-12-168-65/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to support multiple log versions without buffering the entire log, move versioning to the level of individual events. Multiple versions of an event may then be logged consecutively. Issue: #23200
| * | | | ConfigureLog: Log try_compile and try_run checksMatthew Woehlke2022-12-1612-15/+441
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add configure log events for `try_compile` and `try_run` results. Issue: #23200
| * | | | ConfigureLog: Add infrastructure for structured configure event loggingMatthew Woehlke2022-12-169-5/+442
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add infrastructure for a "configure log". Use YAML for a balance of machine- and human-readability to records details of configure-time events in a structured format. Teach the RunCMake test framework to support matching the configure log. Issue: #23200
| * | | | Tests: Generalize RunCMake expectation component namesMatthew Woehlke2022-12-141-31/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not assume all the component names start in "std". Co-authored-by: Brad King <brad.king@kitware.com>
| * | | | cmTryRunCommand: Factor out stdout/stderr capture conditionsBrad King2022-12-141-14/+8
| | | | |
| * | | | cmCoreTryCompile: Return more semantic information from compile stepBrad King2022-12-143-30/+39
| |/ / / | | | | | | | | | | | | | | | | | | | | Update the `TryCompileCode` signature to allow callers to distinguish between administrative failures and a compilation failure. Return results in a structure to which more information can be added later.
* | | | Merge branch 'release-3.25'Craig Scott2022-12-170-0/+0
|\ \ \ \ | | |_|/ | |/| |
| * | | Merge topic 'doc-updates' into release-3.25Craig Scott2022-12-171-6/+7
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2ee845c0a5 Help: Add version information for SYSTEM option of add_subdirectory Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8025