Here is a list of third-party libraries ("External Projects") that can optionally be integrated, or are mandatory for specific target platforms. Below is a detailed list of the origins, licenses and possible modifications for each library. Also, each library has a ExtProj-<alias>.cmake
file (in cmake/) that can be investigated for details about the integration.
Alias | Name | Desktop | Android | Web |
---|---|---|---|---|
android-native-app | Android Native App | ✔️ | ||
dirent | Dirent | ✔️ (Win only) | ||
easyloggingpp | Easylogging++ | ✔️ | ✔️ | ✔️ |
glad | glad | ✔️ | ||
glfw | GLFW | ✔️ | ||
miniz | Miniz | ✔️ | ✔️ | ✔️ |
whereami | Where Am I? | ✔️ |
These libraries are integrated if the project has been initialized with default settings, which include the toolbox (by not using the --bare
option). See cmake/Toolbox.cmake for details.
Alias | Name | Desktop | Android | Web |
---|---|---|---|---|
glm | glm | ✔️ | ✔️ | ✔️ |
imgui | Dear Imgui | ✔️ | ✔️ | ✔️ |
json | JSON for Modern C++ | ✔️ | ✔️ | ✔️ |
stb | stb | ✔️ | ✔️ | ✔️ |
tinyobjloader | tinyobjloader | ✔️ | ✔️ | ✔️ |
Alias | Name | Desktop | Android | Web |
---|---|---|---|---|
box2d | Box2D | ✔️ | ✔️ | ✔️ |
bullet | Bullet | ✔️ | ✔️ | ✔️ |
doctest | doctest | ✔️ | ||
file-dialogs | Portable File Dialogs | ✔️ | ||
lua | Lua, LuaBridge | ✔️ | ✔️ | ✔️ |
miniaudio | miniaudio | ✔️ | ✔️ | ✔️ |
- code is used from the Android SDK installation (no code distributed)
- see ExtProj-android-native-app.cmake
- license: check license information included in Android SDK
- version: 2.4.2
- origin: https://github.com/erincatto/box2d/releases/tag/v2.4.2
- extracted from origin:
- LICENSE
- include/*
- src/collision/*
- src/common/*
- src/dynamics/*
- src/rope/*
- license: box2d/LICENSE
- version: 2.89
- origin: https://github.com/bulletphysics/bullet3/releases/tag/2.89
- extracted from origin:
- LICENSE.txt
- src/Bullet3Common/*
- src/BulletCollision/*
- src/BulletDynamics/*
- src/BulletInverseDynamics/*
- src/BulletSoftBody/*
- src/LinearMath/*
- src/btBulletCollisionCommon.h
- src/btBulletDynamicsCommon.h
- src/btLinearMathAll.cpp
- license: bullet/LICENSE.txt
- version: 1.23.2
- origin: https://github.com/tronkko/dirent/releases/tag/1.23.2
- extracted from origin:
- include/dirent.h, LICENSE
- license: dirent/LICENSE
- version: 2.4.8
- origin: https://github.com/doctest/doctest/releases/tag/v2.4.8
- extracted from origin:
- doctest.h, LICENSE.txt
- license: doctest/LICENSE.txt
- version: 9.96.7
- origin: https://github.com/zuhd-org/easyloggingpp/releases/tag/v9.96.7
- extracted from origin:
- LICENSE, easylogging++.{h,cc}
- license: easyloggingpp/LICENSE
- version: 7a7a9f5 (master)
- origin: https://github.com/samhocevar/portable-file-dialogs/tree/7a7a9f5fa800b28331672742c0e774d46186e34f
- extracted from origin:
- COPYING, portable-file-dialogs.h
- license: portable-file-dialogs/COPYING
- version: 0.1.33 (via webtool)
- origin: see glad.h
- license: Creative Commons Zero (CC0) (http://creativecommons.org/publicdomain/zero/1.0/)
- glad.{h,c}
- license: mentioned in file
- version: 3.4
- origin: https://github.com/glfw/glfw/releases/tag/3.4
- extracted from origin:
- CMake/*
- deps/wayland/*
- include/*
- src/*
- CMakeLists.txt
- LICENSE.md
- license: glfw/LICENSE.md
- version: 0.9.9.6
- origin: https://github.com/g-truc/glm/releases/tag/0.9.9.6
- extracted from origin:
- glm/, copying.txt
- license: glm/copying.txt
- version: 1.91.0
- origin: https://github.com/ocornut/imgui/releases/tag/v1.91.0
- extracted from origin: see files below
- license: imgui/LICENSE.txt
- backends/imgui_impl_android.{h,cpp}
- backends/imgui_impl_glfw.{h,cpp}
- backends/imgui_impl_opengl3_loader.h
- backends/imgui_impl_opengl3.{h,cpp}
- imconfig.h
- imgui.{h,cpp}
- imgui_demo.cpp
- imgui_draw.cpp
- imgui_internal.h
- imgui_tables.cpp
- imgui_widgets.cpp
- LICENSE.txt
- license: mentioned in files
- version: 3.8.0
- origin: https://github.com/nlohmann/json/releases/tag/v3.8.0
- extracted from origin:
- json.hpp, LICENSE.MIT
- license: json/LICENSE.MIT
- version: 5.4.0
- origin: https://github.com/lua/lua/releases/tag/v5.4.0
- extracted from origin:
- all .h and .c files from repo root
- license: see end of file lua/lua.h
- version: 2.7, fab7b33 (master)
- origin: https://github.com/vinniefalco/LuaBridge/tree/fab7b33b896a42dcc865ba5ecdbacd9f409137f8
- extracted from origin:
- Source/LuaBridge/*
- license: luabridge/license.txt
- version: 0.11.21
- origin: https://github.com/mackron/miniaudio/releases/tag/0.11.21
- extracted from origin:
- miniaudio.h, LICENSE
- license: miniaudio/LICENSE
- version: 3.0.2
- origin: https://github.com/richgel999/miniz/releases/tag/3.0.2
- extracted from origin:
- LICENSE, miniz.{h,c}
- license: miniz/LICENSE
- version: c9064e3 (master)
- origin: https://github.com/nothings/stb/tree/c9064e317699d2e495f36ba4f9ac037e88ee371a
- extracted from origin: see files below
- license: mentioned in files
- stb_image.h, version: 2.26
- stb_image_write.h, version: 1.15
- stb_vorbis.c, version: 1.20
- version: v2.0.0-rc1
- origin: https://github.com/syoyo/tinyobjloader/releases/tag/v2.0.0-rc1
- extracted from origin:
- LICENSE, tiny_obj_loader.h
- license: tinyobjloader/LICENSE
- version: f3a86fd (master)
- origin: https://github.com/gpakosz/whereami/tree/f3a86fdf17b49c434a16bb4d9e45a135d4cc25f9
- extracted from origin:
- LICENSE.MIT, whereami.{h,c}
- license: whereami/LICENSE.MIT