The target info in Swift 6.2 and newer supports emitting the pointer
size for a given target triple. We can use that to set the Swift data
pointer size, and the `CMAKE_SIZEOF_VOID_P`.
Fixes: #26649
11adb3b7ae Linker/Windows-MSVC: check for a non-empty linker version
32c12e6901 Modules/CMakeLANGCompiler.cmake.in: quote linker version and frontend variant
31946711d3 CMakeDetermineCompilerSupport: support skipping compiler feature checks
71d908010f Modules/DetermineCompiler: support skipping compiler checks
e267321f93 Modules/DetermineCompiler: avoid the cache for ABI compilations
94f4c64461 Tests/RunCMake/ToolchainSkipsChecks: add tests for skipping compiler checks
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11917
The intended input variable is `FETCHCONTENT_SOURCE_DIR_<uppercaseName>` rather than `<lowercaseName>_SOURCE_DIR`, which is an output-only variable. This matches the actual implementation of `FetchContent_MakeAvailable` and the documentation for `cmake_language`.
7524813c18 ci: Add OrangeC 7.10 nightly CI job
8c91584b5e ci: Drop OrangeC patch version from job names
87dc852a5e FindOpenMP: Fix (non-)detection with OrangeC 7.10
a57302eb79 Tests/TestDriver: Fix typo in function name
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12097
Also only set F90 support detection if not set by the toolchain. As
the F90 check can now be false-positive detected with any variable
settings causing a success, only set it if not already defined.
To ensure that the correct linker is selected (host or device link),
use the generic driver (i.e. lld) rather than a specific linker (like lld-link).
Fixes: #27826
Introduce a mechanism (via the private and undocumented `ISSUE_WARNING`
option to the `cmake_policy` command) to allow built-in modules to issue
policy warnings. Update modules to use this.
This allows modules to issue policy warnings with the `CMD_POLICY`
diagnostic type, which is consistent with internally issued diagnostics.
This also tends to simplify the logic for issuing such warnings in much
the way the helpers introduced in the previous commit did for the C++
code.
We detect the architecture once and store it in `_PellesC_ARCH`.
Do not unset it after the first language is enabled.
This fixes commit bc51518821 (PellesC: Compile for architecture matching
LIB environment variable, 2026-05-07) by removing lines left from an
earlier draft of the change.
Issue: #21536
Reported-by: Serguei E. Leontiev <leo@sai.msu.ru>
Swift supports CodeView/PDB for Windows (with active development ongoing
to make it the default). It is currently usable but does not have the
same fidelity as DWARF, but can be sufficient for many use cases. The
user is able to control this via flags. Wire up the necessary support to
allow `TARGET_PDB_FILE` to be used with Swift/Swift-only targets.
Extend commit 2b2344b412 (MSVC: Add abstraction for runtime checks,
2025-01-22, v4.0.0-rc1~92^2) to cover LLVMFlang. This is necessary
to configure with CMP0184's NEW behavior.
On most platforms we create shared libraries with `-shared` by default,
but on AIX we add `-Wl,-bnoipath` before the default is applied.
Explicitly specify `-shared` for LLVMFlang instead.
Also add compilation flags for position-independent code.
Fixes: #27818
Add `SamePatchVersion`, `SameFullVersion`, and `SemanticVersion`
support.
Document `ExactVersion` as deprecated in favor of the clearer
`SamePatchVersion`/`SameFullVersion` names.
Closes: #18060
713f4b76ee PellesC: Add C standard levels for Pelles C versions 9 through 12
1f5c9a31f4 PellesC: Remove UTF-8 BOM from test .asm files
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12059
We already do this for MSVC and MinGW. The linker ignores them
if no symbols are needed.
Issue: #21536
Co-authored-by: Serguei E. Leontiev <leo@sai.msu.ru>
Prior to CMake 4.2.0, projects using the EMSDK's toolchain file while
also enabling `TARGET_SUPPORTS_SHARED_LIBS` would link shared libraries
using our default `-shared` flag plus whatever `-sSIDE_MODULE` flag
the project added, if any. CMake 4.2.0 introduced builtin Emscripten
support, but since commit d361bf365e (Emscripten: Drop hard-coded
-sMAIN_MODULE and -sSIDE_MODULE flags, 2025-09-18, v4.2.0-rc1~146^2)
we still leave it to projects to add Emscripten-specific flags needed
to link shared libraries.
Restore the pre-4.2 behavior of adding the `-shared` flag. In
particular, this is needed for upcoming Emscripten support for real
shared libraries.
Issue: #27240