From c190b68d2a2cc54ffac790ba43c06b89d35e97f7 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Tue, 10 May 2022 17:40:58 -0700 Subject: [PATCH] Update README.md add update 'buildDocker.sh' to default to just building image add 'setupConvoar.sh' script to load the addon-modules libraries --- README.md | 36 +++++++++++++++++++++--------------- buildDocker.sh | 13 ------------- setupConvoar.sh | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+), 28 deletions(-) create mode 100644 setupConvoar.sh diff --git a/README.md b/README.md index 564782e..0410a53 100644 --- a/README.md +++ b/README.md @@ -98,11 +98,14 @@ build where one just builds the sources checked out, and there is the *updating* where one fetches new versions of the [OpenSimulator] sources. Some functionality has been moved out into another project that must be -checked out in the same directory as [Convoar]. Checkout [HerbalCommonEntitiesCS] -into the `addon-modules` sub-directory. This will include -```CommonEntities``` and ```CommonEntitiesUtil```. +checked out in the directory `addon-modules`. +The script `setupConvoar.sh` fetches +[HerbalCommonEntitiesCS] and [HerbalCommonUtilCS] into this directory +and sets things up for compilation. -## Simple Build +If you have a current [OpenSimulator] build, you can use the binaries from +that by setting the environment variable `OPENSIMBIN` to point to the +`bin` directory in that build. See below. Under windows 10, use Visual Studio 2017 or better. At the moment, convoar is built under Windows to create the `dist` directory. @@ -112,6 +115,14 @@ everything is included in the Convoar GitHub repository. If compiling on Linux, one needs [Mono] version 5 or better and one just uses `msbuild`. +So the steps are: + +``` +git clone https://github.com/Misterblue/convoar +cd convoar +./setupConvoar.sh +msbuild # or open the .sln file with Visual Studio +``` ## Updating Build @@ -120,17 +131,11 @@ required DLLs from other repositories. The other repositories must be cloned into the same directory as the convoar repository so the steps could be: ``` -git clone https://github.com/Misterblue/convoar.git -git clone git://opensimulator.org/git/opensim -export OPENSIMBIN="$(pwd)/opensim/bin" # used by gatherlibs.sh -export LIBOMVBIN="$(pwd)/opensim/bin" # used by gatherlibs.sh +git clone https://github.com/Misterblue/convoar cd convoar -mkdir addon-modules -cd addon-modules -git clone https://github.com/Herbal3d/HerbalCommonEntitiesCS.git -git clone https://github.com/Herbal3d/HerbalCommonUtil.git -cd .. -./gatherLibs.sh +OPENSIMBIN=pathToOpenSimBinDir ./setupConvoar.sh +msbuild # or open the .sln file with Visual Studio + ``` Then convoar can be built using either Visual Studio or `msbuild`. @@ -188,7 +193,7 @@ What follows is a list of features that are copied: * bug release -- trying to figure out why some JPEG2000 don't decomopress. - [x] Release 1.3 and after * bug releases and optimization experimentation before going to version 2 -- [ ] Release 2.0 +- [x] Release 2.0 * Rework of initial Convoar to create validated GLTF output - [ ] Release 3.0 * option to include all prim information in `extras` (scripts, notes, etc.) @@ -202,4 +207,5 @@ What follows is a list of features that are copied: [Mono]: http://www.mono-project.com/ [Blender]: https://www.blender.org/ [HerbalCommonEntitiesCS]: https://github.com/Herbal3d/HerbalCommonEntitiesCS +[HerbalCommonUtilCS]: https://github.com/Herbal3d/HerbalCommonUtilCS diff --git a/buildDocker.sh b/buildDocker.sh index bf05fc6..3ace643 100755 --- a/buildDocker.sh +++ b/buildDocker.sh @@ -17,25 +17,12 @@ if [[ ! -e "./VERSION" ]] ; then fi VERSION=$(cat VERSION) -# Tag and create commit git sources with the version number. -# Not working yet... need to automate Visual Studio versioning. -DO_GIT_TAG=no - # Build the docker image of the latest git commited sources. DO_DOCKER_BUILD=yes # Push the built docker image to DockerHub. DO_DOCKERHUB_PUSH=no -# Tag the version in git -if [[ "$DO_GIT_TAG" == "yes" ]] ; then - git add -A - git commit -m "version $VERSION" - git tag -a "$VERSION" -m "version $VERSION" - git push - git push --tags -fi - if [[ "$DO_DOCKER_BUILD" == "yes" ]] ; then cd docker # docker build --build-arg TARGET=${TARGET} --build-arg VERSION=${VERSION} -t herbal3d/convoar . diff --git a/setupConvoar.sh b/setupConvoar.sh new file mode 100644 index 0000000..68f5000 --- /dev/null +++ b/setupConvoar.sh @@ -0,0 +1,33 @@ +#! /bin/bash +# Script run after checkout out Convoar to get the needed other libraries. + +if [[ -z "$OPENSIMBIN" ]] ; then + echo "Will use OpenSimulator binaries supplied in checkouted bin/" +fi + +export TARGET=Release + +export PLACE=$(pwd) + +export CONVOAR_BRANCH=${CONVOAR_BRANCH:-v2} +export COMMON_ENTITIES_BRANCH=${COMMON_ENTITIES_BRANCH:-master} +export COMMON_UTIL_BRANCH=${COMMON_UTIL_BRANCH:-main} + +if [[ ! -z "$OPENSIMBIN" ]] ; then + if [[ -z "$LIBOMVBIN" ]] ; then + echo "Assuming libOpenMetaverse binaries are in $OPENSIMBIN" + export LIBOMVBIN="$OPENSIMBIN" + fi + echo "Fetching OpenSimulator binaries from $OPENSIMBIN" + mkdir -p bin + ./gatherLibs.sh +fi + +# Update the version info from the checkout +./updateVersion.sh + +# Gather all the sources for the tool libraries +mkdir -p addon-modules +cd addon-modules +git clone --depth 1 -b $COMMON_ENTITIES_BRANCH --single-branch https://github.com/Herbal3d/HerbalCommonEntitiesCS.git +git clone --depth 1 -b $COMMON_UTIL_BRANCH --single-branch https://github.com/Herbal3d/HerbalCommonUtilCS.git