AlloSphere-Research-Group / allotemplate

Template for sophisticated allolib projects

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

allotemplate

Template repository for projects using allolib. Contains allolib and al_ext as submodules.

This template is suitable for large projects wil multiple files and dependencies where you need more control.

If you are prototyping single files or want to explore the allolib examples, use the allolib_playground repo.

Developed by: AlloSphere Research Group University of California, Santa Barbara

Installation

Creating a github repository from template

Use https://github.com/AlloSphere-Research-Group/allotemplate/generate

or from https://github.com/AlloSphere-Research-Group/allotemplate, click on 'Use this template' then 'Create a new repository'.

Manually creating a new project based on allotemplate

On a bash shell:

git clone https://github.com/AlloSphere-Research-Group/allotemplate.git <project folder name>
cd <project folder name>
./init.sh
git remote set-url origin <URL to new repo>

init.sh will set the folder as a brand new git repository, re-add the submodules into the index, and delete itself.

Building your project

How to compile / run

The src/ folder contains the initial main.cpp starter code.

On a bash shell you can run:

./configure.sh
./run.sh

This will configure and compile the project, and run the binary if compilation is successful.

Alternatively, you can open the CMakeLists.txt project in an IDE like VS Code, Visual Studio or Qt Creator and have the IDE manage the configuration and execution of cmake.

You can also generate other IDE projects through cmake.

How to perform a distclean

If you need to delete the build,

./distclean.sh

should recursively clean all the build directories of the project including those of allolib and its submodules.

Keeping your project up to date

Run

./update.sh

or manually run following from a bash shell:

git pull
git submodule update --recursive --init

About

Template for sophisticated allolib projects


Languages

Language:Shell 40.7%Language:CMake 36.8%Language:C++ 22.5%