trillek-team / Tec
Programming Languages
Labels
Projects that are alternatives of or similar to Tec
Trillek Engine C
Windows (VStudio 2019) | Semaphore (GCC) |
---|---|
Support
Head onto our Discord for extended support on building and usage.
Requirements
TEC requires cmake 3.9 and a few libraries GLFW3, GLM, ASIO, Protobuf, GLEW, Lua, Bullet, Dear ImGui, sol3, Spdlog and OpenAL which can be installed most easily via vcpkg
Documentation
Documentation is done via Doxygen for C++ code and supplementary docs must be maintained for the Lua API in the docs/
folder.
Whenever there is a Lua API change please update the corresponding docs/
.
Local Preview
To preview the Lua API docs locally visit MkDocs and follow their setup guide. Then from the root directory run mkdocs serve
.
Building from Source
Part 1 (VCPKG/Requirements)
-
git clone https://github.com/Microsoft/vcpkg.git
(If you already have VCPKG, move onto Part 2)) - Navigate to the
vcpkg/
directory.
Windows
./bootstrap-vcpkg.bat
[OPTIONAL] ./vcpkg integrate install
./vcpkg install asio bullet3 glew glfw3 glm lua openal-soft protobuf zlib spdlog imgui sol2
MacOS
Prior to 11.0.1, run (NOT TESTED): sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
if bootstrap-vcpkg
fails see here for more help
./bootstrap-vcpkg.sh
[OPTIONAL] ./vcpkg integrate install
./vcpkg install asio bullet3 glew glfw3 glm lua openal-soft protobuf zlib spdlog imgui sol2
Linux
apt-get install libgl1-mesa-dev xorg-dev libglu1-mesa-dev libxinerama-dev libxcursor-dev
./bootstrap-vcpkg.sh
[OPTIONAL] ./vcpkg integrate install
./vcpkg install asio bullet3 glew glfw3 glm lua openal-soft protobuf zlib spdlog imgui sol2
Part 2 (Building)
-
git submodule update --init
in the root directory. -
mkdir build/
in to root directory cd build/
Windows (Visual Studio 2019)
- Run cmake-gui setting the source line to the root directory and the build line to the build directory.
- Hit configure and select
Specify toolchain file for cross-compiling
using**VCPKG_DIR**/scripts/buildsystems/vcpkg.cmake
. - Click generate; then open and build the solution in Visual Studio.
- In the project properties for
trillek-client
change theDebugging
->Working Directory
to$(SolutionDir)..\
. - Potentially Download and install oalinst.zip OpenAL installer and install it.
Linux
VCPKG (G++ 7 or CLang 4)
-
cmake -DCMAKE_TOOLCHAIN_FILE=**VCPKG_DIR**/scripts/buildsystems/vcpkg.cmake ..
in the build directory -
make
in the build directory
NON-VCPKG - G++ 7 or CLang 4 (Unsupported due to cmake)
-
INSTALL REQUIRED LIBS bullet, glew, glfw3, glm, asio, lua, openal-soft, spdlog, Dear ImGui, sol3(also known as sol2), and protobuf. Some of these will need versions not in your distribution (just ask for help in the IRC or Discord.)
- If you are on Ubuntu/Debian/etc. (something with
apt
):- Run
apt-get install libglew-dev libglfw3 libglm-dev libasio-dev
- Run
apt-get install liblua5.2-dev libopenal-dev libbullet-dev
- Run
apt-get install libprotobuf-dev protobuf-compiler libspdlog-dev
- Run
- If you are on Arch/etc. (something with
pacman
):- Run
pacman -S glew glfw-x11 glm asio lua52 openal bullet protobuf spdlog
- Run
- If you are on Ubuntu/Debian/etc. (something with
-
cmake ..
in the build directory -
make tec
in the build directory
Mac OS
-
cmake -DCMAKE_TOOLCHAIN_FILE=**VCPKG_DIR**/scripts/buildsystems/vcpkg.cmake ..
in the build directory -
make
in the build directory
Part 3 (Unit Tests)
To generate the unit tests, follow the same instructions from before, but set to true the flag BUILD_TESTS_TEC