summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
diff options
context:
space:
mode:
authorBen Boeckel <ben.boeckel@kitware.com>2023-12-26 16:50:33 (GMT)
committerBen Boeckel <ben.boeckel@kitware.com>2024-01-06 16:18:57 (GMT)
commit6c9614cbf4538924367ffd422f69e7ad086543d2 (patch)
treeb1c979d437c0daa6286c0e6702fd3e1595b17df8 /Tests/RunCMake
parent34f4423851a09aeccab8ca6e135c31de4bf149e0 (diff)
downloadCMake-6c9614cbf4538924367ffd422f69e7ad086543d2.zip
CMake-6c9614cbf4538924367ffd422f69e7ad086543d2.tar.gz
CMake-6c9614cbf4538924367ffd422f69e7ad086543d2.tar.bz2
Tests/CXXModules: add a test case for VS generation without flags
Previously, the `ScanSourceForModuleDependencies` flag was not added to the VS project if "nothing" prompted custom flags. See: #25519
Diffstat (limited to 'Tests/RunCMake')
-rw-r--r--Tests/RunCMake/CXXModules/RunCMakeTest.cmake1
-rw-r--r--Tests/RunCMake/CXXModules/examples/vs-without-flags/CMakeLists.txt22
-rw-r--r--Tests/RunCMake/CXXModules/examples/vs-without-flags/main.cxx6
-rw-r--r--Tests/RunCMake/CXXModules/examples/vs-without-flags/module.cxx6
4 files changed, 35 insertions, 0 deletions
diff --git a/Tests/RunCMake/CXXModules/RunCMakeTest.cmake b/Tests/RunCMake/CXXModules/RunCMakeTest.cmake
index fcfa60a..514e0f3 100644
--- a/Tests/RunCMake/CXXModules/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CXXModules/RunCMakeTest.cmake
@@ -170,6 +170,7 @@ run_cxx_module_test(scan-with-pch)
# Tests which use named modules.
if ("named" IN_LIST CMake_TEST_MODULE_COMPILATION)
run_cxx_module_test(simple)
+ run_cxx_module_test(vs-without-flags)
run_cxx_module_test(library library-static -DBUILD_SHARED_LIBS=OFF)
run_cxx_module_test(object-library)
run_cxx_module_test(generated)
diff --git a/Tests/RunCMake/CXXModules/examples/vs-without-flags/CMakeLists.txt b/Tests/RunCMake/CXXModules/examples/vs-without-flags/CMakeLists.txt
new file mode 100644
index 0000000..0d18a66
--- /dev/null
+++ b/Tests/RunCMake/CXXModules/examples/vs-without-flags/CMakeLists.txt
@@ -0,0 +1,22 @@
+cmake_minimum_required(VERSION 3.28)
+project(cxx_modules_vs_without_flags CXX)
+
+include("${CMAKE_SOURCE_DIR}/../cxx-modules-rules.cmake")
+
+set(CMAKE_CXX_STANDARD 23)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+set(CMAKE_CXX_EXTENSIONS OFF)
+set(CMAKE_CXX_SCAN_FOR_MODULES ON)
+
+add_executable(vs_without_flags)
+target_sources(vs_without_flags
+ PRIVATE
+ main.cxx
+ PRIVATE
+ FILE_SET CXX_MODULES
+ BASE_DIRS
+ "${CMAKE_CURRENT_SOURCE_DIR}"
+ FILES
+ module.cxx)
+
+add_test(NAME vs_without_flags COMMAND vs_without_flags)
diff --git a/Tests/RunCMake/CXXModules/examples/vs-without-flags/main.cxx b/Tests/RunCMake/CXXModules/examples/vs-without-flags/main.cxx
new file mode 100644
index 0000000..239ab00
--- /dev/null
+++ b/Tests/RunCMake/CXXModules/examples/vs-without-flags/main.cxx
@@ -0,0 +1,6 @@
+import mod;
+
+int main(int argc, char* argv[])
+{
+ return f();
+}
diff --git a/Tests/RunCMake/CXXModules/examples/vs-without-flags/module.cxx b/Tests/RunCMake/CXXModules/examples/vs-without-flags/module.cxx
new file mode 100644
index 0000000..27a61a6
--- /dev/null
+++ b/Tests/RunCMake/CXXModules/examples/vs-without-flags/module.cxx
@@ -0,0 +1,6 @@
+export module mod;
+
+export int f()
+{
+ return 0;
+}