2019-12-13 16:09:05 +01:00

70 lines
3.2 KiB
YAML

name: macOS build
on:
push
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v1
- name: Install dependencies
run: brew install gtk+3 gtkmm3 gtk-mac-integration adwaita-icon-theme libsigc++ little-cms2 libiptcdata fftw lensfun llvm expat pkgconfig libomp shared-mime-info
- name: patch libiconv
run: |
mkdir libiconv && cd libiconv
wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz
tar xf libiconv-1.16.tar.gz
cd libiconv-1.16
patch -p1 < "${GITHUB_WORKSPACE}/tools/osx/libiconv_1.16_rt.patch"
mkdir build && cd build
destDir="$(pwd)"
../configure --prefix=/opt/local --disable-static 'CFLAGS=-arch x86_64 -mmacosx-version-min=10.9' 'LDFLAGS=-arch x86_64 -mmacosx-version-min=10.9' CXXFLAGS="-arch x86_64 -mmacosx-version-min=10.9"
make --jobs
make DESTDIR="${destDir}" install
sudo mv opt/local /usr/local/opt/libiconv
- name: cmake
env:
CMAKE_CXX_STANDARD: 11
PKG_CONFIG_PATH: /usr/local/opt/libffi/lib/pkgconfig:/usr/local/opt/expat/lib/pkgconfig
RAW_THERAPEE_MAJOR: '5'
RAW_THERAPEE_MINOR: '7'
C_FLAGS: -Xpreprocessor -fopenmp /usr/local/lib/libomp.dylib -I/usr/local/include -I/usr/local/opt/gdk-pixbuf/include -I/usr/local/opt/libiconv/include -I/usr/local/opt/libxml2/include -I/usr/local/opt/expat/include -I/usr/local/opt/llvm/include
run: |
# GITHUB_REF is the ref that triggered the build, like refs/heads/new-feature - the next line parses that to REF: the branch name only (new-feature)
REF=${GITHUB_REF##*/}
mkdir build && cd build
cmake \
-DCMAKE_BUILD_TYPE="release" \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_EXE_LINKER_FLAGS="-L/usr/local/lib -L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib -L/usr/local/opt/gdk-pixbuf/lib -L/usr/local/opt/libiconv/lib -L/usr/local/opt/libffi/lib -L/usr/local/opt/libffi/lib -L/usr/local/opt/libxml2/lib -L/usr/local/opt/expat/lib" \
-DCACHE_NAME_SUFFIX="${RAW_THERAPEE_MAJOR}.${RAW_THERAPEE_MINOR}-${REF}" \
-DPROC_TARGET_NUMBER="2" \
-DPROC_LABEL="generic processor" \
-DWITH_LTO="OFF" \
-DLENSFUNDBDIR="./share/lensfun" \
-DOpenMP_C_FLAGS=-fopenmp=libomp \
-DOpenMP_CXX_FLAGS=-fopenmp=libomp \
-DOpenMP_C_LIB_NAMES="libomp" \
-DOpenMP_CXX_LIB_NAMES="libomp" \
-DOpenMP_libomp_LIBRARY="/usr/local/lib/libomp.dylib" \
-DOpenMP_C_FLAGS="${C_FLAGS}" \
-DOpenMP_CXX_FLAGS="${C_FLAGS}" \
-DCMAKE_AR="/usr/local/opt/llvm/bin/llvm-ar" \
-DCMAKE_RANLIB="/usr/local/opt/llvm/bin/llvm-ranlib" \
..
make --jobs
make install
sudo make macosx_bundle
ARTIFACT=(RawTherapee*.zip)
echo "=== artifact: ${ARTIFACT}"
# defining environment variables for next step as per https://github.com/actions/starter-workflows/issues/68
echo "::set-env name=ARTIFACT_PATH::${GITHUB_WORKSPACE}/build/${ARTIFACT}"
echo "::set-env name=ARTIFACT_FILE::${ARTIFACT}"
- uses: actions/upload-artifact@v1
with:
name: ${{env.ARTIFACT_FILE}}
path: ${{env.ARTIFACT_PATH}}