diff options
author | Brad King <brad.king@kitware.com> | 2021-06-03 12:18:32 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2021-06-03 12:18:32 (GMT) |
commit | 95faf9cb966d03899d6b3c3f6d8c48c46386fadd (patch) | |
tree | 94b06b681df3b8ac418d6da33b1b90d4f51e0657 /.gitlab | |
parent | 9d7ebb47ea30a75617778686ba187fa6d5e91f45 (diff) | |
parent | 9c33ff4dda643f8a93d55f9895e31dce9056134f (diff) | |
download | CMake-95faf9cb966d03899d6b3c3f6d8c48c46386fadd.zip CMake-95faf9cb966d03899d6b3c3f6d8c48c46386fadd.tar.gz CMake-95faf9cb966d03899d6b3c3f6d8c48c46386fadd.tar.bz2 |
Merge branch 'master' into ci-sccache-consistent-builds
Diffstat (limited to '.gitlab')
34 files changed, 257 insertions, 59 deletions
diff --git a/.gitlab/artifacts.yml b/.gitlab/artifacts.yml index bf8e8b6..edd313f 100644 --- a/.gitlab/artifacts.yml +++ b/.gitlab/artifacts.yml @@ -97,3 +97,12 @@ paths: # Take the install tree. - build/install-doc/ + +.cmake_org_help_artifacts: + artifacts: + expire_in: 1d + paths: + - build/html + exclude: + - build/html/.buildinfo + - build/html/objects.inv diff --git a/.gitlab/ci/configure_debian10_aarch64_ninja.cmake b/.gitlab/ci/configure_debian10_aarch64_ninja.cmake index 023cc9e..4d8dde6 100644 --- a/.gitlab/ci/configure_debian10_aarch64_ninja.cmake +++ b/.gitlab/ci/configure_debian10_aarch64_ninja.cmake @@ -1,10 +1,12 @@ set(CMake_TEST_FindALSA "ON" CACHE BOOL "") -set(CMake_TEST_FindBLAS "ON" CACHE BOOL "") +set(CMake_TEST_FindBLAS "All" CACHE STRING "") +set(CMake_TEST_FindBLAS_STATIC "Generic" CACHE STRING "") set(CMake_TEST_FindBoost "ON" CACHE BOOL "") 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 "") @@ -22,7 +24,8 @@ set(CMake_TEST_FindIconv "ON" CACHE BOOL "") set(CMake_TEST_FindIntl "ON" CACHE BOOL "") set(CMake_TEST_FindJPEG "ON" CACHE BOOL "") set(CMake_TEST_FindJsonCpp "ON" CACHE BOOL "") -set(CMake_TEST_FindLAPACK "ON" CACHE BOOL "") +set(CMake_TEST_FindLAPACK "All" CACHE STRING "") +set(CMake_TEST_FindLAPACK_STATIC "Generic" CACHE STRING "") set(CMake_TEST_FindLibArchive "ON" CACHE BOOL "") set(CMake_TEST_FindLibinput "ON" CACHE BOOL "") set(CMake_TEST_FindLibLZMA "ON" CACHE BOOL "") @@ -45,6 +48,7 @@ set(CMake_TEST_FindPatch "ON" CACHE BOOL "") set(CMake_TEST_FindPNG "ON" CACHE BOOL "") set(CMake_TEST_FindPostgreSQL "ON" CACHE BOOL "") set(CMake_TEST_FindProtobuf "ON" CACHE BOOL "") +set(CMake_TEST_FindProtobuf_gRPC "ON" CACHE BOOL "") set(CMake_TEST_FindPython "ON" CACHE BOOL "") set(CMake_TEST_FindPython_NumPy "ON" CACHE BOOL "") set(CMake_TEST_FindPython_PyPy "ON" CACHE BOOL "") diff --git a/.gitlab/ci/configure_debian10_ninja.cmake b/.gitlab/ci/configure_debian10_ninja.cmake index 74d9f12..732624a 100644 --- a/.gitlab/ci/configure_debian10_ninja.cmake +++ b/.gitlab/ci/configure_debian10_ninja.cmake @@ -1,10 +1,12 @@ set(CMake_TEST_FindALSA "ON" CACHE BOOL "") -set(CMake_TEST_FindBLAS "ON" CACHE BOOL "") +set(CMake_TEST_FindBLAS "All" CACHE STRING "") +set(CMake_TEST_FindBLAS_STATIC "Generic" CACHE STRING "") set(CMake_TEST_FindBoost "ON" CACHE BOOL "") 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 "") @@ -22,7 +24,8 @@ set(CMake_TEST_FindIconv "ON" CACHE BOOL "") set(CMake_TEST_FindIntl "ON" CACHE BOOL "") set(CMake_TEST_FindJPEG "ON" CACHE BOOL "") set(CMake_TEST_FindJsonCpp "ON" CACHE BOOL "") -set(CMake_TEST_FindLAPACK "ON" CACHE BOOL "") +set(CMake_TEST_FindLAPACK "All" CACHE STRING "") +set(CMake_TEST_FindLAPACK_STATIC "Generic" CACHE STRING "") set(CMake_TEST_FindLibArchive "ON" CACHE BOOL "") set(CMake_TEST_FindLibinput "ON" CACHE BOOL "") set(CMake_TEST_FindLibLZMA "ON" CACHE BOOL "") @@ -45,6 +48,7 @@ set(CMake_TEST_FindPatch "ON" CACHE BOOL "") set(CMake_TEST_FindPNG "ON" CACHE BOOL "") set(CMake_TEST_FindPostgreSQL "ON" CACHE BOOL "") set(CMake_TEST_FindProtobuf "ON" CACHE BOOL "") +set(CMake_TEST_FindProtobuf_gRPC "ON" CACHE BOOL "") set(CMake_TEST_FindPython "ON" CACHE BOOL "") set(CMake_TEST_FindPython_IronPython "ON" CACHE BOOL "") set(CMake_TEST_FindPython_NumPy "ON" CACHE BOOL "") diff --git a/.gitlab/ci/configure_fedora33_tidy.cmake b/.gitlab/ci/configure_fedora33_tidy.cmake deleted file mode 100644 index 9052fdc..0000000 --- a/.gitlab/ci/configure_fedora33_tidy.cmake +++ /dev/null @@ -1,3 +0,0 @@ -set(CMake_RUN_CLANG_TIDY ON CACHE BOOL "") - -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora33_common.cmake") diff --git a/.gitlab/ci/configure_fedora33_common.cmake b/.gitlab/ci/configure_fedora34_common.cmake index dee78ab..4484e26 100644 --- a/.gitlab/ci/configure_fedora33_common.cmake +++ b/.gitlab/ci/configure_fedora34_common.cmake @@ -1,5 +1,6 @@ set(BUILD_CursesDialog ON CACHE BOOL "") set(BUILD_QtDialog ON CACHE BOOL "") +set(CMake_QT_MAJOR_VERSION "5" CACHE STRING "") set(CMake_TEST_JQ "/usr/bin/jq" CACHE PATH "") set(CMake_TEST_JSON_SCHEMA ON CACHE BOOL "") diff --git a/.gitlab/ci/configure_fedora33_makefiles.cmake b/.gitlab/ci/configure_fedora34_makefiles.cmake index db2d005..48786e4 100644 --- a/.gitlab/ci/configure_fedora33_makefiles.cmake +++ b/.gitlab/ci/configure_fedora34_makefiles.cmake @@ -1,10 +1,12 @@ set(CMake_TEST_FindALSA "ON" CACHE BOOL "") -set(CMake_TEST_FindBLAS "ON" CACHE BOOL "") +set(CMake_TEST_FindBLAS "All" CACHE STRING "") +set(CMake_TEST_FindBLAS_STATIC "Generic" CACHE STRING "") set(CMake_TEST_FindBoost "ON" CACHE BOOL "") 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 "") @@ -22,7 +24,8 @@ set(CMake_TEST_FindIconv "ON" CACHE BOOL "") set(CMake_TEST_FindIntl "ON" CACHE BOOL "") set(CMake_TEST_FindJPEG "ON" CACHE BOOL "") set(CMake_TEST_FindJsonCpp "ON" CACHE BOOL "") -set(CMake_TEST_FindLAPACK "ON" CACHE BOOL "") +set(CMake_TEST_FindLAPACK "All" CACHE STRING "") +set(CMake_TEST_FindLAPACK_STATIC "Generic" CACHE STRING "") set(CMake_TEST_FindLibArchive "ON" CACHE BOOL "") set(CMake_TEST_FindLibinput "ON" CACHE BOOL "") set(CMake_TEST_FindLibLZMA "ON" CACHE BOOL "") @@ -45,6 +48,7 @@ set(CMake_TEST_FindPatch "ON" CACHE BOOL "") set(CMake_TEST_FindPNG "ON" CACHE BOOL "") set(CMake_TEST_FindPostgreSQL "ON" CACHE BOOL "") set(CMake_TEST_FindProtobuf "ON" CACHE BOOL "") +set(CMake_TEST_FindProtobuf_gRPC "ON" CACHE BOOL "") set(CMake_TEST_FindPython "ON" CACHE BOOL "") set(CMake_TEST_FindPython_NumPy "ON" CACHE BOOL "") set(CMake_TEST_FindPython_PyPy "ON" CACHE BOOL "") diff --git a/.gitlab/ci/configure_fedora33_ninja.cmake b/.gitlab/ci/configure_fedora34_ninja.cmake index 883f425..37bc189 100644 --- a/.gitlab/ci/configure_fedora33_ninja.cmake +++ b/.gitlab/ci/configure_fedora34_ninja.cmake @@ -4,4 +4,4 @@ set(CMake_TEST_GUI "ON" CACHE BOOL "") # Cover compilation with C++11 only and not higher standards. set(CMAKE_CXX_STANDARD "11" CACHE STRING "") -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora33_common.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora34_common.cmake") diff --git a/.gitlab/ci/configure_fedora33_ninja_multi.cmake b/.gitlab/ci/configure_fedora34_ninja_multi.cmake index efb4b84..efb4b84 100644 --- a/.gitlab/ci/configure_fedora33_ninja_multi.cmake +++ b/.gitlab/ci/configure_fedora34_ninja_multi.cmake diff --git a/.gitlab/ci/configure_fedora33_sphinx.cmake b/.gitlab/ci/configure_fedora34_sphinx.cmake index 90d159b..90d159b 100644 --- a/.gitlab/ci/configure_fedora33_sphinx.cmake +++ b/.gitlab/ci/configure_fedora34_sphinx.cmake diff --git a/.gitlab/ci/configure_fedora33_sphinx_package.cmake b/.gitlab/ci/configure_fedora34_sphinx_package.cmake index e839de8..e839de8 100644 --- a/.gitlab/ci/configure_fedora33_sphinx_package.cmake +++ b/.gitlab/ci/configure_fedora34_sphinx_package.cmake diff --git a/.gitlab/ci/configure_fedora34_tidy.cmake b/.gitlab/ci/configure_fedora34_tidy.cmake new file mode 100644 index 0000000..9c79303 --- /dev/null +++ b/.gitlab/ci/configure_fedora34_tidy.cmake @@ -0,0 +1,3 @@ +set(CMake_RUN_CLANG_TIDY ON CACHE BOOL "") + +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora34_common.cmake") diff --git a/.gitlab/ci/configure_intelclassic_makefiles.cmake b/.gitlab/ci/configure_intelclassic_makefiles.cmake new file mode 100644 index 0000000..469b825 --- /dev/null +++ b/.gitlab/ci/configure_intelclassic_makefiles.cmake @@ -0,0 +1 @@ +include("${CMAKE_CURRENT_LIST_DIR}/configure_intelcompiler_common.cmake") diff --git a/.gitlab/ci/configure_intelcompiler_common.cmake b/.gitlab/ci/configure_intelcompiler_common.cmake new file mode 100644 index 0000000..79f657b --- /dev/null +++ b/.gitlab/ci/configure_intelcompiler_common.cmake @@ -0,0 +1,6 @@ +set(CMake_TEST_FindBLAS "Intel10_64lp" CACHE STRING "") +set(CMake_TEST_FindBLAS_STATIC "Intel10_64lp" CACHE STRING "") +set(CMake_TEST_FindLAPACK "Intel10_64lp" CACHE STRING "") +set(CMake_TEST_FindLAPACK_STATIC "Intel10_64lp" CACHE STRING "") + +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..469b825 --- /dev/null +++ b/.gitlab/ci/configure_inteloneapi_makefiles.cmake @@ -0,0 +1 @@ +include("${CMAKE_CURRENT_LIST_DIR}/configure_intelcompiler_common.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/docker/debian10-aarch64/install_deps.sh b/.gitlab/ci/docker/debian10-aarch64/install_deps.sh index d84b3c8..fea502e 100755 --- a/.gitlab/ci/docker/debian10-aarch64/install_deps.sh +++ b/.gitlab/ci/docker/debian10-aarch64/install_deps.sh @@ -45,6 +45,7 @@ apt-get install -y \ libgif-dev \ libgl1-mesa-dev \ libglew-dev \ + libgrpc++-dev libgrpc-dev \ libgsl-dev \ libgtest-dev \ libgtk2.0-dev \ @@ -56,7 +57,7 @@ apt-get install -y \ libopenmpi-dev openmpi-bin \ libpng-dev \ libpq-dev postgresql-server-dev-11 \ - libprotobuf-dev libprotobuf-c-dev libprotoc-dev protobuf-compiler \ + libprotobuf-dev libprotobuf-c-dev libprotoc-dev protobuf-compiler protobuf-compiler-grpc \ libsdl-dev \ libsqlite3-dev \ libtiff-dev \ diff --git a/.gitlab/ci/docker/debian10/install_deps.sh b/.gitlab/ci/docker/debian10/install_deps.sh index e6c9ba0..4bb03bc 100755 --- a/.gitlab/ci/docker/debian10/install_deps.sh +++ b/.gitlab/ci/docker/debian10/install_deps.sh @@ -45,6 +45,7 @@ apt-get install -y \ libgif-dev \ libgl1-mesa-dev \ libglew-dev \ + libgrpc++-dev libgrpc-dev \ libgsl-dev \ libgtest-dev \ libgtk2.0-dev \ @@ -56,7 +57,7 @@ apt-get install -y \ libopenmpi-dev openmpi-bin \ libpng-dev \ libpq-dev postgresql-server-dev-11 \ - libprotobuf-dev libprotobuf-c-dev libprotoc-dev protobuf-compiler \ + libprotobuf-dev libprotobuf-c-dev libprotoc-dev protobuf-compiler protobuf-compiler-grpc \ libsdl-dev \ libsqlite3-dev \ libtiff-dev \ diff --git a/.gitlab/ci/docker/fedora33/Dockerfile b/.gitlab/ci/docker/fedora34/Dockerfile index 8ebcb9e..af2322d 100644 --- a/.gitlab/ci/docker/fedora33/Dockerfile +++ b/.gitlab/ci/docker/fedora34/Dockerfile @@ -1,10 +1,10 @@ -FROM fedora:33 as rvm-build +FROM fedora:34 as rvm-build MAINTAINER Ben Boeckel <ben.boeckel@kitware.com> COPY install_rvm.sh /root/install_rvm.sh RUN sh /root/install_rvm.sh -FROM fedora:33 +FROM fedora:34 MAINTAINER Ben Boeckel <ben.boeckel@kitware.com> COPY install_deps.sh /root/install_deps.sh diff --git a/.gitlab/ci/docker/fedora33/install_deps.sh b/.gitlab/ci/docker/fedora34/install_deps.sh index cdfe35e..dfd7db8 100755 --- a/.gitlab/ci/docker/fedora33/install_deps.sh +++ b/.gitlab/ci/docker/fedora34/install_deps.sh @@ -6,7 +6,8 @@ set -e dnf install --setopt=install_weak_deps=False -y \ ncurses-devel \ openssl-devel \ - qt5-qtbase-devel + qt5-qtbase-devel \ + qt6-qtbase-devel # Install development tools. dnf install --setopt=install_weak_deps=False -y \ @@ -19,7 +20,12 @@ dnf install --setopt=install_weak_deps=False -y \ dnf install --setopt=install_weak_deps=False -y \ python3-sphinx \ texinfo \ - qt5-qttools-devel + qt5-qttools-devel \ + qt6-qttools-devel + +# Install lint tools. +dnf install --setopt=install_weak_deps=False -y \ + codespell # Tools needed for the test suite. dnf install --setopt=install_weak_deps=False -y \ @@ -46,6 +52,7 @@ dnf install --setopt=install_weak_deps=False -y \ glew-devel \ gmock \ gnutls-devel \ + grpc-devel grpc-plugins \ gsl-devel \ gtest-devel \ gtk2-devel \ @@ -61,13 +68,14 @@ dnf install --setopt=install_weak_deps=False -y \ libuv-devel \ libxml2-devel \ libxslt-devel \ + mpich-devel \ openmpi-devel \ patch \ perl \ protobuf-devel protobuf-c-devel protobuf-lite-devel \ pypy2 pypy2-devel \ pypy3 pypy3-devel \ - python2 python2-devel python2-numpy \ + python2 python2-devel \ python3 python3-devel python3-numpy \ python3-jsmin python3-jsonschema \ ruby rubygems ruby-devel \ @@ -80,3 +88,9 @@ dnf install --setopt=install_weak_deps=False -y \ xz-devel dnf clean all + +# Fedora no longer packages python2 numpy. +curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py +python2 get-pip.py +rm get-pip.py +pip2.7 install numpy diff --git a/.gitlab/ci/docker/fedora33/install_ispc.sh b/.gitlab/ci/docker/fedora34/install_ispc.sh index fdc14b5..fdc14b5 100755 --- a/.gitlab/ci/docker/fedora33/install_ispc.sh +++ b/.gitlab/ci/docker/fedora34/install_ispc.sh diff --git a/.gitlab/ci/docker/fedora33/install_rvm.sh b/.gitlab/ci/docker/fedora34/install_rvm.sh index 6d4fa97..6d4fa97 100755 --- a/.gitlab/ci/docker/fedora33/install_rvm.sh +++ b/.gitlab/ci/docker/fedora34/install_rvm.sh 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_fedora33_makefiles.cmake b/.gitlab/ci/env_fedora34_makefiles.cmake index 1d0efa7..aa84e23 100644 --- a/.gitlab/ci/env_fedora33_makefiles.cmake +++ b/.gitlab/ci/env_fedora34_makefiles.cmake @@ -1,2 +1,2 @@ set(ENV{MY_RUBY_HOME} "/usr/local/rvm/rubies/ruby-2.7.0") -set(ENV{PATH} "/usr/lib64/openmpi/bin:$ENV{PATH}") +set(ENV{PATH} "/usr/lib64/mpich/bin:$ENV{PATH}") 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..dcaa643 100644 --- a/.gitlab/os-linux.yml +++ b/.gitlab/os-linux.yml @@ -5,7 +5,7 @@ ### Release .linux_prep_source: - image: "fedora:33" + image: "fedora:34" variables: GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" @@ -30,10 +30,22 @@ 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: - image: "kitware/cmake:ci-debian10-x86_64-2021-04-06" + image: "kitware/cmake:ci-debian10-x86_64-2021-05-11" variables: GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" @@ -48,7 +60,7 @@ CMake_SKIP_INSTALL: 1 .debian10_aarch64: - image: "kitware/cmake:ci-debian10-aarch64-2021-04-06" + image: "kitware/cmake:ci-debian10-aarch64-2021-05-11" variables: GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" @@ -56,8 +68,8 @@ ### Fedora -.fedora33: - image: "kitware/cmake:ci-fedora33-x86_64-2021-04-06" +.fedora34: + image: "kitware/cmake:ci-fedora34-x86_64-2021-05-21" variables: GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci/long file name for testing purposes" @@ -65,28 +77,28 @@ #### Lint builds -.fedora33_tidy: - extends: .fedora33 +.fedora34_tidy: + extends: .fedora34 variables: - CMAKE_CONFIGURATION: fedora33_tidy + CMAKE_CONFIGURATION: fedora34_tidy CTEST_NO_WARNINGS_ALLOWED: 1 CMake_SKIP_INSTALL: 1 -.fedora33_sphinx: - extends: .fedora33 +.fedora34_sphinx: + extends: .fedora34 variables: - CMAKE_CONFIGURATION: fedora33_sphinx + CMAKE_CONFIGURATION: fedora34_sphinx CTEST_NO_WARNINGS_ALLOWED: 1 CTEST_SOURCE_SUBDIRECTORY: "Utilities/Sphinx" CMake_SKIP_INSTALL: 1 -.fedora33_sphinx_package: - extends: .fedora33 +.fedora34_sphinx_package: + extends: .fedora34 variables: - CMAKE_CONFIGURATION: fedora33_sphinx_package + CMAKE_CONFIGURATION: fedora34_sphinx_package CTEST_SOURCE_SUBDIRECTORY: "Utilities/Sphinx" #### Build and test @@ -105,29 +117,50 @@ CMAKE_CONFIGURATION: debian10_aarch64_ninja CTEST_NO_WARNINGS_ALLOWED: 1 -.fedora33_ninja: - extends: .fedora33 +.fedora34_ninja: + extends: .fedora34 variables: - CMAKE_CONFIGURATION: fedora33_ninja + CMAKE_CONFIGURATION: fedora34_ninja CTEST_NO_WARNINGS_ALLOWED: 1 -.fedora33_ninja_multi: - extends: .fedora33 +.fedora34_ninja_multi: + extends: .fedora34 variables: - CMAKE_CONFIGURATION: fedora33_ninja_multi + CMAKE_CONFIGURATION: fedora34_ninja_multi CTEST_NO_WARNINGS_ALLOWED: 1 CMAKE_GENERATOR: "Ninja Multi-Config" -.fedora33_makefiles: - extends: .fedora33 +.fedora34_makefiles: + extends: .fedora34 variables: - CMAKE_CONFIGURATION: fedora33_makefiles + CMAKE_CONFIGURATION: fedora34_makefiles 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 @@ -224,6 +258,13 @@ interruptible: true +.cmake_codespell_linux: + stage: build + extends: .fedora34 + script: + - codespell + interruptible: true + .cmake_build_linux: stage: build @@ -251,6 +292,7 @@ stage: build script: + - source .gitlab/ci/env.sh # Bootstrap. - mkdir -p build/ # Exclude documentation. A job dependency provides it for packaging. @@ -313,3 +355,38 @@ - 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" + +### Documentation + +.cmake_org_help: + stage: build + extends: + - .fedora34 + - .linux_builder_tags + - .cmake_org_help_artifacts + script: + - *before_script_linux + - mkdir -p build/ + - cd build/ + - cmake ../Utilities/Sphinx -GNinja -DSPHINX_HTML=ON -DSPHINX_FLAGS="-A versionswitch=1" + - ninja diff --git a/.gitlab/os-windows.yml b/.gitlab/os-windows.yml index cd2f168..fb72ff1 100644 --- a/.gitlab/os-windows.yml +++ b/.gitlab/os-windows.yml @@ -38,7 +38,7 @@ CMAKE_CONFIGURATION: windows_vs2019_x64_ninja VCVARSALL: "${VS160COMNTOOLS}\\..\\..\\VC\\Auxiliary\\Build\\vcvarsall.bat" VCVARSPLATFORM: "x64" - VCVARSVERSION: "14.28.29910" + VCVARSVERSION: "14.29.30037" ### External testing @@ -49,7 +49,7 @@ CMAKE_CONFIGURATION: windows_vs2019_x64 CMAKE_GENERATOR: "Visual Studio 16 2019" CMAKE_GENERATOR_PLATFORM: "x64" - CMAKE_GENERATOR_TOOLSET: "v142,version=14.28.29910" + CMAKE_GENERATOR_TOOLSET: "v142,version=14.29.30037" CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true" ## Tags @@ -60,7 +60,7 @@ - windows - shell - vs2019 - - msvc-19.28-16.9 + - msvc-19.29-16.10 - nonconcurrent .windows_builder_ext_tags: @@ -69,7 +69,7 @@ - windows - shell - vs2019 - - msvc-19.28-16.9 + - msvc-19.29-16.10 - concurrent ## Windows-specific scripts diff --git a/.gitlab/rules.yml b/.gitlab/rules.yml index 256f567..4846fea 100644 --- a/.gitlab/rules.yml +++ b/.gitlab/rules.yml @@ -6,7 +6,9 @@ when: never - if: '$CMAKE_CI_NIGHTLY == "true"' when: on_success - - if: '($CMAKE_CI_PROJECT_CONTINUOUS_BRANCH != "" && $CI_COMMIT_BRANCH == $CMAKE_CI_PROJECT_CONTINUOUS_BRANCH && $CMAKE_CI_JOB_CONTINUOUS == "true")' + - if: '$CMAKE_CI_JOB_NIGHTLY == "true"' + when: never + - if: '$CMAKE_CI_PROJECT_CONTINUOUS_BRANCH != null && $CI_COMMIT_BRANCH != null && $CMAKE_CI_PROJECT_CONTINUOUS_BRANCH == $CI_COMMIT_BRANCH && $CMAKE_CI_JOB_CONTINUOUS == "true"' when: delayed start_in: 5 minutes - if: '($CMAKE_CI_NO_MR == "true" && $CI_MERGE_REQUEST_ID)' @@ -24,7 +26,9 @@ when: never - if: '$CMAKE_CI_NIGHTLY == "true"' when: on_success - - if: '($CMAKE_CI_PROJECT_CONTINUOUS_BRANCH != "" && $CI_COMMIT_BRANCH == $CMAKE_CI_PROJECT_CONTINUOUS_BRANCH && $CMAKE_CI_JOB_CONTINUOUS == "true")' + - if: '$CMAKE_CI_JOB_NIGHTLY == "true"' + when: never + - if: '$CMAKE_CI_PROJECT_CONTINUOUS_BRANCH != null && $CI_COMMIT_BRANCH != null && $CMAKE_CI_PROJECT_CONTINUOUS_BRANCH == $CI_COMMIT_BRANCH && $CMAKE_CI_JOB_CONTINUOUS == "true"' when: on_success - if: '($CMAKE_CI_NO_MR == "true" && $CI_MERGE_REQUEST_ID)' when: never @@ -43,6 +47,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' @@ -56,3 +62,15 @@ - if: '$CMAKE_CI_PACKAGE == "true"' when: on_success - when: never + +.run_only_for_continuous_master: + rules: + - if: '$CMAKE_CI_PROJECT_MAIN_BRANCH != null && $CI_COMMIT_BRANCH != null && $CMAKE_CI_PROJECT_MAIN_BRANCH == $CI_COMMIT_BRANCH' + when: on_success + - when: never + +.run_only_for_continuous_stage: + rules: + - if: '$CMAKE_CI_PROJECT_CONTINUOUS_BRANCH != null && $CI_COMMIT_BRANCH != null && $CMAKE_CI_PROJECT_CONTINUOUS_BRANCH == $CI_COMMIT_BRANCH' + when: on_success + - when: never diff --git a/.gitlab/upload.yml b/.gitlab/upload.yml index 8b8daa1..693388d 100644 --- a/.gitlab/upload.yml +++ b/.gitlab/upload.yml @@ -1,9 +1,10 @@ # Steps for uploading artifacts -.rsync_upload: - image: "fedora:32" +.rsync_upload_binary: + image: "fedora:34" stage: upload tags: + - cmake - docker - linux - build @@ -16,3 +17,21 @@ - chmod 400 $RSYNC_BINARY_KEY - ssh-keygen -y -f $RSYNC_BINARY_KEY > $RSYNC_BINARY_KEY.pub - rsync -tv --recursive -e "ssh -i $RSYNC_BINARY_KEY -o StrictHostKeyChecking=no -o LogLevel=ERROR" build/ kitware@cmake.org:$RSYNC_DESTINATION/ + +.rsync_upload_help: + stage: upload + image: "fedora:34" + tags: + - cmake + - docker + - linux + - build + environment: + name: rsync-upload + + script: + - ls build/html/index.html + - dnf install -y --setopt=install_weak_deps=False rsync openssh-clients + - chmod 400 $RSYNC_HELP_KEY + - ssh-keygen -y -f $RSYNC_HELP_KEY > $RSYNC_HELP_KEY.pub + - rsync -tv --recursive --delete -e "ssh -i $RSYNC_HELP_KEY -o StrictHostKeyChecking=no -o LogLevel=ERROR" build/html/ kitware@cmake.org:$RSYNC_DESTINATION/ |