update setup_gdextension.sh to work with new GDExtension project structure
This commit is contained in:
parent
6134d5130c
commit
650e381659
|
@ -1,27 +1,24 @@
|
|||
#!/bin/bash
|
||||
|
||||
## This script creates project structure needed for LimboAI development using GDExtension.
|
||||
## Works only on Unix-likes. You can still use the directory layout below, if you are on Windows.
|
||||
## This script sets up limboai project for development with GDExtension.
|
||||
## It adds missing files to the demo project for development with GDExtension, and downloads godot-cpp.
|
||||
## Tested only on Unix-likes. You can perform similar steps manually, if you are on Windows. Check Overview below.
|
||||
##
|
||||
## Instructions:
|
||||
## 1) Create the project root directory, name doesn't matter.
|
||||
## 2) Inside the project root directory, clone the limboai repository:
|
||||
## 1) Clone the limboai repository:
|
||||
## git clone https://github.com/limbonaut/limboai
|
||||
## 3) From the project root directory, run:
|
||||
## bash ./limboai/gdextension/setup_gdextension.sh
|
||||
## 2) From the limboai root directory, run:
|
||||
## bash ./gdextension/setup_gdextension.sh
|
||||
##
|
||||
## Directory layout:
|
||||
## project/ -- call this script from here, directory name doesn't matter.
|
||||
## project/limboai/ -- LimboAI repository should be here after you clone it.
|
||||
## project/godot-cpp/ -- will be created by this script, unless cloned manually.
|
||||
## project/demo/ -- symbolic link (leads to limboai/demo).
|
||||
## project/demo/addons/limboai/limboai.gdextension -- symbolid link (leads to limboai/gdextension/limboai.gdextension).
|
||||
## project/demo/addons/limboai/icons/ -- symbolic link (leads to icons/).
|
||||
## project/SConstruct -- symbolic link (leads to limboai/gdextension/SContruct).
|
||||
## Overview:
|
||||
## limboai/ -- LimboAI repository after you clone it - call this script from here.
|
||||
## limboai/godot-cpp/ -- git repo that will be cloned by this script, unless already exists.
|
||||
## limboai/demo/addons/limboai/limboai.gdextension -- symbolic link created (leads to limboai/gdextension/limboai.gdextension).
|
||||
## limboai/demo/addons/limboai/icons/ -- symbolic link created (leads to limboai/icons/).
|
||||
##
|
||||
## Note: Symbolic links will be created by this script.
|
||||
## Note: Script creates symbolic links unless --copy-all is set, in which case it copies the files.
|
||||
##
|
||||
## Dependencies: bash, git, python3.
|
||||
## Dependencies: bash, git, python3, trash (optional).
|
||||
|
||||
# Script Settings
|
||||
GODOT_CPP_VERSION=4.2
|
||||
|
@ -32,16 +29,16 @@ HIGHLIGHT_COLOR='\033[1;36m' # Light Cyan
|
|||
NC='\033[0m' # No Color
|
||||
ERROR_COLOR="\033[0;31m" # Red
|
||||
|
||||
usage() { echo "Usage: $0 [--copy-demo] [--copy-all] [--trash-old]"; }
|
||||
usage() { echo "Usage: $0 [--copy-all] [--trash-old]"; }
|
||||
|
||||
msg () { echo -e "$@"; }
|
||||
highlight() { echo -e "${HIGHLIGHT_COLOR}$@${NC}"; }
|
||||
error () { echo -e "${ERROR_COLOR}$@${NC}" >&2; }
|
||||
|
||||
if [ ! -d "${PWD}/limboai/" ]; then
|
||||
error Aborting: \"limboai\" subdirectory is not found.
|
||||
msg Tip: Run this script from the project root directory with limboai repository cloned into \"limboai\" subdirectory.
|
||||
msg Command: bash ./limboai/gdextension/setup_gdextension.sh
|
||||
if [ ! -d "${PWD}/demo/" ]; then
|
||||
error Aborting: \"demo\" subdirectory is not found.
|
||||
msg Tip: Run this script from the limboai root directory.
|
||||
msg Command: bash ./gdextension/setup_gdextension.sh
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
@ -50,7 +47,6 @@ trap exit SIGINT
|
|||
|
||||
set -e
|
||||
|
||||
copy_demo=0
|
||||
copy_all=0
|
||||
trash_old=0
|
||||
|
||||
|
@ -58,10 +54,6 @@ trash_old=0
|
|||
for i in "$@"
|
||||
do
|
||||
case "${i}" in
|
||||
--copy-demo)
|
||||
copy_demo=1
|
||||
shift
|
||||
;;
|
||||
--copy-all)
|
||||
copy_demo=1
|
||||
copy_all=1
|
||||
|
@ -80,7 +72,7 @@ done
|
|||
|
||||
highlight Setup started.
|
||||
|
||||
${PYTHON} limboai/gdextension/update_icons.py --silent
|
||||
${PYTHON} gdextension/update_icons.py --silent
|
||||
highlight -- Icon declarations updated.
|
||||
|
||||
transfer="ln -s"
|
||||
|
@ -95,7 +87,7 @@ if [ ${trash_old} == 1 ]; then
|
|||
error trash command not available. Aborting.
|
||||
exit 1
|
||||
fi
|
||||
trash SConstruct limboai/demo/addons demo || /bin/true
|
||||
trash demo/addons/limboai || /bin/true
|
||||
highlight -- Trashed old setup.
|
||||
fi
|
||||
|
||||
|
@ -107,33 +99,10 @@ else
|
|||
highlight -- Skipping \"godot-cpp\". Directory already exists!
|
||||
fi
|
||||
|
||||
if [ ! -f "${PWD}/SConstruct" ]; then
|
||||
${transfer} limboai/gdextension/SConstruct SConstruct
|
||||
highlight -- ${transfer_word} SConstruct.
|
||||
else
|
||||
highlight -- Skipping \"SConstruct\". File already exists!
|
||||
fi
|
||||
|
||||
if [ ! -e "${PWD}/demo" ]; then
|
||||
if [ ${copy_demo} == 1 ]; then
|
||||
cp -R limboai/demo demo
|
||||
highlight -- Copied demo.
|
||||
else
|
||||
ln -s limboai/demo demo
|
||||
highlight -- Linked demo project.
|
||||
fi
|
||||
else
|
||||
highlight -- Skipping \"demo\". File already exists!
|
||||
fi
|
||||
|
||||
if [ ! -e "${PWD}/demo/addons/limboai/bin/limboai.gdextension" ]; then
|
||||
mkdir -p ./demo/addons/limboai/bin/
|
||||
cd ./demo/addons/limboai/bin/
|
||||
if [ -f "../../../../gdextension/limboai.gdextension" ]; then
|
||||
${transfer} ../../../../gdextension/limboai.gdextension limboai.gdextension
|
||||
else
|
||||
${transfer} ../../../../limboai/gdextension/limboai.gdextension limboai.gdextension
|
||||
fi
|
||||
cd -
|
||||
highlight -- ${transfer_word} limboai.gdextension.
|
||||
else
|
||||
|
@ -142,11 +111,7 @@ fi
|
|||
|
||||
if [ ! -e "${PWD}/demo/addons/limboai/icons/" ]; then
|
||||
cd ./demo/addons/limboai/
|
||||
if [ -d "../../../icons" ]; then
|
||||
${transfer} ../../../icons icons
|
||||
else
|
||||
${transfer} ../../../limboai/icons icons
|
||||
fi
|
||||
cd -
|
||||
highlight -- ${transfer_word} icons.
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue