Another Game Engine, by now only use SDL2 and its dependent family library but we planning to use other librarys like SFML or allegro5 to create Drawing Context (opengl ,Vulkan or metal).
This issue is about reverting back to using git submodules instead of relying on FetchContent to get project dependencies. FetchContent is good if you have to get small source codes or just-header libraries. However, for a big library such as SDL and companions (SDL-Image, SDL-Font, etc..) is not a good idea to use it. For some reason cmake have to recompile the dependencies every time FetchContent downloads them. Which is not good, because the point of using a build system is to about unnecessary recompilations.
Steps
Modify the project structure to be like:
/DOEngine/
assets/
src/*/.h, */.cpp
test/*/.h, */.cpp
test/CMakeLists.txt
thirdparty/SDL, gtest, etc...
CMakeLists.txt
mingw-toolchain.cmake
coverage.sh
configure.sh
build.sh
.clang-format
.gitignore
README.md
Update the build scripts, CMakeLists.txt and mingw-toolchain.cmake path accordingly.
DOD
Code (including test) should build and be execute correctly
Scope
This issue is about reverting back to using git submodules instead of relying on FetchContent to get project dependencies. FetchContent is good if you have to get small source codes or just-header libraries. However, for a big library such as SDL and companions (SDL-Image, SDL-Font, etc..) is not a good idea to use it. For some reason cmake have to recompile the dependencies every time FetchContent downloads them. Which is not good, because the point of using a build system is to about unnecessary recompilations.
Steps
Modify the project structure to be like:
/DOEngine/
Update the build scripts, CMakeLists.txt and mingw-toolchain.cmake path accordingly.
DOD