- Invokes dependencies.
- A consistent environment for projects.
- Directory-relative references
- You can use
$.rootDir()/src/projectA
to referenceprojectA
when building someprojectB
.
# Includes newer tools.
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt-get update
sudo apt-get install git
sudo apt-get install cmake
sudo apt-get install make
sudo apt-get install libboost-all-dev
# Perform ONLY if your g++ version is below g++-9.
sudo apt-get install g++-9
sudo apt-get install gcc-9
sudo ln -sf g++-9 /usr/bin/g++
./data/setup-webdash.sh
to initialize everything. It will use your git
client to clone additionally required projects.
A special directory hierarchy is enforced by WebDash.
app-persistent/
bin/
lib/
app-temporary/
logging/
data/
setup-webdash.sh
src/
bin/
_webdash-client/
_webdash-server/
lib/
external/
json/
websocketpp/
webdash-executor/
webdash-profile.json
.gitignore
webdash.terminal.init.sh
This is your new development environment.
Located in the top-level directory after setup is completed. Defines all global behavior.
{
"myworld": {
"rootDir": "this"
},
"env": {
"MYWORLD": "$.rootDir()"
},
"path-add": [
"$.rootDir()/app-persistent/bin"
],
"pull-projects": [
{
"source": "https://github.com/Amtrix/src-bin-report-build-state",
"destination": "$.rootDir()/src/bin/report-build-state",
"exec": ":all",
"register": true
}
]
}
Note: Entry in pull-projects is listed as an example.
Meaning of all fields:
myworld.rootDir = this
- Used by webdash to identify the root directory. Only a single definitions.json with such entry should exist.
env.VAR
- adds environment variable VAR.
path-add
- adds listed paths to PATH.
pull-projects
- pulls listed projects when ./data/setup-webdash.sh is called.
pull-projects.ENTRY.exec
- calls the specified entry within the project's webdash.config.json file after the cloning.