PchInterface.cmake 602 B

123456789101112131415161718192021222324
  1. cmake_minimum_required(VERSION 3.15)
  2. project(PchInterface C)
  3. add_library(foo foo.c)
  4. target_include_directories(foo PUBLIC include)
  5. target_precompile_headers(foo PUBLIC
  6. include/foo.h
  7. \"foo2.h\"
  8. <stdio.h>
  9. \"string.h\"
  10. )
  11. if(CMAKE_C_COMPILER_ID STREQUAL "MSVC")
  12. set_property(SOURCE foo.c APPEND PROPERTY COMPILE_OPTIONS "-WX-")
  13. endif()
  14. add_library(bar INTERFACE)
  15. target_include_directories(bar INTERFACE include)
  16. target_precompile_headers(bar INTERFACE include/bar.h)
  17. add_executable(foobar foobar.c)
  18. target_link_libraries(foobar foo bar)
  19. enable_testing()
  20. add_test(NAME foobar COMMAND foobar)