detect math library under C++ #496
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- main | |
paths: | |
- 'configure' | |
- 'm4/version.m4' | |
name: release | |
jobs: | |
change_log: | |
name: 'Create ChangeLog.md' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Install dependencies | |
run: npm install -g auto-changelog | |
- name: Create ChangeLog.md | |
run: | | |
export NEXT_VERSION=$(grep -oP "PACKAGE_VERSION='\K[0-9\.-]*" configure) | |
git tag $NEXT_VERSION | |
auto-changelog --sort-commits date | |
mkdir artifacts | |
mv ChangeLog.md artifacts/ChangeLog.md | |
- name: Upload ChangeLog.md | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ChangeLog | |
path: artifacts | |
release_windows_installer: | |
name: 'Windows ${{matrix.quantum}}${{matrix.hdri_flag}}-${{matrix.platform}} (${{matrix.type}})' | |
needs: | |
- change_log | |
runs-on: windows-2022 | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: [ x64, x86 ] | |
type: [ dll, static ] | |
quantum: [ Q8, Q16 ] | |
hdri: [ HDRI, noHDRI ] | |
exclude: | |
- quantum: Q8 | |
hdri: HDRI | |
include: | |
- platform: x64 | |
bit: 64 | |
- platform: x86 | |
bit: 32 | |
- type: dll | |
type_flag: dmt | |
- type: static | |
type_flag: smtd | |
- hdri: HDRI | |
hdri_flag: '-HDRI' | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
repository: ImageMagick/ImageMagick-Windows6 | |
path: ImageMagick-Windows6 | |
ref: refs/heads/main | |
- name: Clone repositories | |
shell: cmd | |
run: | | |
cd ImageMagick-Windows6 | |
CloneRepositories.cmd https://github.com/ImageMagick shallow | |
- name: Download ChangeLog.md | |
uses: actions/download-artifact@v3 | |
with: | |
name: ChangeLog | |
path: ImageMagick-Windows6\ImageMagick | |
- name: Download FFmpeg | |
shell: cmd | |
run: | | |
powershell Invoke-WebRequest -Uri https://github.com/ImageMagick/ImageMagick-Windows/releases/download/20200615/ffmpeg-4.2.3-win${{matrix.bit}}.exe -OutFile ffmpeg.exe | |
copy /Y ffmpeg.exe ImageMagick-Windows6\VisualMagick\bin | |
- name: Download hp2xx | |
shell: cmd | |
run: | | |
powershell Invoke-WebRequest -Uri https://github.com/ImageMagick/ImageMagick-Windows/releases/download/20200615/hp2xx.exe -OutFile hp2xx.exe | |
copy /Y hp2xx.exe ImageMagick-Windows6\VisualMagick\bin | |
- name: Install Strawberry Perl | |
if: ${{matrix.type == 'dll'}} | |
shell: cmd | |
run: | | |
powershell Invoke-WebRequest -Uri https://github.com/ImageMagick/ImageMagick-Windows/releases/download/20200615/strawberry-perl-5.30.2.1-${{matrix.bit}}bit.msi -OutFile strawberry-perl-5.30.2.1-${{matrix.bit}}bit.msi | |
msiexec /i strawberry-perl-5.30.2.1-${{matrix.bit}}bit.msi /qn INSTALLDIR="C:\Strawberry${{matrix.bit}}" | |
mv "C:\Strawberry" "C:\Strawberry64" | |
- name: Install Inno Setup | |
shell: cmd | |
run: | | |
powershell Invoke-WebRequest -Uri https://github.com/ImageMagick/ImageMagick-Windows/releases/download/20200615/innosetup-6.2.0.exe -OutFile innosetup-6.2.0.exe | |
innosetup-6.2.0.exe /SILENT /SUPPRESSMSGBOXES /NORESTART /SP- | |
- name: Build configure | |
shell: cmd | |
run: | | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
cd ImageMagick-Windows6\VisualMagick\configure | |
msbuild configure.2022.sln /m /t:Rebuild /p:Configuration=Release,Platform=x64 | |
- name: Configure ImageMagick | |
shell: cmd | |
run: | | |
cd ImageMagick-Windows6\VisualMagick\configure | |
configure.exe /noWizard /VS2022 /includeOptional /installedSupport /deprecated /${{matrix.hdri}} /${{matrix.quantum}} /${{matrix.platform}} /${{matrix.type_flag}} | |
- name: Build ImageMagick | |
shell: cmd | |
run: | | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
cd ImageMagick-Windows6\VisualMagick | |
set /p solution=<solution | |
msbuild %solution% /m /t:Rebuild /p:Configuration=Release,Platform=${{matrix.platform}} | |
- name: Build PerlMagick | |
if: ${{matrix.type == 'dll'}} | |
shell: cmd | |
run: | | |
set PATH= | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
cd ImageMagick-Windows6\ImageMagick\PerlMagick | |
set PATH=%PATH%;C:\Strawberry${{matrix.bit}}\c\bin;C:\Strawberry${{matrix.bit}}\perl\site\bin;C:\Strawberry${{matrix.bit}}\perl\bin;C:\WINDOWS\System32\WindowsPowerShell\v1.0 | |
perl "Makefile.PL" "MAKE=nmake" | |
nmake | |
nmake release | |
- name: Sign binaries | |
uses: dlemstra/code-sign-action@v1 | |
with: | |
certificate: '${{ secrets.CERTIFICATE }}' | |
password: '${{ secrets.CERTIFICATE_PASSWORD }}' | |
folder: 'ImageMagick-Windows6\VisualMagick\bin' | |
- name: Create installer | |
shell: cmd | |
run: | | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
"C:\Program Files (x86)\Inno Setup 6\iscc.exe" ImageMagick-Windows6\VisualMagick\installer\im-${{matrix.platform}}${{matrix.hdri_flag}}-${{matrix.type}}-${{matrix.quantum}}.iss | |
- name: Sign installer | |
uses: dlemstra/code-sign-action@v1 | |
with: | |
certificate: '${{ secrets.CERTIFICATE }}' | |
password: '${{ secrets.CERTIFICATE_PASSWORD }}' | |
folder: 'ImageMagick-Windows6\VisualMagick\installer\output' | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: installers | |
path: 'ImageMagick-Windows6\VisualMagick\installer\output' | |
release_windows_source: | |
name: 'Windows source' | |
needs: | |
- change_log | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
repository: ImageMagick/ImageMagick-Windows6 | |
path: ImageMagick-Windows6 | |
ref: refs/heads/main | |
- name: Clone repositories | |
shell: cmd | |
run: | | |
cd ImageMagick-Windows6 | |
CloneRepositories.cmd https://github.com/ImageMagick source | |
- name: Download ChangeLog.md | |
uses: actions/download-artifact@v3 | |
with: | |
name: ChangeLog | |
path: ImageMagick-Windows6\ImageMagick | |
- name: Create source archive | |
shell: cmd | |
run: | | |
cd ImageMagick-Windows6 | |
7z a ImageMagick6-Windows.7z .\source\* | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: ImageMagick-Windows6 | |
path: 'ImageMagick-Windows6\ImageMagick6-Windows.7z' | |
release_windows_portable: | |
name: 'Windows portable ${{matrix.quantum}}${{matrix.hdri_flag}}-${{matrix.platform}}' | |
needs: | |
- change_log | |
runs-on: windows-2022 | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: [ x64, x86 ] | |
quantum: [ Q8, Q16 ] | |
hdri: [ HDRI, noHDRI ] | |
exclude: | |
- quantum: Q8 | |
hdri: HDRI | |
include: | |
- platform: x64 | |
bit: 64 | |
- platform: x86 | |
bit: 32 | |
- hdri: HDRI | |
hdri_flag: '-HDRI' | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
repository: ImageMagick/ImageMagick-Windows6 | |
path: ImageMagick-Windows6 | |
ref: refs/heads/main | |
- name: Clone repositories | |
shell: cmd | |
run: | | |
cd ImageMagick-Windows6 | |
CloneRepositories.cmd https://github.com/ImageMagick shallow | |
- name: Download ChangeLog.md | |
uses: actions/download-artifact@v3 | |
with: | |
name: ChangeLog | |
path: ImageMagick-Windows6\ImageMagick | |
- name: Install FFmpeg | |
shell: cmd | |
run: | | |
powershell Invoke-WebRequest -Uri https://github.com/ImageMagick/ImageMagick-Windows/releases/download/20200615/ffmpeg-4.2.3-win${{matrix.bit}}.exe -OutFile ffmpeg.exe | |
copy /Y ffmpeg.exe ImageMagick-Windows6\VisualMagick\bin | |
- name: Build configure | |
shell: cmd | |
run: | | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
cd ImageMagick-Windows6\VisualMagick\configure | |
msbuild configure.2022.sln /m /t:Rebuild /p:Configuration=Release,Platform=x64 | |
- name: Configure ImageMagick | |
shell: cmd | |
run: | | |
cd ImageMagick-Windows6\VisualMagick\configure | |
configure.exe /noWizard /VS2022 /${{matrix.hdri}} /${{matrix.quantum}} /${{matrix.platform}} /smt | |
- name: Build ImageMagick | |
shell: cmd | |
run: | | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
cd ImageMagick-Windows6\VisualMagick | |
set /p solution=<solution | |
msbuild %solution% /m /t:Rebuild /p:Configuration=Release,Platform=${{matrix.platform}} | |
- name: Sign executables | |
uses: dlemstra/code-sign-action@v1 | |
with: | |
certificate: '${{ secrets.CERTIFICATE }}' | |
password: '${{ secrets.CERTIFICATE_PASSWORD }}' | |
folder: 'ImageMagick-Windows6\VisualMagick\bin' | |
- name: Copy Files | |
id: package | |
shell: powershell | |
run: | | |
[void](New-Item -Name "portable" -ItemType directory) | |
Copy-Item "ImageMagick-Windows6\VisualMagick\bin\*.exe" "portable" | |
Copy-Item "ImageMagick-Windows6\ImageMagick\config\colors.xml" "portable" | |
Copy-Item "ImageMagick-Windows6\ImageMagick\config\english.xml" "portable" | |
Copy-Item "ImageMagick-Windows6\ImageMagick\config\locale.xml" "portable" | |
Copy-Item "ImageMagick-Windows6\ImageMagick\config\log.xml" "portable" | |
Copy-Item "ImageMagick-Windows6\ImageMagick\config\mime.xml" "portable" | |
Copy-Item "ImageMagick-Windows6\ImageMagick\config\quantization-table.xml" "portable" | |
Copy-Item "ImageMagick-Windows6\VisualMagick\bin\configure.xml" "portable" | |
Copy-Item "ImageMagick-Windows6\VisualMagick\bin\ImageMagick.rdf" "portable" | |
Copy-Item "ImageMagick-Windows6\VisualMagick\bin\delegates.xml" "portable" | |
Copy-Item "ImageMagick-Windows6\VisualMagick\bin\policy.xml" "portable" | |
Copy-Item "ImageMagick-Windows6\VisualMagick\bin\sRGB.icc" "portable" | |
Copy-Item "ImageMagick-Windows6\VisualMagick\bin\thresholds.xml" "portable" | |
Copy-Item "ImageMagick-Windows6\VisualMagick\bin\type-ghostscript.xml" "portable" | |
Copy-Item "ImageMagick-Windows6\VisualMagick\bin\type.xml" "portable" | |
Copy-Item "ImageMagick-Windows6\ImageMagick\ChangeLog.md" "portable" | |
Copy-Item "ImageMagick-Windows6\ImageMagick\LICENSE" "portable\LICENSE.txt" | |
Copy-Item "ImageMagick-Windows6\VisualMagick\NOTICE.txt" "portable" | |
Copy-Item "ImageMagick-Windows6\ImageMagick\README.txt" "portable" | |
$version = (cat "ImageMagick-Windows6\VisualMagick\installer\inc\version.isx" | Select-String "MagickPackageFullVersionText") | Out-String | |
$version = ($version | Select-String '".*"' -AllMatches | Select -Expand Matches | Select -Expand Value | Out-String) | |
$version = $version -Replace "`n|`r|""","" | |
$version = $version -Replace " ","-" | |
Write-Host "::set-output name=version::$version" | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: 'ImageMagick-${{steps.package.outputs.version}}-portable-${{matrix.quantum}}${{matrix.hdri_flag}}-${{matrix.platform}}' | |
path: portable |