mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-09-25 04:09:36 +03:00
Propagates variables set in enable_language() logic up variable scopes so that the language can be used by targets in the ancestor directories. Works through block() and function() scopes as well. The add_subdirectory() call can be thought of as the effective call site for enabling the language. The same holds for endblock() and the actual function call. Adds a policy CMP0220 to control this behavior. As the language is "enabled" at each ancestor scope, the policy is checked. If OLD, the language is not enabled at this scope and the ones above. Closes: #27881 #27508 #27389 Related: #26751 #27564
11 lines
312 B
CMake
11 lines
312 B
CMake
|
|
# With CMP0220 NEW, a language enabled in a subdirectory is propagated up to this scope
|
|
cmake_policy(SET CMP0220 NEW)
|
|
|
|
add_subdirectory(cxx)
|
|
|
|
if(NOT CMAKE_CXX_COMPILER_LOADED)
|
|
message(FATAL_ERROR
|
|
"enable_language(): language configuration was not propagated up a subdirectory with CMP0220 NEW")
|
|
endif()
|