summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'release-3.25' into release-3.26Brad King2023-04-040-0/+0
|\
| * Merge branch 'release-3.24' into release-3.25Brad King2023-04-040-0/+0
| |\
| | * Merge branch 'release-3.23' into release-3.24Brad King2023-04-040-0/+0
| | |\
| | | * Merge branch 'swift-xcode-14.3' into release-3.23Brad King2023-04-031-4/+8
| | | |\ | | | | | | | | | | | | | | | Merge-request: !8388
| | * | \ Merge branch 'swift-xcode-14.3' into release-3.24Brad King2023-04-031-4/+8
| | |\ \ \ | | | | |/ | | | |/| | | | | | Merge-request: !8388
| * | | | Merge branch 'swift-xcode-14.3' into release-3.25Brad King2023-04-031-4/+8
| |\ \ \ \ | | | |/ / | | |/| | | | | | | Merge-request: !8388
* | | | | Merge topic 'swift-xcode-14.3' into release-3.26Brad King2023-04-041-4/+8
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | 52dbfefe0d Xcode: Fix detection of Swift compiler location for Xcode 14.3 Merge-request: !8388
| * | | | Xcode: Fix detection of Swift compiler location for Xcode 14.3Brad King2023-04-031-4/+8
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we tried to match output from `xcodebuild` to detect the path to the `swiftc` tool. This approach is used for C and CXX for historical reasons, but is unnecessary for Swift. We know the name of the tool, so we can just ask `xcrun --find swiftc`. Fixes: #24666
* | | | Merge branch 'release-3.25' into release-3.26Brad King2023-04-030-0/+0
|\ \ \ \ | | |/ / | |/| |
| * | | Merge branch 'vs-fortran-try_compile' into release-3.25Brad King2023-03-311-1/+0
| |\ \ \ | | | | | | | | | | | | | | | Merge-request: !8383
* | \ \ \ Merge topic 'vs-fortran-try_compile' into release-3.26Brad King2023-04-031-1/+0
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | 4da50fe3f4 VS: Remove extra try_compile argument in Intel Fortran check Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8383
| * | | | VS: Remove extra try_compile argument in Intel Fortran checkBrad King2023-03-311-1/+0
| |/ / / | | | | | | | | | | | | | | | | | | | | Refactoring in commit d00d8537f6 (Modules: Use new keyword-dispatched try_compile signature, 2022-09-16, v3.25.0-rc1~115^2) accidentally left one of the old signature arguments behind, causing a warning.
* | | | CMake 3.26.2v3.26.2Brad King2023-03-292-4/+4
| | | |
* | | | Merge topic 'swift-old-driver' into release-3.26Brad King2023-03-293-3/+72
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 006e1995eb Swift: Restore compatibility with old C++ driver Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8365
| * | | | Swift: Restore compatibility with old C++ driverYR Chen2023-03-283-3/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `-wmo` flag added by commit 6063428de7 (Swift: Update default build flags, 2022-10-03, v3.26.0-rc1~585^2~1) behaves differently with the old driver. Detect when the old driver is being used, and avoid adding that flag. Fixes: #24641
* | | | | Merge topic 'mingw-slashes' into release-3.26Brad King2023-03-282-5/+7
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a67cd9c39c Ninja: Restore slash style for MinGW tools when extra languages are enabled Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8368
| * | | | | Ninja: Restore slash style for MinGW tools when extra languages are enabledBrad King2023-03-272-5/+7
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit f3ca199c9b (cmGlobalNinjaGenerator: Factor out GNU-like command-line detection on Windows, 2023-03-18, v3.26.1~2^2~6), we accidentally "unrecognize" MinGW tools on Windows if a language other than C or CXX is enabled. This causes the wrong slash style to be generated in paths in `build.ninja`. Fixes: #24642
* | | | | Merge topic 'module-depends-static-lib-cycle' into release-3.26Brad King2023-03-2710-3/+42
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 01d7860fdb Ninja,Makefile: Restore Fortran module scanning in static library cycle 846baa7c5b cmGlobalGenerator: Factor out helper to check target ordering Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8363
| * | | | Ninja,Makefile: Restore Fortran module scanning in static library cycleBrad King2023-03-248-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since * commit eed295fd8a (cmGlobalNinjaGenerator: require that dependency info files work, 2023-02-01, v3.26.0-rc1~1^2~1), and * commit 13810dee17 (cmDependsFortran: require that dependency info files work, 2023-02-01, v3.26.0-rc1~1^2), the Ninja and Makefile generators' module dependency scanning requires that scanning results from from linked targets is available before scanning the current target. In the case of a static library cycle, we cannot expect this information from other static libraries in the cycle. Previously we supported cyclic cases at the cost of silently ignoring missing information. We already compute a global order of targets that respects all `add_dependencies`, but may break `target_link_libraries` dependencies that occur in a static library cycle. Use this order to filter the linked targets so we only expect scanning results to be available from those targets that build before the current target. This approach is sufficient to support module dependency scanning in static library cycles as long as module dependencies do not cross between two libraries in the same cycle. Fixes: #24631
| * | | | cmGlobalGenerator: Factor out helper to check target orderingBrad King2023-03-242-2/+12
|/ / / /
* | | | CMake 3.26.1v3.26.1Brad King2023-03-232-1/+13
| | | |
* | | | Merge topic 'FindHDF5-CXX-without-C' into release-3.26Brad King2023-03-231-38/+28
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a6bb4975ab FindHDF5: Restore parallel HDF5 detection with only CXX enabled Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8355
| * | | | FindHDF5: Restore parallel HDF5 detection with only CXX enabledBrad King2023-03-221-38/+28
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 14c46fb16a (FindHDF5: Find C component with only CXX compiler, 2022-12-13, v3.26.0-rc1~175^2), if CXX is enabled but C is not, the `_HDF5_test_regular_compiler_C` helper writes a `.cpp` source but the `_HDF5_invoke_compiler` still expects a `.c` source. Refactor the logic to select a name for the source file up front, and use it in both helpers. Fixes: #24627 Issue: #24241
* | | | Merge topic 'clang-windows-cxx-modules' into release-3.26Brad King2023-03-218-76/+96
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1b7c26da49 Ninja: Wrap rules using '>' shell redirection with 'cmd /C' on Windows ffd8537acf Clang: Record Clang 16.0 C++ modules flags only for GNU-like front-end 6013227230 cmGlobalNinjaGenerator: Use forward slashes in clang modmap format on Windows d9d74b5e8a cmDyndepCollation: Drop outdated mentions of CXX_MODULE_INTERNAL_PARTITIONS edab56d29a cmLocalNinjaGenerator: De-duplicate condition for using 'cmd /C' on Windows 8ebe3f92b3 cmGlobalNinjaGenerator: Detect GNU-like command-line for dyndep collator f3ca199c9b cmGlobalNinjaGenerator: Factor out GNU-like command-line detection on Windows f79817fcf0 cmCxxModuleMapper: Use value semantics in path conversion callback ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8346
| * | | | Ninja: Wrap rules using '>' shell redirection with 'cmd /C' on WindowsBrad King2023-03-201-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is needed for the clang-scan-deps rule added by commit 0e21e55fc5 (Clang: Record Clang 16.0 C++ modules flags only for GNU-like front-end, 2023-03-16). Fixes: #24611
| * | | | Clang: Record Clang 16.0 C++ modules flags only for GNU-like front-endBrad King2023-03-201-13/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The settings added by commit 3fe8e33f27 (Clang: Record Clang 16.0 flags for our experimental C++ modules support, 2023-03-03, v3.26.0-rc6~6^2) work only for the GNU-like `clang++` front-end, and not for the MSVC-like `clang-cl` on Windows. Also quote the path to `clang-scan-deps` to support spaces in its path. Issue: #24611
| * | | | cmGlobalNinjaGenerator: Use forward slashes in clang modmap format on WindowsBrad King2023-03-181-1/+7
| | | | | | | | | | | | | | | | | | | | Issue: #24611
| * | | | cmDyndepCollation: Drop outdated mentions of CXX_MODULE_INTERNAL_PARTITIONSBrad King2023-03-181-38/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These were left from an older design iteration in which, for MSVC, we needed to distinguish `cl -internalPartition` from `cl -interface` before scanning. It is no longer needed since `cl -scanDependencies` was updated to use the standard-conforming interpretation of non-exported module partition syntax. Issue: #24611
| * | | | cmLocalNinjaGenerator: De-duplicate condition for using 'cmd /C' on WindowsBrad King2023-03-181-5/+5
| | | | |
| * | | | cmGlobalNinjaGenerator: Detect GNU-like command-line for dyndep collatorBrad King2023-03-182-6/+20
| | | | | | | | | | | | | | | | | | | | | | | | | This will help the collator choose flags and path styles for modmap files.
| * | | | cmGlobalNinjaGenerator: Factor out GNU-like command-line detection on WindowsBrad King2023-03-182-6/+16
| | | | |
| * | | | cmCxxModuleMapper: Use value semantics in path conversion callbackBrad King2023-03-183-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The call site already owns a path it doesn't need when the callback returns. Hand ownership to the callback so it can optionally mutate the path without necessarily allocating.
| * | | | cmCxxModuleMapper: Remove redundant path conversion callbacksBrad King2023-03-181-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Two calls to `PathForGenerator` were applied to values returned by `BmiGeneratorPathForModule`, that already calls `PathForGenerator`.
* | | | | Merge topic 'clang-cl-showIncludes' into release-3.26Brad King2023-03-216-1/+23
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 843fc607de Ninja: Restore detection of clang-cl showIncludes prefix 3346570ae9 Tests: Comment RunCMake.Ninja ShowIncludes sample input languages Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8344
| * | | | | Ninja: Restore detection of clang-cl showIncludes prefixYR Chen2023-03-206-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 8f82e755f3 (Ninja: Fix detection of MSVC showIncludes prefix in Italian, 2023-01-26, v3.26.0-rc1~20^2) our regex no longer matches the output from `clang-cl`, which uses a relative path, forward slashes, and is always in English [1]: Note: including file: ./foo.h Update the regex to match that too. [1] https://github.com/llvm/llvm-project/blob/llvmorg-16.0.0/clang/lib/Frontend/HeaderIncludeGen.cpp#L102 Co-authored-by: Brad King <brad.king@kitware.com>
| * | | | | Tests: Comment RunCMake.Ninja ShowIncludes sample input languagesBrad King2023-03-201-0/+6
| |/ / / /
* | | | | Merge topic 'FindPython-SOSABI-handling' into release-3.26Brad King2023-03-213-4/+8
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | 4c902d675b FindPython: ensure Stable ABI is correctly handled Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8345
| * | | | FindPython: ensure Stable ABI is correctly handledMarc Chevrier2023-03-203-4/+8
|/ / / / | | | | | | | | | | | | Fixes: #24610
* | | | Merge topic 'CMakePackageConfigHelpers-ARCH_INDEPENDENT' into release-3.26Brad King2023-03-171-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6988ddf8ac WriteBasicConfigVersionFile: Fix regression in ARCH_INDEPENDENT check Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8337
| * | | | WriteBasicConfigVersionFile: Fix regression in ARCH_INDEPENDENT checkBrad King2023-03-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit 77982de955 (CMakePackageConfigHelpers: only emit arch check if needed, 2023-01-29, v3.26.0-rc1~16^2) did not correctly preserve the check for empty `CMAKE_SIZEOF_VOID_P`. Fix it. The difference between the version files generated before and after is: -if(CMAKE_SIZEOF_VOID_P STREQUAL "" OR "8" STREQUAL "") +if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "") This restores the check generated before the above-mentioned commit. Fixes: #24608
* | | | | Merge topic 'FindMatlab-R2023a' into release-3.26Brad King2023-03-171-0/+1
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | 58ab34d88a FindMatlab: add version/release map for R2023a Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8334
| * | | | FindMatlab: add version/release map for R2023ascivision2023-03-161-0/+1
|/ / / /
* | | | CMake 3.26.0v3.26.0Brad King2023-03-141-1/+1
| | | |
* | | | Merge topic 'revert-CheckCompilerFlag-clang-argument-unused' into release-3.26Brad King2023-03-145-4/+26
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 97fcd3bd30 CheckCompilerFlag: Revert 'Match the Clang "argument unused" output ...' Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !8322
| * | | | CheckCompilerFlag: Revert 'Match the Clang "argument unused" output ...'Brad King2023-03-135-4/+26
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit 5b45a3d0ce (CheckCompilerFlag: Match the Clang "argument unused" output for all languages, 2023-01-23, v3.26.0-rc1~38^2). It broke existing projects that were silently tolerating unrelated unused arguments in their checks for C and CXX. For example, using `CFLAGS=-nostdinc` or `CXXFLAGS=-nostdinc++` causes those flags to be used when driving the linker as well, and Clang warns they are unused in that case. Add a test case covering the now-restored behavior. Fixes: #24591
* | | | Merge branch 'release-3.25' into release-3.26Brad King2023-03-130-0/+0
|\ \ \ \ | |/ / /
| * | | Merge branch 'backport-3.25-log-failed-compiler-id' into release-3.25Brad King2023-03-131-2/+4
| |\ \ \ | | | | | | | | | | | | | | | Merge-request: !8320
| | * | | CompilerId: Restore logging of failed identifications in CMake 3.25Brad King2023-03-131-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. This was fixed for CMake 3.26 and later by commit 24ccc8c3c9 (CompilerId: Restore logging of failed identifications, 2023-01-16, v3.26.0-rc1~70^2~6). Backport it to 3.25.
* | | | Merge topic 'revert-optimize-target-depends-closure' into release-3.26Brad King2023-03-132-68/+56
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 685108a582 Ninja: Revert "Optimize target depends closure" due to performance regression Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8315
| * | | | Ninja: Revert "Optimize target depends closure" due to performance regressionBrad King2023-03-102-68/+56
|/ / / / | | | | | | | | | | | | | | | | | | | | Revert commit 1f16af01f4 (cmGlobalNinjaGenerator: Optimize target depends closure, 2023-01-17, v3.26.0-rc1~74^2). It regressed generation time for some projects. Revert it pending further investigation.