TARGET_PROPERTY-INCLUDE_DIRECTORIES.cmake 702 B

123456789101112131415161718
  1. cmake_minimum_required(VERSION 3.14)
  2. enable_language(C)
  3. add_library(foo1 STATIC empty.c)
  4. target_include_directories(foo1 PUBLIC include)
  5. target_link_libraries(foo1 PRIVATE foo2 foo3 foo4)
  6. add_library(foo2 STATIC empty.c)
  7. target_include_directories(foo2 PUBLIC $<TARGET_PROPERTY:foo1,INCLUDE_DIRECTORIES>)
  8. add_library(foo3 STATIC empty.c)
  9. target_include_directories(foo3 PUBLIC $<TARGET_PROPERTY:foo2,INCLUDE_DIRECTORIES>)
  10. add_library(foo4 STATIC empty.c)
  11. target_include_directories(foo4 PUBLIC $<TARGET_PROPERTY:foo3,INCLUDE_DIRECTORIES>)
  12. # Evaluate a genex that looks up INCLUDE_DIRECTORIES on multiple targets.
  13. file(GENERATE OUTPUT out.txt CONTENT "$<TARGET_PROPERTY:foo4,INCLUDE_DIRECTORIES>")