build_rt.sh 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #!/bin/bash
  2. echo Starting build_rt.sh
  3. PATH=/usr/local/bin:$PATH:$HOME/bin
  4. SCRIPTPATH=$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)
  5. ROOTPATH="$(dirname "$SCRIPTPATH")"
  6. echo Building from $SCRIPTPATH
  7. cd $SCRIPTPATH
  8. if [[ $1 == "clean" ]]; then
  9. rm -rf ../build_rt
  10. rm -rf ../build_rt_d
  11. exit
  12. fi
  13. if command -v ninja >/dev/null 2>&1 ; then
  14. CAN_USE_NINJA=1
  15. if [ -d ../build_rt_d ] && [ ! -f ../build_rt_d/build.ninja ]; then
  16. CAN_USE_NINJA=0
  17. fi
  18. if [ $CAN_USE_NINJA == 1 ]; then
  19. echo "Ninja is enabled for this build."
  20. USE_NINJA="-GNinja"
  21. else
  22. echo "Ninja couldn't be enabled for this build, consider doing a clean build to start using Ninja for faster build speeds."
  23. fi
  24. else
  25. echo "Ninja isn't installed, consider installing it for faster build speeds."
  26. fi
  27. # exit when any command fails
  28. set -e
  29. ### Dependencies ###
  30. if [ ! -f ../BeefySysLib/third_party/libffi/Makefile ]; then
  31. echo Building libffi...
  32. cd ../BeefySysLib/third_party/libffi
  33. ./configure
  34. make
  35. cd $SCRIPTPATH
  36. fi
  37. ### LIBS ###
  38. cd ..
  39. if [ ! -d build_rt_d ]; then
  40. mkdir build_rt_d
  41. mkdir build_rt
  42. fi
  43. cd build_rt_d
  44. cmake $USE_NINJA -DBF_ENABLE_SDL=1 -DBF_ONLY_RUNTIME=1 -DCMAKE_BUILD_TYPE=Debug ../
  45. cmake --build .
  46. cd ../build_rt
  47. cmake $USE_NINJA -DBF_ENABLE_SDL=1 -DBF_ONLY_RUNTIME=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo ../
  48. cmake --build .