added deployment target for OSX #17
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
name: Windows x64 Build | |
on: | |
push: | |
branches: | |
- main | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: windows-latest | |
permissions: | |
contents: write | |
defaults: | |
run: | |
shell: msys2 {0} | |
steps: | |
- name: Get version | |
uses: actions/checkout@v4 | |
with: | |
path: repo | |
- name: Install msys2 | |
uses: msys2/setup-msys2@v2 | |
with: | |
location: C:\msys2 | |
update: true | |
msystem: MINGW64 | |
install: | | |
git | |
wget | |
xz | |
pacboy: | | |
gcc:p | |
cmake:p | |
autotools:p | |
ninja:p | |
gtkmm3:p | |
lcms2:p | |
fftw:p | |
lensfun:p | |
mimalloc:p | |
opencolorio:p | |
- name: Install exiv2 | |
run: | | |
wget https://github.com/Exiv2/exiv2/releases/download/v0.27.7/exiv2-0.27.7-Source.tar.gz | |
tar xzf exiv2-0.27.7-Source.tar.gz | |
mkdir build-exiv2 | |
cd build-exiv2 | |
cmake \ | |
-GNinja \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DCMAKE_INSTALL_PREFIX=c:/msys2/msys64/usr/local \ | |
-DEXIV2_ENABLE_WIN_UNICODE=1 \ | |
-DEXIV2_ENABLE_BMFF=1 \ | |
../exiv2-0.27.7-Source | |
ninja install | |
cd .. | |
- name: Install LibRaw | |
run: | | |
git clone --depth 1 https://github.com/LibRaw/LibRaw.git | |
cd LibRaw | |
autoreconf -i | |
CPPFLAGS=-DUSE_X3FTOOLS ./configure --prefix=c:/msys2/msys64/usr/local | |
make -j | |
make install | |
cd .. | |
- name: Install CTL | |
run: | | |
git clone --depth 1 https://github.com/ampas/CTL.git | |
mkdir build-CTL | |
cd build-CTL | |
cmake \ | |
-GNinja \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DCMAKE_INSTALL_PREFIX=c:/msys2/msys64/usr/local \ | |
-DCMAKE_CXX_FLAGS=-fpermissive \ | |
../CTL | |
ninja install | |
cd .. | |
- name: Configure build | |
run: | | |
export ART_DIR="ART-$(cat repo/version.txt)" | |
wget https://bitbucket.org/agriggio/art/downloads/${ART_DIR}.tar.xz | |
tar xJf ${ART_DIR}.tar.xz | |
mkdir build | |
cd build | |
export PKG_CONFIG_PATH=c:/msys2/msys64/usr/local/lib/pkgconfig | |
cmake \ | |
-GNinja \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DENABLE_LIBRAW=1 \ | |
-DENABLE_OCIO=1 \ | |
-DENABLE_CTL=1 \ | |
-DCTL_INCLUDE_DIR=/usr/local/include/CTL \ | |
-DCMAKE_LIBRARY_PATH=/usr/local/lib \ | |
-DBUILD_BUNDLE=1 \ | |
../${ART_DIR} | |
cd .. | |
- name: Build | |
run: | | |
cmake --build build --target install | |
- name: Include Lensfun | |
run: | | |
lensfun-update-data | |
- name: Create bundle | |
run: | | |
cd build/Release | |
python ../../ART-$(cat ../../repo/version.txt)/tools/win/bundle_ART.py \ | |
-o ../../bundle -v -E -I -m c:/msys2/msys64 | |
- name: Create installer | |
working-directory: bundle | |
shell: pwsh | |
run: | | |
choco install innosetup | |
iscc /F"installer" "WindowsInnoSetup.iss" | |
- name: Prepare artifact name | |
run: | | |
ARTIFACT_NAME="ART_$(cat repo/version.txt)_Win64.exe" | |
echo "ARTIFACT_NAME=$ARTIFACT_NAME" >> "$(cygpath -u $GITHUB_ENV)" | |
mv installer.exe ${ARTIFACT_NAME} | |
echo "RELEASE_TAG=v$(cat repo/version.txt)" >> "$(cygpath -u $GITHUB_ENV)" | |
- name: Publish release | |
uses: ncipollo/release-action@v1 | |
with: | |
tag: ${{ env.RELEASE_TAG }} | |
body: ${{ env.RELEASE_TAG }} | |
allowUpdates: true | |
makeLatest: true | |
artifacts: ${{ env.ARTIFACT_NAME }} |