NinjaDependInfoCompileDatabase.cmake 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. # Fake out that we have dyndep; we only need to generate, not actually build
  2. # here.
  3. set(CMAKE_CXX_SCANDEP_SOURCE "")
  4. set(CMAKE_EXPERIMENTAL_EXPORT_BUILD_DATABASE "73194a1d-c0b5-41b9-9190-a4512925e192")
  5. enable_language(CXX)
  6. if (NOT CMAKE_GENERATOR MATCHES "Ninja")
  7. message(FATAL_ERROR
  8. "This test requires a 'Ninja' generator to be used.")
  9. endif ()
  10. add_library(ninja-compiledb-public)
  11. target_sources(ninja-compiledb-public
  12. PRIVATE
  13. sources/module-impl.cxx
  14. sources/module-internal-part-impl.cxx
  15. sources/module-part-impl.cxx
  16. PUBLIC
  17. FILE_SET modules TYPE CXX_MODULES
  18. BASE_DIRS
  19. "${CMAKE_CURRENT_SOURCE_DIR}/sources"
  20. FILES
  21. sources/module.cxx
  22. sources/module-part.cxx
  23. FILE_SET internal_partitions TYPE CXX_MODULES FILES
  24. sources/module-internal-part.cxx)
  25. target_compile_features(ninja-compiledb-public
  26. PRIVATE
  27. cxx_std_20)
  28. set_property(TARGET ninja-compiledb-public
  29. PROPERTY EXPORT_BUILD_DATABASE 1)
  30. add_library(ninja-compiledb-private)
  31. target_sources(ninja-compiledb-private
  32. PRIVATE
  33. sources/module-impl.cxx
  34. sources/module-internal-part-impl.cxx
  35. sources/module-part-impl.cxx
  36. PRIVATE
  37. FILE_SET modules TYPE CXX_MODULES
  38. BASE_DIRS
  39. "${CMAKE_CURRENT_SOURCE_DIR}/sources"
  40. FILES
  41. sources/module.cxx
  42. sources/module-part.cxx
  43. FILE_SET internal_partitions TYPE CXX_MODULES FILES
  44. sources/module-internal-part.cxx)
  45. target_compile_features(ninja-compiledb-private
  46. PRIVATE
  47. cxx_std_20)
  48. set_property(TARGET ninja-compiledb-private
  49. PROPERTY EXPORT_BUILD_DATABASE 1)