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
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.
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
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
09a47c7972 MSVC: Restore support for non-incremental linking with v100 toolset and older
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9783
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.
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
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
This includes the target property, its initializing variable, its
initializing environment variable, and updating related docs to mention
the new bits.
10abd2ac5a FindPython: ensure a usable environment is set for the free threaded Python
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9775
10abd2ac5a FindPython: ensure a usable environment is set for the free threaded Python
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9775
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).
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
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
`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.
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
Fix a typo from commit c1c4cf9545 (Linker configuration: introduce a new
architecture, 2024-06-05): `Swoft` => `Swift`.
Reported-by: Evan Wilde <etceterawilde@gmail.com>
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