Ответ 1
Вы хотите извлечь свойство COMPILE_DEFINITIONS из каталога . Например. используйте следующее:
add_definitions( -DDebug )
get_directory_property( DirDefs DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS )
Затем вы можете просто перебрать их, например:
foreach( d ${DirDefs} )
message( STATUS "Found Define: " ${d} )
endforeach()
message( STATUS "DirDefs: " ${DirDefs} )
Обратите внимание, что определения также могут быть связаны с target или исходными файлами вместо каталогов. И обратите внимание, что они могут отличаться между конфигурациями. В зависимости от ваших требований вам может потребоваться проверить большой набор различных свойств.