DebugIncludes.cmake 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. enable_language(CXX)
  2. set(CMAKE_DEBUG_TARGET_PROPERTIES INCLUDE_DIRECTORIES)
  3. file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/DebugIncludes.cpp" "enum { dummy };\n")
  4. include_directories(
  5. "${CMAKE_CURRENT_SOURCE_DIR}/one"
  6. "${CMAKE_CURRENT_SOURCE_DIR}/two"
  7. )
  8. set_property(DIRECTORY APPEND PROPERTY INCLUDE_DIRECTORIES
  9. "${CMAKE_CURRENT_SOURCE_DIR}/three")
  10. add_library(lll "${CMAKE_CURRENT_BINARY_DIR}/DebugIncludes.cpp")
  11. include_directories(
  12. "${CMAKE_CURRENT_SOURCE_DIR}/two"
  13. "${CMAKE_CURRENT_SOURCE_DIR}/three"
  14. "${CMAKE_CURRENT_SOURCE_DIR}/four"
  15. )
  16. add_library(foo "${CMAKE_CURRENT_BINARY_DIR}/DebugIncludes.cpp")
  17. target_include_directories(foo
  18. INTERFACE
  19. "${CMAKE_CURRENT_SOURCE_DIR}/seven"
  20. "${CMAKE_CURRENT_SOURCE_DIR}/eight"
  21. )
  22. target_link_libraries(lll foo)
  23. macro(some_macro)
  24. set_property(TARGET lll APPEND PROPERTY
  25. INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/one"
  26. "${CMAKE_CURRENT_SOURCE_DIR}/three"
  27. "${CMAKE_CURRENT_SOURCE_DIR}/four"
  28. "${CMAKE_CURRENT_SOURCE_DIR}/five"
  29. "${CMAKE_CURRENT_SOURCE_DIR}/six"
  30. "${CMAKE_CURRENT_SOURCE_DIR}/seven"
  31. )
  32. endmacro()
  33. function(some_function)
  34. some_macro()
  35. endfunction()
  36. some_function()
  37. add_library(bar "${CMAKE_CURRENT_BINARY_DIR}/DebugIncludes.cpp")
  38. target_include_directories(bar
  39. INTERFACE
  40. "${CMAKE_CURRENT_SOURCE_DIR}/nine"
  41. "${CMAKE_CURRENT_SOURCE_DIR}/ten"
  42. )
  43. set_property(TARGET lll APPEND PROPERTY LINK_LIBRARIES bar)