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 )