Directorio de propiedades y subdirectorios

losCMake manual paraset_directory_properties reclamaciones:

Establecer una propiedad para el directorio y subdirectorios actuales.

Para mí, esto sugiere que las propiedades establecidas en un directorio principal también deben heredarse a todos los subdirectorios. Pero este no parece ser el caso. Considerar:

CMakeLists.txt

cmake_minimum_required(VERSION 3.0)
project(foo CXX)

set_property(DIRECTORY . PROPERTY narf "zort")

add_subdirectory(a)

get_property(res DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY narf)
message("Property read from root: " ${res})

a/CMakeLists.txt

get_property(res DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY narf)
message("Property for a read from a: " ${res})
get_property(res DIRECTORY ${CMAKE_SOURCE_DIR} PROPERTY narf)
message("Property for root directory root read from a: " ${res})

Esto imprime:

Property for a read from a: 
Property for root directory root read from a: zort
Property read from root: zort

Por lo tanto, la propiedad solo se puede recuperar del directorio en el que se estableció, no de los subdirectorios. Lo mismo es cierto cuando se usa elset_directory_properties/get_directory_properties para lidiar con las propiedades.

¿Interpreté mal la sección respectiva en elset_directory_properties ¿manual? ¿O es simplemente anticuado / incorrecto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta