What makes a condition "context-sensitive" when evaluating a property?

My understanding is that the context sensitive refers to the context of where the target holding the generator expression is created, not where it is evaluated.

For the case of COMPILE_LANGUAGE we don’t want to capture the context of the creation but want to always use the context of the users ( HadContextSensitiveCondition == false )

So it is entirely reasonable to create a language based genex in a context that doesn’t have that language enabled, but is only evaluated in contexts that have the language.

project(example LANGUAGES NONE)

add_subdirectory(producer)

enable_language(CXX)
add_library(consumer STATIC main.cxx)
target_link_libraries(consumer PRIVATE producer)

Where producer has:

add_library(producer INTERFACE )
target_include_directories(producer INTERFACE  "$<$<COMPILE_LANGUAGE:CXX>:${CMAKE_CURRENT_SOURCE_DIR}>")