#!/bin/bash set -ex if [ ! -e "src/api/api.h" ]; then echo "Please run this script from the root directory of Lite XL."; exit 1 fi show_help() { echo echo "Lite XL dependecies installer. Mainly used for CI but can also work on users systems." echo "USE IT AT YOUR OWN RISK!" echo echo "Usage: $0 " echo echo "Available options:" echo echo "-l --lhelper Install tools required by LHelper and doesn't" echo " install external libraries." echo " --debug Debug this script." echo } main() { local lhelper=false for i in "$@"; do case $i in -s|--lhelper) lhelper=true shift ;; --debug) set -x shift ;; *) # unknown option ;; esac done if [[ -n $1 ]]; then show_help exit 1 fi if [[ "$OSTYPE" == "linux"* ]]; then if [[ $lhelper == true ]]; then sudo apt-get install -qq ninja-build else sudo apt-get install -qq ninja-build libsdl2-dev libfreetype6 fi pip3 install meson elif [[ "$OSTYPE" == "darwin"* ]]; then if [[ $lhelper == true ]]; then brew install bash md5sha1sum ninja else brew install bash ninja sdl2 fi pip3 install meson cd ~; npm install appdmg; cd - ~/node_modules/appdmg/bin/appdmg.js --version elif [[ "$OSTYPE" == "msys" ]]; then if [[ $lhelper == true ]]; then pacman --noconfirm -S \ ${MINGW_PACKAGE_PREFIX}-{gcc,meson,ninja,ntldd,pkg-config} unzip else pacman --noconfirm -S \ ${MINGW_PACKAGE_PREFIX}-{gcc,meson,ninja,ntldd,pkg-config,freetype,pcre2,SDL2} unzip fi fi } main "$@"