Commit Graph

14353 Commits

Author SHA1 Message Date
Brad King
671748819b Merge topic 'clang-cl-c++23'
474eafe28c clang-cl: Add support for C++23

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9818
2024-09-16 06:22:35 -04:00
Brad King
8143e1b051 Merge topic 'FindPython-FIND_ABI'
f885b007b9 FindPython: ensure all ABI are searched by default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Tested-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !9819
2024-09-16 06:17:59 -04:00
Brad King
474eafe28c clang-cl: Add support for C++23
Although there is no `cl -std:c++23` flag, the underlying Clang compiler
does have a C++23 mode we can activate by passing `-std=c++23` through a
`clang-cl` wrapper flag.

Fixes: #26061
2024-09-13 12:28:49 -04:00
Brad King
e701265823 Merge topic 'matlab-macos'
b90d7a3a82 FindMatlab: On macOS search under ~/Applications and /Applications

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9814
2024-09-13 09:23:18 -04:00
Brad King
1f82060c76 Merge topic 'matlab-2024b'
20412181e9 FindMatlab: Add R2024b version map

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9813
2024-09-13 09:21:15 -04:00
Marc Chevrier
f885b007b9 FindPython: ensure all ABI are searched by default
Fixes: #26279
2024-09-12 19:22:40 +02:00
scivision
b90d7a3a82 FindMatlab: On macOS search under ~/Applications and /Applications
users with locked-down macOS may not be able to install their desired Matlab
under /Applications, but may use the standard ~/Applications instead
2024-09-12 12:37:30 -04:00
scivision
20412181e9 FindMatlab: Add R2024b version map 2024-09-12 12:34:00 -04:00
Brad King
747fa20ad6 Merge topic 'proto'
1dc1d000a0 FindProtobuf: Fix IMPORT_DIRS handling and relative directory generation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9809
2024-09-12 08:16:53 -04:00
Xiong Nandi
1dc1d000a0 FindProtobuf: Fix IMPORT_DIRS handling and relative directory generation
Append ${CMAKE_CURRENT_SOURCE_DIR} to `_protobuf_include_path` last, since
protoc will search the path in order.

Besides, we have to figure out the output directory by iterating through the
include paths and checking for valid relative paths.
2024-09-11 12:56:28 -04:00
Brad King
dd023d9707 Merge topic 'add_custom_command-arg-handling'
ec519f3e97 add_custom_command: Validate arguments more rigorously
8dc8be0884 AndroidTestUtilities: Remove DEPENDS that was being silently ignored
316840b430 Tests: Add missing POST_BUILD to custom commands
f5f80305ef ExternalProject: Ensure keywords requiring an argument have one

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9785
2024-09-11 09:32:24 -04:00
Craig Scott
8dc8be0884 AndroidTestUtilities: Remove DEPENDS that was being silently ignored
The add_custom_command(TARGET) form does not support a
DEPENDS keyword, but it was silently ignored up to now. It will
soon be reported as an error, so remove the DEPENDS. The
behavior will be the same as before.

Issue: #26096
2024-09-10 08:19:08 +10:00
Aliaksandr Averchanka
9e95bd49f2 Check*: Add option to pass link directories into checks 2024-09-09 17:06:33 +03:00
Craig Scott
012d116260 Merge topic 'cmp0168-populate-nondeclare-regression'
cbb727ca6b FetchContent: Don't update verify script timestamp if it doesn't change
795e7b44f2 Help: file(CONFIGURE) only updates output file timestamp if it changes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9799
2024-09-08 18:32:40 -04:00
Craig Scott
cbb727ca6b FetchContent: Don't update verify script timestamp if it doesn't change
Fixes: #26255
2024-09-06 15:53:48 +10:00
Brad King
9c5f6d22f3 Merge topic 'windows-kernel-mode-driver-includes'
b151bcfc9e WindowsKernelModeDriver: Add WDK include and link paths on MSVC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9705
2024-09-05 09:21:35 -04:00
Brad King
2daeb0b504 Merge topic 'build-databases'
e77655555c cmExperimental: gate build database support behind a flag
23cbeb5035 ci: enable `build_database` CXXModules tests
6863c1d823 Tests/CXXModules: add tests for module commands
123107c1a4 Tests/CXXModules: add support for running targets under a given config
438038b5e1 Tests/CXXModules: support building specific targets of example trees
84bc710d84 cmGlobalGenerator: generate build database files for targets
670f753f24 cmDyndepCollation: write build database metadata
dcf9a66ffe cxxmodules: plumb control data for exporting build databases
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9708
2024-09-05 09:20:23 -04:00
Brad King
f63c7ed12a Merge topic 'linker-dependency-file-only-ELF'
c336bfffac GNU/LLD linkers: link dependency only for ELF binary format

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9787
2024-09-05 09:16:56 -04:00
Brad King
7b51809d9a Merge topic 'msvc-v100-manifest-tooling'
09a47c7972 MSVC: Restore support for non-incremental linking with v100 toolset and older

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9783
2024-09-04 08:11:42 -04:00
Joseph Snyder
b151bcfc9e WindowsKernelModeDriver: Add WDK include and link paths on MSVC
Detect Windows Kernel-Mode Driver include directories and library search
paths from the WDK command-line environment.  Require toolchain files to
specify the KMDF target version via a new variable.

