diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4e240785ff..3c7758df2c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -478,6 +478,16 @@ t:hip6.3-radeon: variables: CMAKE_CI_JOB_NIGHTLY: "true" +t:linux-gcc-cxx-modules-reloc-ninja: + extends: + - .gcc_cxx_modules_reloc_ninja + - .cmake_test_linux_release + - .linux_x86_64_tags + - .run_dependent + - .needs_centos7_x86_64 + variables: + CMAKE_CI_JOB_NIGHTLY: "true" + t:linux-gcc-cxx-modules-ninja: extends: - .gcc_cxx_modules_ninja diff --git a/.gitlab/ci/configure_linux_gcc_cxx_modules_reloc_ninja.cmake b/.gitlab/ci/configure_linux_gcc_cxx_modules_reloc_ninja.cmake new file mode 100644 index 0000000000..75e94df868 --- /dev/null +++ b/.gitlab/ci/configure_linux_gcc_cxx_modules_reloc_ninja.cmake @@ -0,0 +1,13 @@ +# "Misplace" the `libstdc++.modules.json` file so that +# `CMAKE_CXX_STDLIB_MODULES_JSON` is needed to use `import std`. +set(gcc_prefix "/opt/gcc-importstd") +set(CMake_TEST_CXX_STDLIB_MODULES_JSON + "${gcc_prefix}/lib64/libstdc++.modules.json" + CACHE FILEPATH "") +file(MAKE_DIRECTORY + "${gcc_prefix}/lib64.reloc") +file(RENAME + "${gcc_prefix}/lib64/libstdc++.modules.json" + "${CMake_TEST_CXX_STDLIB_MODULES_JSON}") + +include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake") diff --git a/.gitlab/os-linux.yml b/.gitlab/os-linux.yml index c262945da9..a076df3d04 100644 --- a/.gitlab/os-linux.yml +++ b/.gitlab/os-linux.yml @@ -524,6 +524,13 @@ variables: CMAKE_CONFIGURATION: linux_gcc_cxx_modules_ninja +.gcc_cxx_modules_reloc_ninja: + extends: .gcc_cxx_modules_x86_64 + + variables: + CMAKE_CONFIGURATION: linux_gcc_cxx_modules_reloc_ninja + CTEST_LABELS: "CXXModules" + .gcc_cxx_modules_ninja_multi: extends: .gcc_cxx_modules_x86_64