summaryrefslogtreecommitdiffstats
path: root/Tests
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2023-12-05 14:25:37 (GMT)
committerKitware Robot <kwrobot@kitware.com>2023-12-05 14:25:51 (GMT)
commite05cd2871df27e10fb14c7b3cf65dceb9752f843 (patch)
tree807f550f9f873740abad139a16c3feb1d24ecc01 /Tests
parentb709c42312f033a7b9fbe39ab2fa765ad5a219f6 (diff)
parent40dc13b24292354d07b9720d636fa48ab3eee219 (diff)
downloadCMake-e05cd2871df27e10fb14c7b3cf65dceb9752f843.zip
CMake-e05cd2871df27e10fb14c7b3cf65dceb9752f843.tar.gz
CMake-e05cd2871df27e10fb14c7b3cf65dceb9752f843.tar.bz2
Merge topic 'cxxmodules-pch'
40dc13b242 cmNinjaTargetGenerator: PCH files do not need dyndep f61c64cd1c cmLocalGenerator: prevent scanning of PCH source files ea8c37b759 Tests/CXXModules: add a test which scans a PCH-using source Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9032
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