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