Tests/CXXModules: add a test with duplicate sources

See: #26549
This commit is contained in:
Ben Boeckel
2025-01-09 16:23:16 +01:00
parent 627d710570
commit 5cfb8ae790
4 changed files with 34 additions and 0 deletions

View File

@@ -321,6 +321,7 @@ endif ()
# Tests which require collation work.
if ("collation" IN_LIST CMake_TEST_MODULE_COMPILATION)
run_cxx_module_test(duplicate-sources)
run_cxx_module_test(public-req-private)
set(RunCMake_CXXModules_NO_TEST 1)
run_cxx_module_test(req-private-other-target)

View File

@@ -0,0 +1,19 @@
cmake_minimum_required(VERSION 3.31)
project(cxx_modules_duplicate_sources CXX)
include("${CMAKE_SOURCE_DIR}/../cxx-modules-rules.cmake")
add_executable(duplicate_sources)
target_sources(duplicate_sources
PRIVATE
main.cxx
PRIVATE
FILE_SET CXX_MODULES
BASE_DIRS
"${CMAKE_CURRENT_SOURCE_DIR}"
FILES
duplicate.cxx
duplicate.cxx)
target_compile_features(duplicate_sources PRIVATE cxx_std_20)
add_test(NAME duplicate_sources COMMAND duplicate_sources)

View File

@@ -0,0 +1,8 @@
module;
export module duplicate;
export int from_import()
{
return 0;
}

View File

@@ -0,0 +1,6 @@
import duplicate;
int main()
{
return from_import();
}