Commit Graph

35743 Commits

Author SHA1 Message Date
Brad King c370593f2e Begin 3.30 release versioning 2024-06-05 11:44:44 -04:00
Brad King ea03beed31 Merge topic 'macos-check-archs'
db409e5e68 APPLE: Check if compilers respect CMAKE_OSX_ARCHITECTURES
598bc70474 file: Add undocumented READ_MACHO subcommand on macOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9492
2024-06-05 09:23:42 -04:00
Brad King 311cc37e76 Merge topic 'cmFileSet-FixWindowsPerformance'
c598a4609c cmFileSet: Fix poor performance of large file sets with export() on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9572
2024-06-05 09:21:31 -04:00
Kitware Robot c3878be97f CMake Nightly Date Stamp 2024-06-05 00:01:15 -04:00
Brad King d913a22f26 Merge topic 'gui-trailing-slash-on-dirs'
afa1d0d0e3 CMakeGUI: Sanitize source and build dirs the same as command line

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9573
2024-06-04 08:57:42 -04:00
Brad King e449ae8492 Merge topic 'cxx-checks-icpx-overriding'
557a5f3083 cm_cxx_features: Filter out icpx -Woverriding-t-option warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9577
2024-06-04 08:56:34 -04:00
Brad King 42a4185643 Merge topic 'cxx-checks-distcc'
c9e30d75d2 cm_cxx_features: Ignore distcc warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9574
2024-06-04 08:55:35 -04:00
Jochem van Boxtel c598a4609c cmFileSet: Fix poor performance of large file sets with export() on Windows
Exporting targets having large FILE_SETs with install(EXPORT) or export(EXPORT)
currently performs poorly on Windows compared to Unix-like systems,
because cmFileSet::EvaluateDirectoryEntries calls SystemTools::SameFile on every
pair of parent directories in the file set. SystemTools::SameFile opens and closes
two read-only filesystem handles. This causes a significant performance drop
on Windows for FILE_SETs with even a couple of dozens of files.

