Bläddra i källkod

ci: add C++ module rules file for Clang

Ben Boeckel 3 år sedan
förälder
incheckning
0b333de923
1 ändrade filer med 16 tillägg och 0 borttagningar
  1. 16 0
      .gitlab/ci/cxx_modules_rules_clang.cmake

+ 16 - 0
.gitlab/ci/cxx_modules_rules_clang.cmake

@@ -0,0 +1,16 @@
+set(CMake_TEST_CXXModules_UUID "a246741c-d067-4019-a8fb-3d16b0c9d1d3")
+
+set(CMAKE_EXPERIMENTAL_CXX_MODULE_DYNDEP 1)
+string(CONCAT CMAKE_EXPERIMENTAL_CXX_SCANDEP_SOURCE
+  "${CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS}"
+  " -format=p1689 --p1689-targeted-file-name=<SOURCE> --p1689-targeted-output=<OBJECT> --"
+  " <DEFINES> <INCLUDES> <FLAGS> -x c++ <SOURCE>"
+  " > <DYNDEP_FILE>")
+# No support for `-MF` discovered dependencies in `clang-scan-deps`.
+set(CMAKE_EXPERIMENTAL_CXX_SCANDEP_DEPFILE_FORMAT "none")
+set(CMAKE_EXPERIMENTAL_CXX_MODULE_MAP_FORMAT "clang")
+set(CMAKE_EXPERIMENTAL_CXX_MODULE_MAP_FLAG "@<MODULE_MAP_FILE>")
+
+# Default to C++ extensions being off. Clang's modules support have trouble
+# with extensions right now.
+set(CMAKE_CXX_EXTENSIONS OFF)