diff options
author | Eli Schwartz <eschwartz@archlinux.org> | 2022-07-10 17:52:01 -0400 |
---|---|---|
committer | Eli Schwartz <eschwartz@archlinux.org> | 2022-07-11 17:58:02 -0400 |
commit | 1521bdd9fd42ef216f3c3cee4a9c6124e131143e (patch) | |
tree | ca94f75d23cfc5c891be8717cc7298bc506878b0 /ci | |
parent | 30dc26a0fb1ba0d23261df289ef12bbeda7660fd (diff) | |
download | meson-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.bat | 16 | ||||
-rwxr-xr-x | ci/intel-scripts/cache_exclude_windows.sh | 15 | ||||
-rw-r--r-- | ci/intel-scripts/install_windows.bat | 16 | ||||
-rw-r--r-- | ci/run.ps1 | 2 |
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" @@ -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}:" |