Browse Source

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.
pull/354/head
Brad King 3 years ago
parent
commit
3490d7a9fc
  1. 2
      .gitlab/ci/configure_windows_msvc_cxx_modules_common.cmake
  2. 1
      .gitlab/ci/configure_windows_vs2022_x64_ninja.cmake
  3. 1
      .gitlab/ci/configure_windows_vs2022_x64_ninja_multi.cmake
  4. 11
      .gitlab/ci/cxx_modules_rules_msvc.cmake

2
.gitlab/ci/configure_windows_msvc_cxx_modules_common.cmake

@ -0,0 +1,2 @@
set(CMake_TEST_MODULE_COMPILATION "named,partitions,internal_partitions,shared,export_bmi,install_bmi" CACHE STRING "")
set(CMake_TEST_MODULE_COMPILATION_RULES "${CMAKE_CURRENT_LIST_DIR}/cxx_modules_rules_msvc.cmake" CACHE STRING "")

1
.gitlab/ci/configure_windows_vs2022_x64_ninja.cmake

@ -2,4 +2,5 @@ if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "")
set(CMake_TEST_ISPC "ON" CACHE STRING "")
endif()
include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_msvc_cxx_modules_common.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_vs_common_ninja.cmake")

1
.gitlab/ci/configure_windows_vs2022_x64_ninja_multi.cmake

@ -2,4 +2,5 @@ if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "")
set(CMake_TEST_ISPC "ON" CACHE STRING "")
endif()
include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_msvc_cxx_modules_common.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_msvc_common.cmake")

11
.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>")
Loading…
Cancel
Save