CMakeLists.txt 695 B

12345678910111213141516171819202122232425262728
  1. cmake_minimum_required(VERSION 2.8)
  2. project(target_compile_definitions)
  3. add_executable(target_compile_definitions
  4. "${CMAKE_CURRENT_SOURCE_DIR}/main.cpp"
  5. )
  6. target_compile_definitions(target_compile_definitions
  7. PRIVATE MY_PRIVATE_DEFINE
  8. PUBLIC MY_PUBLIC_DEFINE
  9. INTERFACE MY_INTERFACE_DEFINE
  10. )
  11. add_library(importedlib UNKNOWN IMPORTED)
  12. target_compile_definitions(importedlib
  13. INTERFACE MY_IMPORTEDINTERFACE_DEFINE
  14. )
  15. add_executable(consumer
  16. "${CMAKE_CURRENT_SOURCE_DIR}/consumer.cpp"
  17. )
  18. target_compile_definitions(consumer
  19. PRIVATE target_compile_definitions importedlib
  20. $<$<TARGET_DEFINED:notdefined>:SHOULD_NOT_BE_DEFINED>
  21. $<$<TARGET_DEFINED:importedlib>:SHOULD_BE_DEFINED>
  22. )