summaryrefslogtreecommitdiff
path: root/.gitlab/ci/cxx_modules_rules_msvc.cmake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-08-22 16:37:48 -0400
committerBrad King <brad.king@kitware.com>2022-08-22 16:50:51 -0400
commit3490d7a9fc0b2dea07b1a364d0c02b13ec88a809 (patch)
treefe3fea8221f7b138104851761c20ce92dc65e5ce /.gitlab/ci/cxx_modules_rules_msvc.cmake
parent7037cfc0f48739bd1eb3498827ebf501671302c7 (diff)
downloadcmake-3490d7a9fc0b2dea07b1a364d0c02b13ec88a809.tar.gz
ci: Enable MSVC C++ module support tests
Since commit b87645b6a5 (gitlab-ci: Update non-packaging Windows builds to MSVC 14.33 toolset, 2022-08-18), the version of MSVC used in CI test jobs supports the `cl -scanDependencies` functionality we need to support C++ modules. Enable the corresponding tests.
Diffstat (limited to '.gitlab/ci/cxx_modules_rules_msvc.cmake')
-rw-r--r--.gitlab/ci/cxx_modules_rules_msvc.cmake11
1 files changed, 11 insertions, 0 deletions
diff --git a/.gitlab/ci/cxx_modules_rules_msvc.cmake b/.gitlab/ci/cxx_modules_rules_msvc.cmake
new file mode 100644
index 0000000000..5f0ae7685c
--- /dev/null
+++ b/.gitlab/ci/cxx_modules_rules_msvc.cmake
@@ -0,0 +1,11 @@
+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> <DEFINES> <INCLUDES> <FLAGS> <SOURCE> -nologo -TP"
+ " -showIncludes"
+ " -scanDependencies <DYNDEP_FILE>"
+ " -Fo<OBJECT>")
+set(CMAKE_EXPERIMENTAL_CXX_SCANDEP_DEPFILE_FORMAT "msvc")
+set(CMAKE_EXPERIMENTAL_CXX_MODULE_MAP_FORMAT "msvc")
+set(CMAKE_EXPERIMENTAL_CXX_MODULE_MAP_FLAG "@<MODULE_MAP_FILE>")