summaryrefslogtreecommitdiffstats
path: root/.gitlab
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab')
-rw-r--r--.gitlab/ci/configure_debian10_aarch64_ninja.cmake1
-rw-r--r--.gitlab/ci/configure_debian10_ninja.cmake1
-rw-r--r--.gitlab/ci/configure_fedora33_makefiles.cmake1
-rw-r--r--.gitlab/ci/configure_intelclassic_makefiles.cmake1
-rw-r--r--.gitlab/ci/configure_inteloneapi_makefiles.cmake1
-rw-r--r--.gitlab/ci/configure_windows_vs2019_x64_ninja.cmake3
-rw-r--r--.gitlab/ci/ctest_exclusions.cmake9
-rw-r--r--.gitlab/ci/env.sh14
-rw-r--r--.gitlab/ci/env_intelclassic_common.sh9
-rw-r--r--.gitlab/ci/env_intelclassic_makefiles.sh1
-rw-r--r--.gitlab/ci/env_intelcompiler_license.sh8
-rw-r--r--.gitlab/ci/env_inteloneapi_common.sh7
-rw-r--r--.gitlab/ci/env_inteloneapi_makefiles.sh1
-rw-r--r--.gitlab/ci/gitlab_ci.cmake6
-rw-r--r--.gitlab/os-linux.yml55
-rw-r--r--.gitlab/rules.yml6
16 files changed, 114 insertions, 10 deletions
diff --git a/.gitlab/ci/configure_debian10_aarch64_ninja.cmake b/.gitlab/ci/configure_debian10_aarch64_ninja.cmake
index 023cc9e..1ad3ac4 100644
--- a/.gitlab/ci/configure_debian10_aarch64_ninja.cmake
+++ b/.gitlab/ci/configure_debian10_aarch64_ninja.cmake
@@ -5,6 +5,7 @@ set(CMake_TEST_FindBoost_Python "ON" CACHE BOOL "")
set(CMake_TEST_FindBZip2 "ON" CACHE BOOL "")
set(CMake_TEST_FindCups "ON" CACHE BOOL "")
set(CMake_TEST_FindCURL "ON" CACHE BOOL "")
+set(CMake_TEST_FindDevIL "ON" CACHE BOOL "")
set(CMake_TEST_FindDoxygen_Dot "ON" CACHE BOOL "")
set(CMake_TEST_FindDoxygen "ON" CACHE BOOL "")
set(CMake_TEST_FindEXPAT "ON" CACHE BOOL "")
diff --git a/.gitlab/ci/configure_debian10_ninja.cmake b/.gitlab/ci/configure_debian10_ninja.cmake
index 74d9f12..d925387 100644
--- a/.gitlab/ci/configure_debian10_ninja.cmake
+++ b/.gitlab/ci/configure_debian10_ninja.cmake
@@ -5,6 +5,7 @@ set(CMake_TEST_FindBoost_Python "ON" CACHE BOOL "")
set(CMake_TEST_FindBZip2 "ON" CACHE BOOL "")
set(CMake_TEST_FindCups "ON" CACHE BOOL "")
set(CMake_TEST_FindCURL "ON" CACHE BOOL "")
+set(CMake_TEST_FindDevIL "ON" CACHE BOOL "")
set(CMake_TEST_FindDoxygen_Dot "ON" CACHE BOOL "")
set(CMake_TEST_FindDoxygen "ON" CACHE BOOL "")
set(CMake_TEST_FindEXPAT "ON" CACHE BOOL "")
diff --git a/.gitlab/ci/configure_fedora33_makefiles.cmake b/.gitlab/ci/configure_fedora33_makefiles.cmake
index db2d005..882ffcd 100644
--- a/.gitlab/ci/configure_fedora33_makefiles.cmake
+++ b/.gitlab/ci/configure_fedora33_makefiles.cmake
@@ -5,6 +5,7 @@ set(CMake_TEST_FindBoost_Python "ON" CACHE BOOL "")
set(CMake_TEST_FindBZip2 "ON" CACHE BOOL "")
set(CMake_TEST_FindCups "ON" CACHE BOOL "")
set(CMake_TEST_FindCURL "ON" CACHE BOOL "")
+set(CMake_TEST_FindDevIL "ON" CACHE BOOL "")
set(CMake_TEST_FindDoxygen_Dot "ON" CACHE BOOL "")
set(CMake_TEST_FindDoxygen "ON" CACHE BOOL "")
set(CMake_TEST_FindEXPAT "ON" CACHE BOOL "")
diff --git a/.gitlab/ci/configure_intelclassic_makefiles.cmake b/.gitlab/ci/configure_intelclassic_makefiles.cmake
new file mode 100644
index 0000000..20863a2
--- /dev/null
+++ b/.gitlab/ci/configure_intelclassic_makefiles.cmake
@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
diff --git a/.gitlab/ci/configure_inteloneapi_makefiles.cmake b/.gitlab/ci/configure_inteloneapi_makefiles.cmake
new file mode 100644
index 0000000..20863a2
--- /dev/null
+++ b/.gitlab/ci/configure_inteloneapi_makefiles.cmake
@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
diff --git a/.gitlab/ci/configure_windows_vs2019_x64_ninja.cmake b/.gitlab/ci/configure_windows_vs2019_x64_ninja.cmake
index 9c30a4b..e1ae81e 100644
--- a/.gitlab/ci/configure_windows_vs2019_x64_ninja.cmake
+++ b/.gitlab/ci/configure_windows_vs2019_x64_ninja.cmake
@@ -1,4 +1,7 @@
set(CMake_TEST_WIX_NO_VERIFY "ON" CACHE BOOL "")
set(CMake_TEST_GUI "ON" CACHE BOOL "")
+set(CMake_TEST_FindOpenGL "ON" CACHE BOOL "")
+set(CMake_TEST_IPO_WORKS_C "ON" CACHE BOOL "")
+set(CMake_TEST_IPO_WORKS_CXX "ON" CACHE BOOL "")
include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_common.cmake")
diff --git a/.gitlab/ci/ctest_exclusions.cmake b/.gitlab/ci/ctest_exclusions.cmake
index a68a693..b885a6a 100644
--- a/.gitlab/ci/ctest_exclusions.cmake
+++ b/.gitlab/ci/ctest_exclusions.cmake
@@ -13,15 +13,6 @@ if (CTEST_CMAKE_GENERATOR MATCHES "Visual Studio")
"^ExternalProjectUpdateSetup$")
endif ()
-if (CMAKE_HOST_WIN32)
- list(APPEND test_exclusions
- # This test often fails with an undiagnosed subtle race due to the test
- # re-using the same objects for many files. Some copy operations fail
- # to open their input with ERROR_SHARING_VIOLATION.
- "^Module.ExternalData$"
- )
-endif()
-
string(REPLACE ";" "|" test_exclusions "${test_exclusions}")
if (test_exclusions)
set(test_exclusions "(${test_exclusions})")
diff --git a/.gitlab/ci/env.sh b/.gitlab/ci/env.sh
new file mode 100644
index 0000000..7634f5d
--- /dev/null
+++ b/.gitlab/ci/env.sh
@@ -0,0 +1,14 @@
+quietly() {
+ readonly log="/tmp/quietly-$RANDOM.log"
+ if ! "$@" >"$log" 2>&1; then
+ ret=$?
+ cat "$log"
+ rm -f "$log"
+ exit $ret
+ fi
+ rm -f "$log"
+}
+
+if test -r ".gitlab/ci/env_${CMAKE_CONFIGURATION}.sh"; then
+ source ".gitlab/ci/env_${CMAKE_CONFIGURATION}.sh"
+fi
diff --git a/.gitlab/ci/env_intelclassic_common.sh b/.gitlab/ci/env_intelclassic_common.sh
new file mode 100644
index 0000000..22b1d03
--- /dev/null
+++ b/.gitlab/ci/env_intelclassic_common.sh
@@ -0,0 +1,9 @@
+source .gitlab/ci/env_intelcompiler_license.sh
+
+if test -r /opt/intel/oneapi/setvars.sh; then
+ source /opt/intel/oneapi/setvars.sh
+elif test -r /opt/intel/bin/compilervars.sh; then
+ source /opt/intel/bin/compilervars.sh intel64
+fi
+
+export CC=icc CXX=icpc FC=ifort
diff --git a/.gitlab/ci/env_intelclassic_makefiles.sh b/.gitlab/ci/env_intelclassic_makefiles.sh
new file mode 100644
index 0000000..d1ff85e
--- /dev/null
+++ b/.gitlab/ci/env_intelclassic_makefiles.sh
@@ -0,0 +1 @@
+source .gitlab/ci/env_intelclassic_common.sh
diff --git a/.gitlab/ci/env_intelcompiler_license.sh b/.gitlab/ci/env_intelcompiler_license.sh
new file mode 100644
index 0000000..54743b2
--- /dev/null
+++ b/.gitlab/ci/env_intelcompiler_license.sh
@@ -0,0 +1,8 @@
+if test -n "$CMAKE_CI_INTELCOMPILER_LICENSE"; then
+ if test -d /opt/intel/licenses; then
+ mv "$CMAKE_CI_INTELCOMPILER_LICENSE" /opt/intel/licenses/ci.lic
+ else
+ rm "$CMAKE_CI_INTELCOMPILER_LICENSE"
+ fi
+ unset CMAKE_CI_INTELCOMPILER_LICENSE
+fi
diff --git a/.gitlab/ci/env_inteloneapi_common.sh b/.gitlab/ci/env_inteloneapi_common.sh
new file mode 100644
index 0000000..beaf3fe
--- /dev/null
+++ b/.gitlab/ci/env_inteloneapi_common.sh
@@ -0,0 +1,7 @@
+source .gitlab/ci/env_intelcompiler_license.sh
+
+if test -r /opt/intel/oneapi/setvars.sh; then
+ source /opt/intel/oneapi/setvars.sh
+fi
+
+export CC=icx CXX=icpx FC=ifx
diff --git a/.gitlab/ci/env_inteloneapi_makefiles.sh b/.gitlab/ci/env_inteloneapi_makefiles.sh
new file mode 100644
index 0000000..eefcdda
--- /dev/null
+++ b/.gitlab/ci/env_inteloneapi_makefiles.sh
@@ -0,0 +1 @@
+source .gitlab/ci/env_inteloneapi_common.sh
diff --git a/.gitlab/ci/gitlab_ci.cmake b/.gitlab/ci/gitlab_ci.cmake
index f863a27..f166215 100644
--- a/.gitlab/ci/gitlab_ci.cmake
+++ b/.gitlab/ci/gitlab_ci.cmake
@@ -17,7 +17,11 @@ if ("$ENV{CMAKE_CONFIGURATION}" STREQUAL "")
endif ()
# Set the build metadata.
-set(CTEST_BUILD_NAME "$ENV{CI_PROJECT_NAME}-$ENV{CMAKE_CONFIGURATION}")
+if(NOT "$ENV{CMAKE_CI_BUILD_NAME}" STREQUAL "")
+ set(CTEST_BUILD_NAME "$ENV{CI_PROJECT_NAME}-$ENV{CMAKE_CI_BUILD_NAME}")
+else()
+ set(CTEST_BUILD_NAME "$ENV{CI_PROJECT_NAME}-$ENV{CMAKE_CONFIGURATION}")
+endif()
set(CTEST_SITE "gitlab-ci")
set(ctest_model "Experimental")
diff --git a/.gitlab/os-linux.yml b/.gitlab/os-linux.yml
index 2670ba5..81c4d8d 100644
--- a/.gitlab/os-linux.yml
+++ b/.gitlab/os-linux.yml
@@ -30,6 +30,18 @@
variables:
BOOTSTRAP_ARGS: '-- "-DCMake_DOC_ARTIFACT_PREFIX=$CI_PROJECT_DIR/build/install-doc"'
+.needs_centos6_x86_64:
+ dependencies:
+ - build:centos6-x86_64
+ needs:
+ - build:centos6-x86_64
+
+.needs_centos7_aarch64:
+ dependencies:
+ - build:centos7-aarch64
+ needs:
+ - build:centos7-aarch64
+
### Debian
.debian10:
@@ -128,6 +140,27 @@
CTEST_NO_WARNINGS_ALLOWED: 1
CMAKE_GENERATOR: "Unix Makefiles"
+### Intel Compiler
+
+.intelcompiler:
+ image: "kitware/intelcompiler:$CMAKE_CI_INTELCOMPILER_IMAGE_TAG"
+ environment:
+ name: intel-compiler
+ variables:
+ CMAKE_ARCH: x86_64
+
+.intelclassic_makefiles:
+ extends: .intelcompiler
+ variables:
+ CMAKE_CONFIGURATION: intelclassic_makefiles
+ CMAKE_GENERATOR: "Unix Makefiles"
+
+.inteloneapi_makefiles:
+ extends: .intelcompiler
+ variables:
+ CMAKE_CONFIGURATION: inteloneapi_makefiles
+ CMAKE_GENERATOR: "Unix Makefiles"
+
### CUDA builds
.cuda10.2:
@@ -195,6 +228,7 @@
## Linux-specific scripts
.before_script_linux: &before_script_linux
+ - source .gitlab/ci/env.sh
- .gitlab/ci/cmake.sh
- .gitlab/ci/ninja.sh
- export PATH=$PWD/.gitlab:$PWD/.gitlab/cmake/bin:$PATH
@@ -251,6 +285,7 @@
stage: build
script:
+ - source .gitlab/ci/env.sh
# Bootstrap.
- mkdir -p build/
# Exclude documentation. A job dependency provides it for packaging.
@@ -313,3 +348,23 @@
- sccache --show-stats
interruptible: true
+
+.cmake_test_linux_intelclassic_makefiles:
+ extends:
+ - .intelclassic_makefiles
+ - .cmake_test_linux_release
+ - .linux_builder_tags_qt
+ - .run_manually
+ - .needs_centos6_x86_64
+ variables:
+ CMAKE_CI_JOB_NIGHTLY: "true"
+
+.cmake_test_linux_inteloneapi_makefiles:
+ extends:
+ - .inteloneapi_makefiles
+ - .cmake_test_linux_release
+ - .linux_builder_tags_qt
+ - .run_manually
+ - .needs_centos6_x86_64
+ variables:
+ CMAKE_CI_JOB_NIGHTLY: "true"
diff --git a/.gitlab/rules.yml b/.gitlab/rules.yml
index b3e5342..5685463 100644
--- a/.gitlab/rules.yml
+++ b/.gitlab/rules.yml
@@ -6,6 +6,8 @@
when: never
- if: '$CMAKE_CI_NIGHTLY == "true"'
when: on_success
+ - if: '$CMAKE_CI_JOB_NIGHTLY == "true"'
+ when: never
- if: '($CMAKE_CI_PROJECT_CONTINUOUS_BRANCH != "" && $CI_COMMIT_BRANCH == $CMAKE_CI_PROJECT_CONTINUOUS_BRANCH && $CMAKE_CI_JOB_CONTINUOUS == "true")'
when: delayed
start_in: 5 minutes
@@ -24,6 +26,8 @@
when: never
- if: '$CMAKE_CI_NIGHTLY == "true"'
when: on_success
+ - if: '$CMAKE_CI_JOB_NIGHTLY == "true"'
+ when: never
- if: '($CMAKE_CI_PROJECT_CONTINUOUS_BRANCH != "" && $CI_COMMIT_BRANCH == $CMAKE_CI_PROJECT_CONTINUOUS_BRANCH && $CMAKE_CI_JOB_CONTINUOUS == "true")'
when: on_success
- if: '($CMAKE_CI_NO_MR == "true" && $CI_MERGE_REQUEST_ID)'
@@ -42,6 +46,8 @@
when: always
- if: '$CMAKE_CI_NIGHTLY == "true"'
when: on_success
+ - if: '$CMAKE_CI_JOB_NIGHTLY == "true"'
+ when: never
- if: '($CMAKE_CI_NO_MR == "true" && $CI_MERGE_REQUEST_ID)'
when: never
- if: '$CI_MERGE_REQUEST_ID'