Since this changes the behavior of the WindowsKernelModeDriver
experimental feature, update its UUID.
2024-09-03 11:10:35 -04:00
Rüdiger Ihle
09a47c7972 MSVC: Restore support for non-incremental linking with v100 toolset and older
Since commit 0b552eb877 (MSVC: Embed manifests directly for
non-incremental vs_link_exe links, 2023-02-20, v3.27.0-rc1~438^2) we use
`/MANIFEST:EMBED`, but that is not supported by older MSVC linkers.
Restore use of the standalone manifest tool.

Update `Tests/MSManifest` to recognize `dpiAwareness` in the manifest
content as written by MSVC v100 tooling.

Fixes: #26179
2024-09-03 10:58:28 -04:00
Brad King
dcb3d7dba6 Merge topic 'CheckCompilerFlag-LLVMFlang'
e8fd9ba8e8 CheckCompilerFlag: Add support for LLVMFlang

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9771
2024-09-03 10:17:24 -04:00
Marc Chevrier
c336bfffac GNU/LLD linkers: link dependency only for ELF binary format
Fixes: #26250
2024-08-30 19:04:25 +02:00
Craig Scott
f5f80305ef ExternalProject: Ensure keywords requiring an argument have one
Issue: #21089
2024-08-30 15:19:58 +10:00
scivision
e8fd9ba8e8 CheckCompilerFlag: Add support for LLVMFlang
Make checks like

    check_compiler_flag(Fortran "-Wall" HAVE_WALL)

work with LLVMFlang.
2024-08-29 13:37:37 -04:00
Brad King
989d2aff39 Merge topic 'tasking-std-flags'
86bc2b000d Tasking: Fix C and C++ compiler extension mode flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9780
2024-08-29 08:36:09 -04:00
Brad King
241f923a6f Drop Visual Studio 12 2013 generator
This generator has been deprecated since CMake 3.28.  Remove it.
2024-08-28 14:13:05 -04:00
Brad King
1ad39a9cf8 UseSWIG: Simplify test for Visual Studio generators
Since commit 03c31b0395 (Drop Visual Studio 9 2008 generator,
2024-05-06, v3.30.0-rc1~134^2), the test does not need to be
version-dependent.
2024-08-28 14:12:41 -04:00
Brad King
86bc2b000d Tasking: Fix C and C++ compiler extension mode flags
In commit 94df5b6ef1 (Tasking: Add support for several compiler
toolsets, 2022-07-20, v3.25.0-rc1~133^2) the extension mode flags were
added with an extra space-only argument.  Remove it.  Also fix the C++98
mode flag that looks like a C mode flag.

Fixes: #26244
2024-08-28 09:48:48 -04:00
Ben Boeckel
dcf9a66ffe cxxmodules: plumb control data for exporting build databases
This includes the target property, its initializing variable, its
initializing environment variable, and updating related docs to mention
the new bits.
2024-08-27 12:37:36 -04:00
Brad King
a818a9afd6 Merge topic 'FindPython-free-threaded-python'
10abd2ac5a FindPython: ensure a usable environment is set for the free threaded Python

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9775
2024-08-27 09:42:38 -04:00
Brad King
a0317334ae Merge topic 'FindPython-free-threaded-python' into release-3.30
10abd2ac5a FindPython: ensure a usable environment is set for the free threaded Python

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9775
2024-08-27 09:42:37 -04:00
Brad King
74c29b44a9 Merge topic 'doc-libfun'
7a39cfb012 Help Check{Function,Library}Exists refer to CheckSourceCompiles

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9773
2024-08-27 09:41:03 -04:00
Brad King
881e43411a Merge topic 'FindIconv-alpine'
c9f6369c76 FindIconv: Fix finding iconv.h on Alpine Linux

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9774
2024-08-27 09:39:58 -04:00
Brad King
1fdc367421 Merge topic 'doc-flag'
588bab15c4 Help Check*CompilerFlag harmonize text

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9772
2024-08-27 09:37:36 -04:00
Marc Chevrier
10abd2ac5a FindPython: ensure a usable environment is set for the free threaded Python
Define the `Python_DEFINITIONS` variable for the support of free
threaded Python developments on Windows.

