Further reading
For more information, you can refer to the following resources:
- CMake-supported compile features and compilers: https://cmake.org/cmake/help/latest/manual/cmake-compile-features.7.html#supported-compilers
- Managing sources for targets: https://stackoverflow.com/questions/32411963/why-is-cmake-file-glob-evil, https://cmake.org/cmake/help/latest/command/target_sources.html
- The include keyword: https://en.cppreference.com/w/cpp/preprocessor/include
- Providing paths to included files: https://cmake.org/cmake/help/latest/command/target_include_directories.html
- Configuring headers: https://cmake.org/cmake/help/latest/command/configure_file.html
- Pre-compilation of headers: https://cmake.org/cmake/help/latest/command/target_precompile_headers.html
- Unity builds: https://cmake.org/cmake/help/latest/prop_tgt/UNITY_BUILD.html
- Precompiled headers unity builds:https://www.qt.io/blog/2019/08/01/precompiled-headers-and-unity-jumbo...