summaryrefslogtreecommitdiffstats
path: root/Tests
diff options
context:
space:
mode:
authorBen Boeckel <ben.boeckel@kitware.com>2023-12-04 12:20:36 (GMT)
committerBen Boeckel <ben.boeckel@kitware.com>2023-12-04 12:20:36 (GMT)
commitea8c37b759cfcf78ddeab9b296e874ee8a5212e1 (patch)
treede29f3bac13c1cadb07de905ceb0483c9e7bddb0 /Tests
parent8bd78627dd3d4d2b6f83a4b688ad97cc71840857 (diff)
downloadCMake-ea8c37b759cfcf78ddeab9b296e874ee8a5212e1.zip
CMake-ea8c37b759cfcf78ddeab9b296e874ee8a5212e1.tar.gz
CMake-ea8c37b759cfcf78ddeab9b296e874ee8a5212e1.tar.bz2
Tests/CXXModules: add a test which scans a PCH-using source
This tests that PCH usage works with scanning logic.
Diffstat (limited to 'Tests')
-rw-r--r--Tests/RunCMake/CXXModules/RunCMakeTest.cmake2
-rw-r--r--Tests/RunCMake/CXXModules/examples/scan-with-pch/CMakeLists.txt13
-rw-r--r--Tests/RunCMake/CXXModules/examples/scan-with-pch/main.cxx8
-rw-r--r--Tests/RunCMake/CXXModules/examples/scan-with-pch/pch.h1
4 files changed, 24 insertions, 0 deletions
diff --git a/Tests/RunCMake/CXXModules/RunCMakeTest.cmake b/Tests/RunCMake/CXXModules/RunCMakeTest.cmake
index 781c708..0c0f1b4 100644
--- a/Tests/RunCMake/CXXModules/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CXXModules/RunCMakeTest.cmake
@@ -165,6 +165,8 @@ if (RunCMake_GENERATOR MATCHES "Ninja")
run_cxx_module_test_target(ninja-cmp0154 "${ninja_cmp0154_target}")
endif ()
+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)
diff --git a/Tests/RunCMake/CXXModules/examples/scan-with-pch/CMakeLists.txt b/Tests/RunCMake/CXXModules/examples/scan-with-pch/CMakeLists.txt
new file mode 100644
index 0000000..e3e7561
--- /dev/null
+++ b/Tests/RunCMake/CXXModules/examples/scan-with-pch/CMakeLists.txt
@@ -0,0 +1,13 @@
+cmake_minimum_required(VERSION 3.28)
+project(cxx_modules_scan_with_pch CXX)
+
+include("${CMAKE_SOURCE_DIR}/../cxx-modules-rules.cmake")
+
+add_executable(simple)
+target_sources(simple
+ PRIVATE
+ main.cxx)
+target_compile_features(simple PUBLIC cxx_std_20)
+target_precompile_headers(simple PRIVATE pch.h)
+
+add_test(NAME simple COMMAND simple)
diff --git a/Tests/RunCMake/CXXModules/examples/scan-with-pch/main.cxx b/Tests/RunCMake/CXXModules/examples/scan-with-pch/main.cxx
new file mode 100644
index 0000000..33bd41e
--- /dev/null
+++ b/Tests/RunCMake/CXXModules/examples/scan-with-pch/main.cxx
@@ -0,0 +1,8 @@
+#ifndef from_pch
+# error "pch not present"
+#endif
+
+int main(int argc, char* argv[])
+{
+ return 0;
+}
diff --git a/Tests/RunCMake/CXXModules/examples/scan-with-pch/pch.h b/Tests/RunCMake/CXXModules/examples/scan-with-pch/pch.h
new file mode 100644
index 0000000..2841ee9
--- /dev/null
+++ b/Tests/RunCMake/CXXModules/examples/scan-with-pch/pch.h
@@ -0,0 +1 @@
+#define from_pch