Commit a27f518b authored by Marc Vef's avatar Marc Vef
Browse files

Merge branch 'amiranda/improve-cmake-dependency-management' into 'master'

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 using `include_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-level `CMakeLists.txt` is cleaner. It also defines the `gkfs_define_option()` and `gkfs_define_variable()` functions to integrate the definition of options/variables with the automated reporting provided by `gkfs_feature_summary()`.

It also fixes #249.

Closes #211

Closes #211 and #249

See merge request !143
parents 6d4b20f2 eaed52ff
Pipeline #3697 passed with stages
in 38 minutes and 39 seconds
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment