Browse Source

Merge topic 'ci-openmp-macos'

7ef3638454 ci: Enable FindOpenMP tests on macOS Ninja and Makefiles jobs

Acked-by: Kitware Robot <[email protected]>
Merge-request: !7912
Brad King 3 years ago
parent
commit
0ebee2a14b

+ 1 - 0
.gitlab/.gitignore

@@ -8,6 +8,7 @@
 /mingw
 /msvc*
 /ninja*
+/openmp
 /open-watcom*
 /python*
 /qt*

+ 3 - 0
.gitlab/ci/configure_macos_arm64_ninja.cmake

@@ -1,3 +1,6 @@
+set(CMake_TEST_FindOpenMP "ON" CACHE BOOL "")
+set(CMake_TEST_FindOpenMP_C "ON" CACHE BOOL "")
+set(CMake_TEST_FindOpenMP_CXX "ON" CACHE BOOL "")
 set(CMake_TEST_GUI "ON" CACHE BOOL "")
 include("${CMAKE_CURRENT_LIST_DIR}/configure_macos_common.cmake")
 include("${CMAKE_CURRENT_LIST_DIR}/configure_common.cmake")

+ 3 - 0
.gitlab/ci/configure_macos_x86_64_makefiles.cmake

@@ -1,3 +1,6 @@
+set(CMake_TEST_FindOpenMP "ON" CACHE BOOL "")
+set(CMake_TEST_FindOpenMP_C "ON" CACHE BOOL "")
+set(CMake_TEST_FindOpenMP_CXX "ON" CACHE BOOL "")
 set(CMake_TEST_GUI "ON" CACHE BOOL "")
 if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "")
   set(CMake_TEST_ISPC "ON" CACHE STRING "")

+ 3 - 0
.gitlab/ci/configure_macos_x86_64_ninja.cmake

@@ -1,3 +1,6 @@
+set(CMake_TEST_FindOpenMP "ON" CACHE BOOL "")
+set(CMake_TEST_FindOpenMP_C "ON" CACHE BOOL "")
+set(CMake_TEST_FindOpenMP_CXX "ON" CACHE BOOL "")
 set(CMake_TEST_GUI "ON" CACHE BOOL "")
 if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "")
   set(CMake_TEST_ISPC "ON" CACHE STRING "")

+ 1 - 0
.gitlab/ci/env_macos_arm64_ninja.sh

@@ -0,0 +1 @@
+. .gitlab/ci/openmp-env.sh

+ 1 - 0
.gitlab/ci/env_macos_x86_64_makefiles.sh

@@ -1,3 +1,4 @@
+. .gitlab/ci/openmp-env.sh
 if test "$CMAKE_CI_NIGHTLY" = "true"; then
   source .gitlab/ci/ispc-env.sh
 fi

+ 1 - 0
.gitlab/ci/env_macos_x86_64_ninja.sh

@@ -1,3 +1,4 @@
+. .gitlab/ci/openmp-env.sh
 if test "$CMAKE_CI_NIGHTLY" = "true"; then
   source .gitlab/ci/ispc-env.sh
 fi

+ 3 - 0
.gitlab/ci/openmp-env.sh

@@ -0,0 +1,3 @@
+.gitlab/ci/openmp.sh
+export CMAKE_PREFIX_PATH=$PWD/.gitlab/openmp${CMAKE_PREFIX_PATH:+:$CMAKE_PREFIX_PATH}
+export DYLD_LIBRARY_PATH=$PWD/.gitlab/openmp/lib${DYLD_LIBRARY_PATH:+:$DYLD_LIBRARY_PATH}

+ 32 - 0
.gitlab/ci/openmp.sh

@@ -0,0 +1,32 @@
+#!/bin/sh
+
+set -e
+
+baseurl="https://cmake.org/files/dependencies/openmp"
+
+case "$(uname -s)-$(uname -m)" in
+    Darwin-*)
+        shatool="shasum -a 256"
+        sha256sum="6eef660db7a085a04f87e4aac79da9f37d26ff0fb17c8781d3a21bd5244997e9"
+        filename="openmp-12.0.1-darwin20-Release"
+        # tarball contains usr/local/
+        strip_components=--strip-components=2
+        ;;
+    *)
+        echo "Unrecognized platform $(uname -s)-$(uname -m)"
+        exit 1
+        ;;
+esac
+readonly shatool
+readonly sha256sum
+
+readonly tarball="$filename.tar.gz"
+
+cd .gitlab
+mkdir -p openmp
+
+echo "$sha256sum  $tarball" > openmp.sha256sum
+curl -OL "$baseurl/$tarball"
+$shatool --check openmp.sha256sum
+tar -C openmp $strip_components -xzf $tarball
+rm $tarball openmp.sha256sum

+ 1 - 1
.gitlab/os-macos.yml

@@ -143,7 +143,7 @@
     - ninja --version
     # Download Qt
     - cmake -P .gitlab/ci/download_qt.cmake
-    - export CMAKE_PREFIX_PATH=$PWD/.gitlab/qt
+    - export CMAKE_PREFIX_PATH=$PWD/.gitlab/qt${CMAKE_PREFIX_PATH:+:$CMAKE_PREFIX_PATH}
 
 .cmake_build_macos:
     stage: build