diff --git a/.gitlab/ci/cxx_modules_rules_msvc.cmake b/.gitlab/ci/cxx_modules_rules_msvc.cmake index 2b09b0e26d..cb327fd94e 100644 --- a/.gitlab/ci/cxx_modules_rules_msvc.cmake +++ b/.gitlab/ci/cxx_modules_rules_msvc.cmake @@ -1 +1,3 @@ set(CMake_TEST_CXXModules_UUID "a246741c-d067-4019-a8fb-3d16b0c9d1d3") + +set(CMAKE_EXPERIMENTAL_CXX_MODULE_DYNDEP 1) diff --git a/Help/dev/experimental.rst b/Help/dev/experimental.rst index 78770f77a2..03eb0762b5 100644 --- a/Help/dev/experimental.rst +++ b/Help/dev/experimental.rst @@ -41,7 +41,8 @@ to tell CMake how to invoke the C++20 module dependency scanning tool. MSVC 19.34 (provided with Visual Studio 17.4) and above contains the support that CMake needs and has these variables already set up as required and only -the UUID variable needs to be set. +the UUID and the ``CMAKE_EXPERIMENTAL_CXX_MODULE_DYNDEP`` variables need to be +set. For example, add code like the following to a test project: diff --git a/Modules/Compiler/MSVC-CXX.cmake b/Modules/Compiler/MSVC-CXX.cmake index 212f6d1958..10a9073ac9 100644 --- a/Modules/Compiler/MSVC-CXX.cmake +++ b/Modules/Compiler/MSVC-CXX.cmake @@ -79,7 +79,6 @@ elseif (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 16.0) endif() if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "19.34") - set(CMAKE_EXPERIMENTAL_CXX_MODULE_DYNDEP 1) string(CONCAT CMAKE_EXPERIMENTAL_CXX_SCANDEP_SOURCE " -nologo -TP" " -showIncludes"