No description
Find a file
Stephen Seo 670389e401
Some checks are pending
Run UnitTests / build-and-run-unittests (push) Waiting to run
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 0s
Attempt to fix workflow with selfhosted act runner
2024-01-20 19:18:19 +09:00
.forgejo/workflows Attempt to fix workflow with selfhosted act runner 2024-01-20 19:18:19 +09:00
.github/workflows Add github action to run UnitTests 2024-01-17 19:23:11 +09:00
doxygen Update doxygen main page to link to EC::Manager 2021-09-09 13:13:55 +09:00
src Update CMakeLists.txt cmake version 2024-01-17 19:02:51 +09:00
.clang-format Impl nested threaded calls 2022-06-15 21:15:34 +09:00
.clangd Add .clangd specifying use of C++14 2021-09-07 18:17:31 +09:00
.gitignore Impl ThreadPool 2021-09-06 15:54:24 +09:00
AttributionNotice Added License and legal related requirements 2016-03-15 19:29:13 +09:00
Doxyfile Update Doxygen and README.md 2021-09-08 18:06:24 +09:00
LICENSE Update LICENSE year 2022-06-17 11:02:24 +09:00
README.md Update README.md 2024-01-15 13:56:49 +09:00

About

EntityComponentMetaSystem is a header-only library. However, UnitTests can be built and run using cmake (gtest is a dependency).

(Note that gtest uses the BSD 3-Clause License.)

Generated Doxygen Documentation

Check this repository's gh-pages documentation on ECMS

Alternatively, check out the doxygen docs hosted on my website

Compiling the UnitTests

Create a build directory.
mkdir build

Generate makefile with CMake.
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ../src

Build the project's UnitTests.
make

Run the UnitTests.
./UnitTests

Install the Header-Only Library

mkdir build; cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ../src

Install the project to where you want to.
make DESTDIR=install_here install

In this example, CMAKE_INSTALL_PREFIX=/usr, then invoking make DESTDIR=install_here install will install the src/EC directory to install_here/usr/include. The path to Manager.hpp will then look like install_here/usr/include/EC/Manager.hpp