The goal of CppRobots is the creation of a C++ framework for simulating AI-driven robots in a virtual environment. CppRobots was inspired by CROBOTS, a programming game first published in december 1985. CppRobots does not intend to be a replacement for CROBOTS.
The following sections will explain how to get and compile the project. Currently only Ubuntu systems are fully explained. If you are an expert feel free to deviate from the steps below.
This project needs the following things:
- A C++11-standard-compliant compiler
- make
- cmake
- The SFML 2 Library.
On Ubuntu install the following Packages:
cmake
build-essential
libsfml-dev
git
(optional)doxygen
(optional)
Just run the following command:
sudo apt-get install git cmake build-essential libsfml-dev doxygen
To use googletest clone or download the repository at https://github.com/google/googletest. Set GTEST_ROOT in cmake to the root of that repository.
To download the project run
git clone --recursive https://github.com/braak/CppRobots
Or download and extract the Zip file: https://github.com/braak/CppRobots/archive/master.zip
To build the project use cmake
and make
:
cd CppRobots
mkdir build
cd build
cmake ..
make
The makefile will always build an executable called robots
, this is a program that shows a small demo. If the SFML 2 library is found on the system executable is build with a UI otherwise it prints its output to the console.
The executable depends on libraries CppRobots
and CppRobotsAgents
, which will be created automatically and placed in the lib
folder. In addition the CppRobotsSFML
will be build if SFML is used.
Creating the tests requires googletest. This project uses googletest as a subproject, the git clone
command above already downloaded it if you used the --recursive
flag. If you did not us the --recursive
flag execute the following commands in the repository folder:
git submodule init
git submodule update
Or provide your the location of googletest to cmake via the GTEST_ROOT variable.
To build and run tests run:
make check
To build the tests without running them run:
make tests
Currently the following tests will be build
testPose
testVector
testRectangle
testCollision
testSignal
testMath
Creating the documentation requires Doxygen. And optionally Graphviz for graphs.
To generate the documentation run:
make doc
Copyright 2016 Hochschule Emden/Leer.
This project is released under the MIT License, see the file LICENSE.md for rights and limitations.
This project uses the Noto font. It is Licensed under the SIL Open Font License, Version 1.1.