Improve cmake
This MR improves the current CMake scripts in the following manner:
- Dependency management is now handled more consistently: system dependencies are found using
find_package()
, whereas source-only dependencies are found usinginclude_from_source()
. This new function integrates a dependency provided its source code is available. If it's not, it will try to download it from its git repository if it was defined. - All external dependencies are now searched for in the top-level
CMakeLists.txt
. - More consistent use of targets (we are closer to 100% modern CMake).
- Adds the
gkfs_feature_summary()
to allow printing a summary of all GekkoFS configuration options and their values. - Moves all option definitions to
CMake/gfks-options.cmake
, so that the top-levelCMakeLists.txt
is cleaner. It also defines thegkfs_define_option()
andgkfs_define_variable()
functions to integrate the definition of options/variables with the automated reporting provided bygkfs_feature_summary()
.
It also fixes #249 (closed).
Closes #211 (closed)
Edited by Marc Vef