From ea8c37b759cfcf78ddeab9b296e874ee8a5212e1 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Mon, 4 Dec 2023 07:20:36 -0500 Subject: Tests/CXXModules: add a test which scans a PCH-using source This tests that PCH usage works with scanning logic. --- Tests/RunCMake/CXXModules/RunCMakeTest.cmake | 2 ++ .../CXXModules/examples/scan-with-pch/CMakeLists.txt | 13 +++++++++++++ Tests/RunCMake/CXXModules/examples/scan-with-pch/main.cxx | 8 ++++++++ Tests/RunCMake/CXXModules/examples/scan-with-pch/pch.h | 1 + 4 files changed, 24 insertions(+) create mode 100644 Tests/RunCMake/CXXModules/examples/scan-with-pch/CMakeLists.txt create mode 100644 Tests/RunCMake/CXXModules/examples/scan-with-pch/main.cxx create mode 100644 Tests/RunCMake/CXXModules/examples/scan-with-pch/pch.h 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 -- cgit v0.12