который обновляет документы, чтобы уточнить существующее поведение. Надеюсь, это прояснит ситуацию.
e руководство для претензии:set_directory_properties
Установите свойство для текущего каталога и подкаталогов.
Для меня это говорит о том, что свойства, установленные в родительском каталоге, также должны быть унаследованы для всех подкаталогов. Но, похоже, это не так. Рассмотреть возможность:
Это печатает:
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})
Таким образом, свойство может быть получено только из каталога, в котором оно было установлено, а не из подкаталогов. То же самое верно при использовании
Property for a read from a:
Property for root directory root read from a: zort
Property read from root: zort
иметь дело со свойствами.set_directory_properties
/get_directory_properties
Я неправильно истолковал соответствующий раздел в
руководство по эксплуатации? Или это просто устарело / неправильно?set_directory_properties
Если я посмотрю на исходный код CMake, это зависит от