This is a complement to commit 9a0dee7257 (FindPython: Add support for
free threaded python, 2024-05-30).
2024-08-27 09:27:35 -04:00
Brad King
1c279c6263 Merge topic 'FindPython-numpy-mkl'
516124ea23 FindPython: fix regression of NumPy detection with Intel MKL library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9776
2024-08-27 09:21:34 -04:00
scivision
7a39cfb012 Help Check{Function,Library}Exists refer to CheckSourceCompiles
help users be aware of more general/robust CheckSourceCompiles
2024-08-26 16:13:34 -04:00
Peter Kokot
c9f6369c76 FindIconv: Fix finding iconv.h on Alpine Linux
Alpine Linux has the `iconv.h` belonging to the builtin `iconv` library
provided by musl C library in the standard directory (`/usr/include`).
However, when installing the GNU libiconv APK package (`gnu-libiconv`),
the GNU `libiconv` library has header located in
`/usr/include/gnu-libiconv` subdirectory.  Fix finding the header
matching the `libiconv` library.

Issue: #24695
2024-08-26 11:02:55 -04:00
Even Rouault
516124ea23 FindPython: fix regression of NumPy detection with Intel MKL library
Fix commit df551ee538 (FindPython: fix NumPy detection when Intel MKL
library is installed, 2024-03-20, v3.30.0-rc1~361^2) by setting
`MKL_ENABLE_INSTRUCTIONS` to `SSE4_2`, but only if
`MKL_ENABLE_INSTRUCTIONS` is not set in the calling environment.

Fixes: #26240
2024-08-26 10:27:55 -04:00
Brad King
7a3961cc94 Merge topic 'android-ndk-27'
24cd4ff844 Android: Fix build with NDK 27

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9766
2024-08-26 09:46:36 -04:00
scivision
588bab15c4 Help Check*CompilerFlag harmonize text
This is like recently done for Check*Source{Compiles,Runs}
2024-08-23 12:30:17 -04:00
Lars Schmertmann
24cd4ff844 Android: Fix build with NDK 27
`NDK_PROC_*_ABI` and `NDK_ARCH_*_ABI` were removed in the Android
NDK 27 but will be reintroduced in the Android NDK 27b:

* https://github.com/android/ndk/issues/2049
* https://android-review.googlesource.com/c/platform/ndk/+/3196345

Both are only used when `CMAKE_ANDROID_ARCH_ABI` is NOT given. But
currently the existence is also checked when `CMAKE_ANDROID_ARCH_ABI`
is given. So we move the checks to the position they are required.
2024-08-22 09:30:01 -04:00
Brad King
4950445d4b Merge topic 'hip-lang-lib64search'
c34d827622 HIP: Ensure lib64 directories are included in hip-lang dependency search

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9741
2024-08-22 09:04:02 -04:00
Brad King
860d9b4f37 Merge topic 'swift-linker-config'
a34756b622 Swift: Fix typo in linker configuration logic

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9745
2024-08-20 11:46:50 -04:00
Brad King
bf514752af Merge topic 'findwx-link-libs'
bf2a0527cb FindwxWidgets: Add link dependencies for Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9749
2024-08-20 11:44:01 -04:00
Brad King
8734799848 Merge topic 'doc-refer'
759776dcdb Help: Check*SourceRuns make text more concise.
5d42177a06 Help: Check*SourceCompiles, Check*CompilerFlag refer to new command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9743
2024-08-20 11:41:38 -04:00
Brad King
5adcac8e08 Merge topic 'FindJNI-no-xcode'
7402593a08 FindJNI: Improve output on macOS if Xcode is not installed

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9750
2024-08-20 11:24:46 -04:00
Saleem Abdulrasool
a34756b622 Swift: Fix typo in linker configuration logic
Fix a typo from commit c1c4cf9545 (Linker configuration: introduce a new
architecture, 2024-06-05): `Swoft` => `Swift`.

Reported-by: Evan Wilde <etceterawilde@gmail.com>
2024-08-19 14:04:38 -04:00
Brad King
7402593a08 FindJNI: Improve output on macOS if Xcode is not installed
Improve the changes from:

* commit efa0e2ddaf (FindJNI: Update for Xcode greater than 12.1 on macOS,
                     2023-08-06, v3.27.2~5^2)
* commit 597139b853 (FindJNI: Restore support for macOS without Xcode,
                     2023-08-11, v3.27.3~8^2)

to avoid leaking `xcodebuild`'s stderr.

Issue: #26229
2024-08-19 11:37:48 -04:00