Browse Source

MSVC: don't opt into dyndep support

Instead, just set the variables for how scanning works since that is
part of the compiler mechanisms.

Fixes: #24198
Ben Boeckel 3 years ago
parent
commit
12e4bc73cb

+ 2 - 0
.gitlab/ci/cxx_modules_rules_msvc.cmake

@@ -1 +1,3 @@
 set(CMake_TEST_CXXModules_UUID "a246741c-d067-4019-a8fb-3d16b0c9d1d3")
 set(CMake_TEST_CXXModules_UUID "a246741c-d067-4019-a8fb-3d16b0c9d1d3")
+
+set(CMAKE_EXPERIMENTAL_CXX_MODULE_DYNDEP 1)

+ 2 - 1
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
 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
 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:
 For example, add code like the following to a test project:
 
 

+ 0 - 1
Modules/Compiler/MSVC-CXX.cmake

@@ -79,7 +79,6 @@ elseif (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 16.0)
 endif()
 endif()
 
 
 if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "19.34")
 if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "19.34")
-  set(CMAKE_EXPERIMENTAL_CXX_MODULE_DYNDEP 1)
   string(CONCAT CMAKE_EXPERIMENTAL_CXX_SCANDEP_SOURCE
   string(CONCAT CMAKE_EXPERIMENTAL_CXX_SCANDEP_SOURCE
     "<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> <SOURCE> -nologo -TP"
     "<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> <SOURCE> -nologo -TP"
     " -showIncludes"
     " -showIncludes"