ART 1.20 for macOS notarized build

Hi @HIRAM,
For peace of mind, I’ve made sure the proposed homebrew dependencies are there.

This is how my build script looks now:

#!/usr/bin/env bash
cd ~/programs/ART/
mkdir -p build 
cd build
pwd
sudo rm -r *

which brew || exit 2

eval $(/opt/homebrew/bin/brew shellenv)

local_prefix="$(brew --prefix)" 

cmake --fresh -DCMAKE_BUILD_TYPE="Release" \
  -DOPTION_OMP=ON \
  -DCMAKE_OSX_ARCHITECTURES="arm64" -DPROC_TARGET_NUMBER="2" -DPROC_LABEL="arm64" \
  -DCMAKE_OSX_DEPLOYMENT_TARGET="15.5" \
  -DCACHE_NAME_SUFFIX="1_25" \
  -DCMAKE_C_COMPILER="clang" -DCMAKE_CXX_COMPILER="clang++" -DWITH_LTO="ON" \
  -DCMAKE_OSX_SYSROOT="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk" \
  -DLOCAL_PREFIX:STRING="${local_prefix}" \
  -DLENSFUNDBDIR="/Applications/ART.app/Contents/Resources/share/lensfun" \
  -DCMAKE_CXX_FLAGS_RELEASE="-O3 -DNDEBUG=1 -I/opt/homebrew/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -Wno-pass-failed -arch arm64 -Wno-deprecated-register -Wno-unused-command-line-argument -std=c++11" \
  -DCMAKE_C_FLAGS_RELEASE="-O3 -DNDEBUG=1 -I/opt/homebrew/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -Wno-pass-failed -arch arm64 -Wno-deprecated-register -Wno-unused-command-line-argument" \
  -DENABLE_OCIO="ON" \
  -DENABLE_CTL="ON" -DCTL_INCLUDE_DIR="/opt/homebrew/opt/ctl/include/CTL" \
  -DCMAKE_EXE_LINKER_FLAGS="-L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib -Wl,-headerpad_max_install_names -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -arch arm64" \
  -DOpenMP_C_FLAGS="-fopenmp=lomp" -DOpenMP_CXX_FLAGS="-fopenmp=lomp" \
  -DOpenMP_C_LIB_NAMES="libomp" -DOpenMP_CXX_LIB_NAMES="libomp" \
  -DOpenMP_libomp_LIBRARY="${local_prefix}/opt/lib/libomp.dylib" \
  -DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp ${local_prefix}/opt/libomp/lib/libomp.dylib -I${local_prefix}/opt/libomp/include" \
  -DOpenMP_CXX_LIB_NAMES="libomp" \
  -DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp ${local_prefix}/opt/libomp/lib/libomp.dylib -I${local_prefix}/opt/libomp/include" \
  -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
  -DFANCY_DMG=ON \
  ..

make -j$(sysctl -n hw.ncpu) install
sudo make macosx_bundle

→ much like yours, now.


I’m attaching the (verbose) logs of the build and bundle:
make_ART.log.gz (44.8 KB)
The errors are mostly in the bundle stage.

  • Certain files are not found:
    • bad paths, such as LOCAL_PREFIX evaluating to /opt/homebrew instead of /opt/homebrew/opt?
    • or outdated, hard-coded versioned paths, e.g. libjpeg version 62,
  • some commands are wrong

I’m also attaching the (slightly and, I think, insufficiently amended macosx_bundle.sh script).
macosx_bundle.sh.gz (5.9 KB)


What’s not clear, to me, is whether I should be doing what you suggested wr/ gtk+3
But it’s probably minor, anyway, compared to the other changes the bundle script seems to require.

Hiram, I tried to join you shared folder and apparently is no longer available… :frowning:

Should take you to the currently shared folder. The direct link is iCloud Drive - Apple iCloud

Danger! Will Robinson. I highly recommend forgetting how to type that evil command. Every other solution is preferred to ever issuing this.

2 Likes
-- Checking whether GDK supports specifying custom color spaces
-- Looking for GDK_QUARTZ_WINDOW_SUPPORTS_COLORSPACE
-- Looking for GDK_QUARTZ_WINDOW_SUPPORTS_COLORSPACE - not found
-- NO, GDK will force everything to sRGB

On macOS GDK has only supported the sRGB colorspace. The patch enables some code in ART to access the wider gamut monitor ranges.