build-frameworks.sh 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #!/bin/bash
  2. set -e
  3. set -o pipefail
  4. XCODE_VERSION=$(xcodebuild -version | head -n 1| awk -F ' ' '{print $2}')
  5. XCODE_VERSION_MAJOR=$(echo $XCODE_VERSION | awk -F '.' '{print $1}')
  6. if [ -z "$SRCROOT" ]
  7. then
  8. SRCROOT=$(pwd)
  9. fi
  10. mkdir -p "${SRCROOT}/build"
  11. PLATFORMS=("iOS" "iOSSimulator" "macOS" "tvOS" "tvOSSimulator" "watchOS" "watchOSSimulator")
  12. if [ $XCODE_VERSION_MAJOR -ge 11 ]
  13. then
  14. PLATFORMS+=("macCatalyst")
  15. fi
  16. if [ $XCODE_VERSION_MAJOR -ge 15 ]
  17. then
  18. PLATFORMS+=("visionOS")
  19. PLATFORMS+=("visionOSSimulator")
  20. fi
  21. for CURRENT_PLATFORM in "${PLATFORMS[@]}"
  22. do
  23. DESTINATION="generic/platform=${CURRENT_PLATFORM}"
  24. # macOS Catalyst
  25. if [[ $CURRENT_PLATFORM == "macCatalyst" ]]; then
  26. DESTINATION="generic/platform=macOS,variant=Mac Catalyst"
  27. fi
  28. # Simulator
  29. if [[ $CURRENT_PLATFORM == *Simulator ]]; then
  30. CURRENT_PLATFORM_OS=${CURRENT_PLATFORM%Simulator}
  31. DESTINATION="generic/platform=${CURRENT_PLATFORM_OS} Simulator"
  32. fi
  33. xcodebuild build -project "SDWebImage.xcodeproj" -destination "${DESTINATION}" -scheme "SDWebImage" -configuration "Release" -derivedDataPath "${SRCROOT}/build/DerivedData" CONFIGURATION_BUILD_DIR="${SRCROOT}/build/${CURRENT_PLATFORM}/"
  34. done