Если вы не хотите делать это окончательным, вы всегда можете просто сделать глобальную переменную.
Проблема в том, что информация, которую вы ищете, доступна только после шага генерации. Вы можете получить их только с помощью, например, add_custom_target()
, которые выполняются во время компиляции. Ваши вызовы get_target_property()
и message()
выполняются во время этапа настройки CMake.
Отказ от ответственности : Принимаются с небольшими изменениями из вопроса, связанного ниже:
add_custom_command(
b_lists ALL
${CMAKE_COMMAND} -E echo "b INCLUDE_DIRECTORIES: $<TARGET_PROPERTY:B,INCLUDE_DIRECTORIES>"
)
Ссылки
target_link_libraries не добавляет какой-либо каталог, он добавляет определенную библиотеку, которую вы включили. Используйте команду VERBOSE = 1, чтобы увидеть полную команду. Возможно, вы сможете получить выходной каталог библиотеки, прочитав каталог сборки или имя выхода библиотеки.