Hash :
4c72bb80
Author :
Date :
2025-05-13T17:00:20
Build/CI: Officially support Windows/Arm - Use Visual Studio 2022 for CI builds. - Rename installers to clearly distinguish x86, x64, and Arm64 versions. NOTE: The Windows/Arm installer uses the same internal name and install directory as the Windows/x64 installer. That is consistent with the behavior of the Linux packages. Because the installer places turbojpeg.dll into C:\WINDOWS\System32, it would normally be impossible to co-install the x64 and Arm64 versions anyhow. (That can still be accomplished. You just have to use 7-Zip to extract one of the installers into a non-default directory.)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
image: Visual Studio 2022
install:
- cmd: >-
if not exist c:\installers mkdir c:\installers
mkdir c:\temp
if not exist c:\installers\nasm-2.10.01-win32.zip curl -fSL -o c:\installers\nasm-2.10.01-win32.zip https://nasm.us/pub/nasm/releasebuilds/2.10.01/win32/nasm-2.10.01-win32.zip
7z x c:\installers\nasm-2.10.01-win32.zip -oc:\ > c:\installers\nasm.install.log
if not exist c:\installers\i686-6.4.0-release-posix-dwarf-rt_v5-rev0.7z curl -fSL -o c:\installers\i686-6.4.0-release-posix-dwarf-rt_v5-rev0.7z "https://sourceforge.net/projects/mingw-w64/files/Toolchains%%20targetting%%20Win32/Personal%%20Builds/mingw-builds/6.4.0/threads-posix/dwarf/i686-6.4.0-release-posix-dwarf-rt_v5-rev0.7z"
md "c:\Program Files (x86)\mingw-w64\i686-6.4.0-posix-dwarf-rt_v5-rev0"
7z x c:\installers\i686-6.4.0-release-posix-dwarf-rt_v5-rev0.7z -o"c:\Program Files (x86)\mingw-w64\i686-6.4.0-posix-dwarf-rt_v5-rev0" > c:\installers\mingw32.install.log
if not exist c:\installers\x86_64-6.4.0-release-posix-seh-rt_v5-rev0.7z curl -fSL -o c:\installers\x86_64-6.4.0-release-posix-seh-rt_v5-rev0.7z "https://sourceforge.net/projects/mingw-w64/files/Toolchains%%20targetting%%20Win64/Personal%%20Builds/mingw-builds/6.4.0/threads-posix/seh/x86_64-6.4.0-release-posix-seh-rt_v5-rev0.7z"
md "c:\Program Files\mingw-w64\x86_64-6.4.0-posix-seh-rt_v5-rev0"
7z x c:\installers\x86_64-6.4.0-release-posix-seh-rt_v5-rev0.7z -o"c:\Program Files\mingw-w64\x86_64-6.4.0-posix-seh-rt_v5-rev0" > c:\installers\mingw64.install.log
set PATH=c:\nasm-2.10.01;c:\Program Files (x86)\NSIS;c:\msys64\usr\bin;%PATH%
"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
if not exist c:\installers\OpenJDK21U-jdk_aarch64_windows_hotspot_21.0.7_6.zip curl -fSL -o c:\installers\OpenJDK21U-jdk_aarch64_windows_hotspot_21.0.7_6.zip https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.7%%2B6/OpenJDK21U-jdk_aarch64_windows_hotspot_21.0.7_6.zip
7z x c:\installers\OpenJDK21U-jdk_aarch64_windows_hotspot_21.0.7_6.zip -o%ProgramData%\Oracle > c:\installers\openjdk-arm64.install.log
move "%ProgramData%\Oracle\jdk-21.0.7+6" %ProgramData%\Oracle\JavaArm64
set INCLUDE
set LIB
set PATH
set MSYSTEM=MINGW32
bash -c "pacman --noconfirm -S zip"
mklink /d %ProgramData%\Oracle\Java32 "c:\Program Files (x86)\Java\jdk1.8.0"
mklink /d %ProgramData%\Oracle\Java\javapath "c:\Program Files\Java\jdk1.8.0"
git clone --depth=1 https://github.com/libjpeg-turbo/buildscripts.git -b %APPVEYOR_REPO_BRANCH% c:/buildscripts
cache:
- c:\installers\nasm-2.10.01-win32.zip -> appveyor.yml
- c:\installers\i686-6.4.0-release-posix-dwarf-rt_v5-rev0.7z -> appveyor.yml
- c:\installers\x86_64-6.4.0-release-posix-seh-rt_v5-rev0.7z -> appveyor.yml
- c:\installers\OpenJDK21U-jdk_aarch64_windows_hotspot_21.0.7_6.zip -> appveyor.yml
build_script:
- cmd: >-
for /f %%i in ('"cygpath %CD%"') do set MINGWPATH=%%i
bash c:/buildscripts/buildljt -d %MINGWPATH% -b /c/ljt.nightly -v
cmake --build . --target clean
md win64
cd win64
bash c:/buildscripts/setupscripts/win64 -DCMAKE_C_FLAGS='-DWIN32 -D_WINDOWS -W4 -wd4100 -wd4127 -wd4245 -wd4324 -wd4701 -wd4702 -wd4706 -WX'
cd ..
ninja
move c:\ljt.nightly\files\*.tar.gz .
move c:\ljt.nightly\files\*.exe .
move c:\ljt.nightly\files\*.html .
move c:\ljt.nightly\log-windows.txt .
zip libjpeg-turbo-installers.zip libjpeg-turbo-*.exe
artifacts:
- path: '*.tar.gz'
name: Source tarball
- path: '*-gcc*.exe'
name: SDK for MinGW
- path: '*-vc*.exe'
name: SDK for Visual C++
- path: '*.zip'
name: All libjpeg-turbo installers
- path: 'log-windows.txt'
name: Build log
- path: 'index.html'
name: MD5 checksums
test: off
deploy:
- provider: Webhook
url: https://app.signpath.io/API/v1/3bc964ce-257b-4362-829f-1df1f087f5a0/Integrations/AppVeyor?ProjectSlug=libjpeg-turbo&SigningPolicySlug=release-signing
authorization:
secure: rrx5wnu5VWQqrFZJv75WdPc1H5gyYqp7cV/xVhsx1TnVR7VyUaVEiCYm/64Fcx1zmEPHGyEBrlrbjuRHgDjURA==
on:
appveyor_repo_tag: true
- provider: S3
access_key_id:
secure: Z74OYogQ6bNV/I+6b5ZEXig74+6MW2WLER0v/bPM/uk=
secret_access_key:
secure: cyGZhHVCFwZ9jgf5lXoW69mVtECmqwx3eLo61ha8ueWbMYlHho7lwDXwVvxOFiCa
bucket: libjpeg-turbo-pr
region:
secure: qSElYBgBRcEUf88M6Osthw==
folder: $(APPVEYOR_REPO_BRANCH)/windows
set_public: true
remove_files: true