Project uses C++20.
include(FetchContent)
FetchContent_Declare(
simple3d
GIT_REPOSITORY https://github.com/ItIsApachee/simple3d.git # or [email protected]:ItIsApachee/simple3d.git
GIT_TAG master # FIXME(apachee): Replace with tag or commit hash.
)
FetchContent_MakeAvailable(simple3d)
target_link_libraries(foo PRIVATE simple3d)- Install dependencies:
- CMake (3.20 and up)
- C++20-compatible compiler.
- Emscripten SDK.
- Build:
$ cmake -S <simple3d-dir> -B <simple3d-dir>/build -DSIMPLE3D_EMSCRIPTEN_CMAKE_TOOLCHAIN_FILE=<emsdk-dir>/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_BUILD_TYPE:STRING=<cfg> ...
$ cmake --build buildMany project design choices were inspired by YTsaurus. Here is short list of some of those choices:
- Monorepo-like file structure.
- simple3d/core library.
- Code style.