mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-07 14:20:06 -06:00
Apple: Improve handling of missing SDKs in CMAKE_APPLE_ARCH_SYSROOTS
Use `<arch>-SDK-NOTFOUND` instead of an empty string as a placeholder in `CMAKE_APPLE_ARCH_SYSROOTS` for architectures whose SDK is not found. This ensures the length of `CMAKE_APPLE_ARCH_SYSROOTS` matches the length of `CMAKE_OSX_ARCHITECTURES`. It also makes the missing SDKs more visible in the value. Issue: #20534
This commit is contained in:
@@ -136,7 +136,7 @@ endfunction()
|
|||||||
# Handle multi-arch sysroots. Do this before CMAKE_OSX_SYSROOT is
|
# Handle multi-arch sysroots. Do this before CMAKE_OSX_SYSROOT is
|
||||||
# transformed into a path, so that we know the sysroot name.
|
# transformed into a path, so that we know the sysroot name.
|
||||||
function(_apple_resolve_multi_arch_sysroots)
|
function(_apple_resolve_multi_arch_sysroots)
|
||||||
if(CMAKE_APPLE_ARCH_SYSROOTS)
|
if(DEFINED CMAKE_APPLE_ARCH_SYSROOTS)
|
||||||
return() # Already cached
|
return() # Already cached
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -202,7 +202,7 @@ function(_apple_resolve_multi_arch_sysroots)
|
|||||||
list(APPEND _arch_sysroots ${_arch_sysroot})
|
list(APPEND _arch_sysroots ${_arch_sysroot})
|
||||||
else()
|
else()
|
||||||
message(WARNING "No SDK found for architecture '${arch}'")
|
message(WARNING "No SDK found for architecture '${arch}'")
|
||||||
list(APPEND _arch_sysroots "") # Placeholder
|
list(APPEND _arch_sysroots "${arch}-SDK-NOTFOUND")
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
|
|||||||
@@ -1800,7 +1800,7 @@ void cmLocalGenerator::AddArchitectureFlags(std::string& flags,
|
|||||||
if (!arch_sysroots.empty()) {
|
if (!arch_sysroots.empty()) {
|
||||||
assert(arch_sysroots.size() == archs.size());
|
assert(arch_sysroots.size() == archs.size());
|
||||||
for (size_t i = 0; i < archs.size(); ++i) {
|
for (size_t i = 0; i < archs.size(); ++i) {
|
||||||
if (arch_sysroots[i].empty()) {
|
if (cmIsOff(arch_sysroots[i])) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
flags += " -Xarch_" + archs[i] + " ";
|
flags += " -Xarch_" + archs[i] + " ";
|
||||||
|
|||||||
Reference in New Issue
Block a user