AnalogTapeModel

Physical modelling signal processing for analog tape recording
Log | Files | Refs | Submodules | README | LICENSE

mac_builds.sh (2213B)


      1 #!/bin/bash
      2 
      3 # exit on failure
      4 set -e
      5 
      6 # clean up old builds
      7 cd Plugin
      8 rm -Rf build/
      9 rm -Rf Bin/*Mac*
     10 
     11 # set up build VST
     12 VST_PATH=~/Developer/Plugin_SDKs/VST2_SDK/
     13 sed -i '' "s~# juce_set_vst2_sdk_path.*~juce_set_vst2_sdk_path(${VST_PATH})~" CMakeLists.txt
     14 
     15 # cmake new builds
     16 TEAM_ID=$(more ~/Developer/mac_id)
     17 cmake -Bbuild -GXcode -DCMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY="Developer ID Application" \
     18     -DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM="$TEAM_ID" \
     19     -DCMAKE_XCODE_ATTRIBUTE_CODE_SIGN_STYLE="Manual" \
     20     -D"CMAKE_OSX_ARCHITECTURES=arm64;x86_64" \
     21     -DCMAKE_XCODE_ATTRIBUTE_CODE_SIGN_INJECT_BASE_ENTITLEMENTS=NO \
     22     -DCMAKE_XCODE_ATTRIBUTE_OTHER_CODE_SIGN_FLAGS="--timestamp" \
     23     -DMACOS_RELEASE=ON
     24 cmake --build build --config Release -j12 | xcpretty
     25 
     26 # copy builds to Bin
     27 mkdir -p Bin/Mac
     28 plugin="CHOWTapeModel"
     29 cp -R build/${plugin}_artefacts/Release/Standalone/${plugin}.app Bin/Mac/${plugin}.app
     30 cp -R build/${plugin}_artefacts/Release/VST/${plugin}.vst Bin/Mac/${plugin}.vst
     31 cp -R build/${plugin}_artefacts/Release/VST3/${plugin}.vst3 Bin/Mac/${plugin}.vst3
     32 cp -R build/${plugin}_artefacts/Release/AU/${plugin}.component Bin/Mac/${plugin}.component
     33 
     34 # reset CMakeLists.txt
     35 git restore CMakeLists.txt
     36 
     37 # run auval
     38 echo "Running AU validation..."
     39 rm -Rf ~/Library/Audio/Plug-Ins/Components/${plugin}.component
     40 sudo rm -Rf /Library/Audio/Plug-Ins/Components/${plugin}.component
     41 cp -R build/${plugin}_artefacts/Release/AU/${plugin}.component ~/Library/Audio/Plug-Ins/Components
     42 manu=$(grep 'PLUGIN_MANUFACTURER_CODE' CMakeLists.txt | head -1 | awk '{print $NF}')
     43 code=$(grep 'PLUGIN_CODE' CMakeLists.txt | head -1 | awk '{print $NF}')
     44 
     45 set +e
     46 auval_result=$(auval -v aufx "$code" "$manu")
     47 auval_code="$?"
     48 echo "AUVAL code: $auval_code"
     49 
     50 if [ "$auval_code" != 0 ]; then
     51     echo "$auval_result"
     52     echo "auval FAIL!!!"
     53     exit 1
     54 else
     55     echo "auval PASSED"
     56 fi
     57 
     58 # zip builds
     59 VERSION=$(cut -f 2 -d '=' <<< "$(grep 'CMAKE_PROJECT_VERSION:STATIC' build/CMakeCache.txt)")
     60 (
     61     cd bin
     62     rm -f "CHOWTapeModel-Mac-${VERSION}.zip"
     63     zip -r "CHOWTapeModel-Mac-${VERSION}.zip" Mac
     64 )
     65 
     66 # create installer
     67 echo "Creating installer..."
     68 (
     69     cd Installers/mac
     70     bash build_mac_installer.sh
     71 )