Use the recently added SystemTools::GetFileId function in kwsys
(https://gitlab.kitware.com/utils/kwsys/-/merge_requests/298) instead of SameFile
to cache the identity of a directory in cmFileSet::EvaluateDirectoryEntries.
This means only one filesystem handle is needed per distinct directory path,
instead of two per (even if they're equal) directory pair.
2024-06-04 08:43:31 -04:00
René Bertin 598bc70474 file: Add undocumented READ_MACHO subcommand on macOS
Provide a way to parse the architectures of a Mach-O binary.

Issue: #25952
2024-06-04 08:37:47 -04:00
Kitware Robot 601fab1f05 CMake Nightly Date Stamp 2024-06-04 00:01:20 -04:00
Brad King 557a5f3083 cm_cxx_features: Filter out icpx -Woverriding-t-option warnings
Issue: #20664
2024-06-03 11:46:24 -04:00
Brad King 1df18d5e54 Merge topic 'cmake-C-crash'
7330121467 Fix crash in target-specific commands called from initial cache script

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9571
2024-06-03 09:10:52 -04:00
Brad King d1cf2a2206 Merge topic 'file-accept-empty-lists'
7c516f7e28 file(): TOUCH, TOUCH_NOCREATE and MAKE_DIRECTORY accept empty lists

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9570
2024-06-03 09:08:52 -04:00
Kitware Robot 22c4d2cf6d CMake Nightly Date Stamp 2024-06-03 00:02:17 -04:00
Martin Mokry c9e30d75d2 cm_cxx_features: Ignore distcc warnings
Filter out warnings of distcc which does not provide information
about compiler feature availability.

Fixes: #22573
2024-06-02 12:26:13 +02:00
Kitware Robot e873e8f81a CMake Nightly Date Stamp 2024-06-02 00:01:14 -04:00
Brad King 7330121467 Fix crash in target-specific commands called from initial cache script
Fixes: #26018
2024-06-01 06:28:26 -04:00
Craig Scott afa1d0d0e3 CMakeGUI: Sanitize source and build dirs the same as command line
This makes a difference when projects compare things like
CMAKE_SOURCE_DIR with CMAKE_CURRENT_SOURCE_DIR and the source
directory has a trailing slash in the GUI. The command line cmake invocation
cleans the paths at the beginning, so such comparisons return true. But the
GUI currently passes the paths unmodified, so such comparisons return false.
Change the logic to sanitize the paths used through the GUI in the same way
that the command line invocation does.

Fixes: #21421
2024-06-01 17:34:27 +10:00
Kitware Robot fdf671fcc5 CMake Nightly Date Stamp 2024-06-01 00:01:30 -04:00
Brad King 719b461b9c Merge topic 'ci-msvc-14.40'
0070708ae1 gitlab-ci: Update Windows builds to MSVC 14.40 toolset
41e777274a Tests: Update BuildDepends test for VS 17.10
f26e8886b3 cmake-gui: Suppress MSVC deprecation warnings from Qt headers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9560
2024-05-31 09:52:15 -04:00
Brad King 1e2b2a18a1 Merge topic 'update-kwsys'
ffeb69546b Merge branch 'upstream-KWSys' into update-kwsys
82c4576a9d KWSys 2024-05-30 (cb379374)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9562
2024-05-31 09:24:52 -04:00
Brad King e0a11dfa24 Merge topic 'dep-provider-try_compile'
4cb5bb014d try_compile: Propagating top level includes into whole-project calls

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !9532
2024-05-31 09:20:27 -04:00
Craig Scott 7c516f7e28 file(): TOUCH, TOUCH_NOCREATE and MAKE_DIRECTORY accept empty lists
Projects may be generating a list of files or directories to pass as arguments
to file(TOUCH), file(TOUCH_NOCREATE), or file(MAKE_DIRECTORY). Those
lists might end up being empty, so rather than requiring at least one item,
allow an empty list.

Fixes: #24897
2024-05-31 22:55:20 +10:00
Kitware Robot 140766867b CMake Nightly Date Stamp 2024-05-31 00:01:35 -04:00
Brad King f26e8886b3 cmake-gui: Suppress MSVC deprecation warnings from Qt headers
MSVC 14.38+ toolsets deprecate `stdext::checked_array_iterator`.
Support building with versions of Qt that have not been updated
to avoid the deprecated API.

Qt-Issue: https://bugreports.qt.io/browse/QTBUG-118993
2024-05-30 14:23:47 -04:00
Brad King ffeb69546b Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2024-05-30 (cb379374)
2024-05-30 10:31:19 -04:00
Brad King 679a3d9e6c Merge topic 'enforce-fc-fully-disconnected-requirements'
f588421b58 FetchContent: Enforce FETCHCONTENT_FULLY_DISCONNECTED requirements

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9556
2024-05-30 10:13:29 -04:00
Craig Scott 4cb5bb014d try_compile: Propagating top level includes into whole-project calls
Fixes: #24151
2024-05-30 19:01:03 +10:00
Kitware Robot ce54067d81 CMake Nightly Date Stamp 2024-05-30 00:01:17 -04:00
Brad King 54c9185b33 Merge topic 'deprecate-fetchcontent_populate'
4370fcf750 FetchContent: Deprecate FetchContent_Populate(depName)
bc70b458ad Help: Minor grammar improvements for FetchContent

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9552
2024-05-29 08:41:57 -04:00
Brad King a5269e0693 Merge topic 'hip-std'
c299fd8266 Tests/CompileFeatures: Cover hip_std_## meta-features
5d93c421f1 HIP: Populate CMAKE_HIP_KNOWN_FEATURES global property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9555
2024-05-29 08:35:26 -04:00
Brad King ad90d891f8 Merge topic 'swift-multi-config'
5bb7f8a4dd Swift: Use per-config module file locations in multi-config generators
b2e042d77a cmGeneratorTarget: Adopt Swift-related methods from the Ninja generator
45b3387c50 Tests/RunCMake/Swift: Enable more cases with Ninja Multi-Config

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9501
2024-05-29 08:34:21 -04:00
Brad King 631934633d Merge topic 'update-kwsys'
b2081e3810 Merge branch 'backport-kwsys-ConsoleBuf-windows-terminal' into update-kwsys
98dd754b62 KWSys: ConsoleBuf: Fix test case when running under Windows Terminal
a151fdda01 Merge branch 'upstream-KWSys' into update-kwsys
c6ef3299d0 KWSys 2024-05-28 (0d6eac1f)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9553
2024-05-29 08:30:11 -04:00
Craig Scott f588421b58 FetchContent: Enforce FETCHCONTENT_FULLY_DISCONNECTED requirements
FETCHCONTENT_FULLY_DISCONNECTED should only be set to true if
each dependency's source directory has already been populated.
Previously, this wasn't being checked, but now it is (subject to a new
policy).
2024-05-29 20:39:17 +10:00
Craig Scott 4370fcf750 FetchContent: Deprecate FetchContent_Populate(depName)
Projects should use FetchContent_MakeAvailable(depName)
instead. Policy CMP0169 provides backward compatibility.
2024-05-29 18:52:24 +10:00
Kitware Robot d636cd2ba9 CMake Nightly Date Stamp 2024-05-29 00:01:17 -04:00
Brad King 5d93c421f1 HIP: Populate CMAKE_HIP_KNOWN_FEATURES global property
Fixes: #26013
2024-05-28 14:36:42 -04:00
Brad King a151fdda01 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2024-05-28 (0d6eac1f)
2024-05-28 09:07:40 -04:00
Kitware Robot 50dcac2b67 CMake Nightly Date Stamp 2024-05-28 00:01:12 -04:00
Kitware Robot ffa5d7d497 CMake Nightly Date Stamp 2024-05-27 00:02:47 -04:00
Kitware Robot a2b3d3c592 CMake Nightly Date Stamp 2024-05-26 00:01:15 -04:00
Kitware Robot 36733882be CMake Nightly Date Stamp 2024-05-25 00:01:14 -04:00
Dave Abrahams 5bb7f8a4dd Swift: Use per-config module file locations in multi-config generators
Place `.swiftmodule` files a subdirectory named after the configuration.

Fixes: #25864
Fixes: #25997

- Swift/RunCMakeTest.cmake:
  - CMP0157-OLD was enabled for Xcode, where it works.
  - A test was added that verifies .swiftmodule's are generated into
    separate directories with multi-config generators.

- Tests/SwiftOnly/CMakeLists.txt: tests were added that validate that
  cross-subdirectory module dependencies (via target_link_libraries)
  work.
2024-05-24 15:23:41 -07:00
Dave Abrahams b2e042d77a cmGeneratorTarget: Adopt Swift-related methods from the Ninja generator
They will see more use as Swift bugs are fixed in the
Ninja Multi-Config generator.
2024-05-24 15:20:08 -07:00
Brad King 7b38a1dee7 Merge topic 'genex-compiler-frontend-variant'
af81b8667e GenEx: Add generator expr. for CMAKE_<LANG>_COMPILER_FRONTEND_VARIANT
8a11a39c51 Help: Use correct programming language names in docs of generator expr.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9538
2024-05-24 10:31:52 -04:00
Brad King 1d519cf796 Merge topic 'ninja-parallel'
0e5250e63c Ninja: Add option for parallel install
daeb8fffa2 Help: Add Builtin Targets section to Ninja help

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9505
2024-05-24 10:29:57 -04:00
Kitware Robot 97b1401c3e CMake Nightly Date Stamp 2024-05-24 00:01:11 -04:00
Martin Duffy 0e5250e63c Ninja: Add option for parallel install
Adds the global property ``INSTALL_PARALLEL`` to enable a parallel install
target for Ninja.

Fixes: #25459
2024-05-23 09:54:19 -04:00
Kitware Robot f0074159d7 CMake Nightly Date Stamp 2024-05-23 00:01:10 -04:00
Deniz Bahadir af81b8667e GenEx: Add generator expr. for CMAKE_<LANG>_COMPILER_FRONTEND_VARIANT 2024-05-22 16:43:33 +02:00