04_package_plugin.sh 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #!/bin/bash
  2. ##############################################################################
  3. # Linux libobs plugin build function
  4. ##############################################################################
  5. #
  6. # This script file can be included in build scripts for Linux or run directly
  7. #
  8. ##############################################################################
  9. # Halt on errors
  10. set -eE
  11. package_obs_plugin() {
  12. status "Package OBS plugin ${PRODUCT_NAME}"
  13. trap "caught_error 'package_obs_plugin'" ERR
  14. ensure_dir "${CHECKOUT_DIR}"
  15. step "Package ${PRODUCT_NAME}..."
  16. cmake --build ${BUILD_DIR} -t package
  17. }
  18. package-plugin-standalone() {
  19. CHECKOUT_DIR="$(git rev-parse --show-toplevel)"
  20. if [ -f "${CHECKOUT_DIR}/CI/include/build_environment.sh" ]; then
  21. source "${CHECKOUT_DIR}/CI/include/build_environment.sh"
  22. fi
  23. PRODUCT_NAME="${PRODUCT_NAME:-obs-plugin}"
  24. source "${CHECKOUT_DIR}/CI/include/build_support.sh"
  25. source "${CHECKOUT_DIR}/CI/include/build_support_linux.sh"
  26. GIT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
  27. GIT_HASH=$(git rev-parse --short HEAD)
  28. GIT_TAG=$(git describe --tags --abbrev=0 2&>/dev/null || true)
  29. FILE_NAME="${PRODUCT_NAME}-${GIT_TAG:-0.0.1}-${GIT_HASH}.deb"
  30. package_obs_plugin
  31. }
  32. print_usage() {
  33. echo -e "Usage: ${0}\n" \
  34. "-h, --help : Print this help\n" \
  35. "-q, --quiet : Suppress most build process output\n" \
  36. "-v, --verbose : Enable more verbose build process output\n" \
  37. "--build-dir : Specify alternative build directory (default: build)\n"
  38. }
  39. package-plugin-main() {
  40. if [ ! -n "${_RUN_OBS_BUILD_SCRIPT}" ]; then
  41. while true; do
  42. case "${1}" in
  43. -h | --help ) print_usage; exit 0 ;;
  44. -q | --quiet ) export QUIET=TRUE; shift ;;
  45. -v | --verbose ) export VERBOSE=TRUE; shift ;;
  46. --build-dir ) BUILD_DIR="${2}"; shift 2 ;;
  47. -- ) shift; break ;;
  48. * ) break ;;
  49. esac
  50. done
  51. package-plugin-standalone
  52. fi
  53. }
  54. package-plugin-main $*