mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-31 19:00:54 -06:00
gitlab-ci: test C++ modules using GCC
This commit is contained in:
@@ -275,6 +275,26 @@ t:hip4.2-radeon:
|
||||
variables:
|
||||
CMAKE_CI_NO_MR: "true"
|
||||
|
||||
t:linux-gcc-cxx-modules-ninja:
|
||||
extends:
|
||||
- .gcc_cxx_modules_ninja
|
||||
- .cmake_test_linux_release
|
||||
- .linux_builder_tags
|
||||
- .run_dependent
|
||||
- .needs_centos6_x86_64
|
||||
variables:
|
||||
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||
|
||||
t:linux-gcc-cxx-modules-ninja-multi:
|
||||
extends:
|
||||
- .gcc_cxx_modules_ninja_multi
|
||||
- .cmake_test_linux_release
|
||||
- .linux_builder_tags
|
||||
- .run_dependent
|
||||
- .needs_centos6_x86_64
|
||||
variables:
|
||||
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||
|
||||
b:fedora36-ninja:
|
||||
extends:
|
||||
- .fedora36_ninja
|
||||
|
||||
4
.gitlab/ci/configure_linux_gcc_cxx_modules_ninja.cmake
Normal file
4
.gitlab/ci/configure_linux_gcc_cxx_modules_ninja.cmake
Normal file
@@ -0,0 +1,4 @@
|
||||
set(CMake_TEST_MODULE_COMPILATION "named,partitions,internal_partitions" CACHE STRING "")
|
||||
set(CMake_TEST_MODULE_COMPILATION_RULES "${CMAKE_CURRENT_LIST_DIR}/cxx_modules_rules_gcc.cmake" CACHE STRING "")
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
|
||||
@@ -0,0 +1,4 @@
|
||||
set(CMake_TEST_MODULE_COMPILATION "named,partitions,internal_partitions" CACHE STRING "")
|
||||
set(CMake_TEST_MODULE_COMPILATION_RULES "${CMAKE_CURRENT_LIST_DIR}/cxx_modules_rules_gcc.cmake" CACHE STRING "")
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
|
||||
10
.gitlab/ci/cxx_modules_rules_gcc.cmake
Normal file
10
.gitlab/ci/cxx_modules_rules_gcc.cmake
Normal file
@@ -0,0 +1,10 @@
|
||||
set(CMake_TEST_CXXModules_UUID "a246741c-d067-4019-a8fb-3d16b0c9d1d3")
|
||||
|
||||
set(CMAKE_EXPERIMENTAL_CXX_MODULE_DYNDEP 1)
|
||||
string(CONCAT CMAKE_EXPERIMENTAL_CXX_SCANDEP_SOURCE
|
||||
"<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E -x c++ <SOURCE>"
|
||||
" -MT <DYNDEP_FILE> -MD -MF <DEP_FILE>"
|
||||
" -fmodules-ts -fdep-file=<DYNDEP_FILE> -fdep-output=<OBJECT> -fdep-format=trtbd"
|
||||
" -o <PREPROCESSED_SOURCE>")
|
||||
set(CMAKE_EXPERIMENTAL_CXX_MODULE_MAP_FORMAT "gcc")
|
||||
set(CMAKE_EXPERIMENTAL_CXX_MODULE_MAP_FLAG "-fmodules-ts -fmodule-mapper=<MODULE_MAP_FILE> -fdep-format=trtbd -x c++")
|
||||
@@ -299,6 +299,30 @@
|
||||
CMAKE_CONFIGURATION: hip4.2_radeon
|
||||
CMAKE_GENERATOR: "Ninja Multi-Config"
|
||||
|
||||
### C++ modules
|
||||
|
||||
.gcc_cxx_modules_x86_64:
|
||||
image: "kitware/cmake:ci-gcc_cxx_modules-x86_64-2022-06-14"
|
||||
|
||||
variables:
|
||||
GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
|
||||
CMAKE_ARCH: x86_64
|
||||
CC: "/opt/gcc-p1689/bin/gcc"
|
||||
CXX: "/opt/gcc-p1689/bin/g++"
|
||||
|
||||
.gcc_cxx_modules_ninja:
|
||||
extends: .gcc_cxx_modules_x86_64
|
||||
|
||||
variables:
|
||||
CMAKE_CONFIGURATION: linux_gcc_cxx_modules_ninja
|
||||
|
||||
.gcc_cxx_modules_ninja_multi:
|
||||
extends: .gcc_cxx_modules_x86_64
|
||||
|
||||
variables:
|
||||
CMAKE_CONFIGURATION: linux_gcc_cxx_modules_ninja_multi
|
||||
CMAKE_GENERATOR: "Ninja Multi-Config"
|
||||
|
||||
## Tags
|
||||
|
||||
.linux_builder_tags:
|
||||
|
||||
Reference in New Issue
Block a user