mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-09-25 04:09:36 +03:00
`DISTRIB_*` read os-release under `CMAKE_SYSROOT`, so cross builds got the target distro from a host-oriented command, and a process-wide static froze the first result. Add a `FROM_SYSROOT <bool>` option and policy `CMP0221` to default to the host, parse per call, and scope `CMAKE_SYSROOT` so the fallback scripts follow the same choice. Fixes: #27640
11 lines
406 B
CMake
11 lines
406 B
CMake
# Explicit target selection must read the CMAKE_SYSROOT os-release, even when
|
|
# the policy default is host.
|
|
cmake_policy(SET CMP0221 NEW)
|
|
|
|
set(CMAKE_SYSROOT "${CMAKE_CURRENT_LIST_DIR}/Sentinel")
|
|
cmake_host_system_information(RESULT tgt QUERY FROM_SYSROOT ON DISTRIB_ID)
|
|
|
|
if(NOT tgt STREQUAL "sentineltarget")
|
|
message(FATAL_ERROR "FROM_SYSROOT ON read '${tgt}', expected target 'sentineltarget'")
|
|
endif()
|