aboutsummaryrefslogtreecommitdiff
path: root/ci
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@archlinux.org>2022-07-10 17:52:01 -0400
committerEli Schwartz <eschwartz@archlinux.org>2022-07-11 17:58:02 -0400
commit1521bdd9fd42ef216f3c3cee4a9c6124e131143e (patch)
treeca94f75d23cfc5c891be8717cc7298bc506878b0 /ci
parent30dc26a0fb1ba0d23261df289ef12bbeda7660fd (diff)
downloadmeson-1521bdd9fd42ef216f3c3cee4a9c6124e131143e.zip
meson-1521bdd9fd42ef216f3c3cee4a9c6124e131143e.tar.gz
meson-1521bdd9fd42ef216f3c3cee4a9c6124e131143e.tar.bz2
CI: install ifort on Windows
This enables the fortran tests for Azure. We only test on x64, because: - ifort isn't arm64 compatible - x86 may in theory exist, but Meson reports it cannot compile executables
Diffstat (limited to 'ci')
-rw-r--r--ci/intel-scripts/activate_windows.bat16
-rwxr-xr-xci/intel-scripts/cache_exclude_windows.sh15
-rw-r--r--ci/intel-scripts/install_windows.bat16
-rw-r--r--ci/run.ps12
4 files changed, 48 insertions, 1 deletions
diff --git a/ci/intel-scripts/activate_windows.bat b/ci/intel-scripts/activate_windows.bat
new file mode 100644
index 0000000..f028a17
--- /dev/null
+++ b/ci/intel-scripts/activate_windows.bat
@@ -0,0 +1,16 @@
+REM SPDX-FileCopyrightText: 2020 Intel Corporation
+REM
+REM SPDX-License-Identifier: MIT
+
+set VS_VER=%1
+
+@call "C:\Program Files (x86)\Intel\oneAPI\setvars-vcvarsall.bat" %VS_VER%
+
+for /f "tokens=* usebackq" %%f in (`dir /b "C:\Program Files (x86)\Intel\oneAPI\compiler\" ^| findstr /V latest ^| sort`) do @set "LATEST_VERSION=%%f"
+@call "C:\Program Files (x86)\Intel\oneAPI\compiler\%LATEST_VERSION%\env\vars.bat"
+
+echo "Visual Studio Version: %VS_VER%"
+echo "OneAPI version: %LATEST_VERSION%"
+echo "C:\Program Files (x86)\Intel\oneAPI\compiler\%LATEST_VERSION%\env\vars.bat"
+echo "OneAPI root directory: %ONEAPI_ROOT%"
+where ifort.exe
diff --git a/ci/intel-scripts/cache_exclude_windows.sh b/ci/intel-scripts/cache_exclude_windows.sh
new file mode 100755
index 0000000..ba672f2
--- /dev/null
+++ b/ci/intel-scripts/cache_exclude_windows.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+# SPDX-FileCopyrightText: 2020 Intel Corporation
+#
+# SPDX-License-Identifier: MIT
+
+#shellcheck disable=SC2010
+LATEST_VERSION=$(ls -1 "C:\Program Files (x86)\Intel\oneAPI\compiler" | grep -v latest | sort | tail -1)
+
+rm -rf "C:\Program Files (x86)\Intel\oneAPI\compiler\'$LATEST_VERSION'\windows\compiler\lib\ia32_win"
+rm -rf "C:\Program Files (x86)\Intel\oneAPI\compiler\'$LATEST_VERSION'\windows\bin\intel64_ia32"
+rm -rf "C:\Program Files (x86)\Intel\oneAPI\compiler\'$LATEST_VERSION'\windows\lib\emu"
+rm -rf "C:\Program Files (x86)\Intel\oneAPI\compiler\'$LATEST_VERSION'\windows\lib\oclfpga"
+rm -rf "C:\Program Files (x86)\Intel\oneAPI\compiler\'$LATEST_VERSION'\windows\lib\ocloc"
+rm -rf "C:\Program Files (x86)\Intel\oneAPI\compiler\'$LATEST_VERSION'\windows\lib\x86"
diff --git a/ci/intel-scripts/install_windows.bat b/ci/intel-scripts/install_windows.bat
new file mode 100644
index 0000000..ebba9d5
--- /dev/null
+++ b/ci/intel-scripts/install_windows.bat
@@ -0,0 +1,16 @@
+REM SPDX-FileCopyrightText: 2022 Intel Corporation
+REM
+REM SPDX-License-Identifier: MIT
+
+set URL=%1
+set COMPONENTS=%2
+
+curl.exe --output %TEMP%\webimage.exe --url %URL% --retry 5 --retry-delay 5
+start /b /wait %TEMP%\webimage.exe -s -x -f webimage_extracted --log extract.log
+del %TEMP%\webimage.exe
+if "%COMPONENTS%"=="" (
+ webimage_extracted\bootstrapper.exe -s --action install --eula=accept -p=NEED_VS2017_INTEGRATION=0 -p=NEED_VS2019_INTEGRATION=0 -p=NEED_VS2022_INTEGRATION=0 --log-dir=.
+) else (
+ webimage_extracted\bootstrapper.exe -s --action install --components=%COMPONENTS% --eula=accept -p=NEED_VS2017_INTEGRATION=0 -p=NEED_VS2019_INTEGRATION=0 -p=NEED_VS2022_INTEGRATION=0 --log-dir=.
+)
+rd /s/q "webimage_extracted"
diff --git a/ci/run.ps1 b/ci/run.ps1
index f093673..aa37ee1 100644
--- a/ci/run.ps1
+++ b/ci/run.ps1
@@ -67,7 +67,7 @@ echo ($env:Path).Replace(';',"`n")
echo "=== PATH END ==="
echo ""
-$progs = @("python","ninja","pkg-config","cl","rc","link","pypy3")
+$progs = @("python","ninja","pkg-config","cl","rc","link","pypy3","ifort")
foreach ($prog in $progs) {
echo ""
echo "Locating ${prog}:"