summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'doc-rpath-features'Brad King2023-01-2511-13/+86
|\ | | | | | | | | | | | | | | | | | | | | | | 434be1256e Help: improve docs for INSTALL_NAME_DIR f784c21567 Help: mention CMAKE_SKIP_RPATH in the RPATH docs 66ad61ba79 Help: improve documentation for BUILD_RPATH 25e7791dc1 Help: improve docs for INSTALL_RPATH 099292f123 Help: improve docs for rpath-related variables Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8073
| * Help: improve docs for INSTALL_NAME_DIRAlexander Neundorf2023-01-203-2/+13
| | | | | | | | | | | | | | INSTALL_NAME_DIR now mentions BUILD_WITH_INSTALL_NAME_DIR. The INSTALL_NAME_DIR, INSTALL_RPATH and $<TARGET_RUNTIME_DLLS:tgt> documentation now mention the other two platforms respectively, to make it easier for developers who are not familiar with all three platforms,
| * Help: mention CMAKE_SKIP_RPATH in the RPATH docsAlexander Neundorf2023-01-202-0/+5
| | | | | | | | | | CMAKE_SKIP_RPATH is now mentioned in the docs for the BUILD_RPATH and INSTALL_RPATH target properties.
| * Help: improve documentation for BUILD_RPATHAlexander Neundorf2023-01-202-5/+24
| | | | | | | | | | | | Now all properties related to BUILD_RPATH are linked from the documentation for BUILD_RPATH. SKIP_BUILD_RPATH now also refers to BUILD_RPATH.
| * Help: improve docs for INSTALL_RPATHAlexander Neundorf2023-01-192-4/+19
| | | | | | | | | | | | | | The documentation for INSTALL_RPATH now links to all (or at least most) properties (and variables) related to the install rpath, which should make it easier for users to find out how RPATH works. Also change "True" to "TRUE"
| * Help: improve docs for rpath-related variablesAlexander Neundorf2023-01-195-2/+25
| | | | | | | | | | | | Now all RPATH-related variables link to the related RPATH-related variables. Some also link to the INSTALL_RPATH and BUILD_RPATH target properties.
* | Merge topic 'watcom-refactor-std-includes'Brad King2023-01-256-61/+38
|\ \ | | | | | | | | | | | | | | | | | | 10623a51a0 OpenWatcom: Refactor population of standard include directories Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8113
| * | OpenWatcom: Refactor population of standard include directoriesJiri Malak2023-01-246-61/+38
| | | | | | | | | | | | | | | Add setup of system include directories to language related macro to remove extra lines for C and CXX. System include directories are always same for both languages (they are defined per platform).
* | | Merge topic 'swiftmodule-dependency-tracking'Brad King2023-01-256-25/+101
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1730d208b5 Add incremental Swift static lib build test bf3a8ef6d5 Ninja: Swift: Add dependency edge to swiftmodule file d0b469b7e0 Ninja: NFC: refactor swift module name computations Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8084
| * | | Add incremental Swift static lib build testEvan Wilde2023-01-215-0/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure that we're actually trying to rebuild libB when the public interface for libA changes. Without handling the swiftmodule dependency edge correctly, we would only get a linker error because libA didn't have the symbol that libB depended on. With the fix, we get a proper compiler error because ninja knows to rebuild the intermediate libB when the public interface of libA changes. This is more actionable.
| * | | Ninja: Swift: Add dependency edge to swiftmodule fileEvan Wilde2023-01-211-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Swiftmodules act like headers for Swift, but are generated by the compiler while building the module. Unlike headerfiles in a pure C/C++ world, where the compiler generates the appropriate depfile. We don't have We're already adding the swiftmodule as an output from swift-linked targets, but aren't using that on inputs. This dependency edge is most important for static libraries in incremental builds. Suppose we have two static libraries, A, and B, and an executable E. B "links" against A, and E links against B. In a C/C++ environment, the library link dependency edge will run from E to both A and B, but there won't be an edge from B to A. If A is changed, the only way this should affect B is if the public interface changes, in which case, the headers will also change. The dep file contains the header link, so Ninja will rebuild B when appropriate. With Swift in an incremental build, B sees the order-dependency on A, but A already exists. If A is changed in a way that changes the public interface, the swiftmodule will change, but since we don't track it, we don't rebuild B, resulting in the final executable to fail to link.
| * | | Ninja: NFC: refactor swift module name computationsEvan Wilde2023-01-211-25/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to handle determining the swiftmodule name to add to the ninja dependency graph, we'll need to be able to compute the swiftmodule name for the dependency target, not just the current target. This patch refactors the computation of the module name out of inaccessible lambdas and into static functions that can compute the swiftmodule name from the generator and the target.
* | | | CMake Nightly Date StampKitware Robot2023-01-251-1/+1
| |/ / |/| |
* | | 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