- 24 Mar, 2023 4 commits
-
-
Marc Vef authored
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
-
Alberto Miranda authored
-
Alberto Miranda authored
-
Alberto Miranda authored
The function include_from_source() now checks if the source directory for a external dependency is empty. If so, it will provide instructions for the user to solve the issue (such as properly initializing submodules).
-
- 17 Mar, 2023 19 commits
-
-
Alberto Miranda authored
-
Alberto Miranda authored
Until #250 is fixed
-
Alberto Miranda authored
-
Alberto Miranda authored
-
Alberto Miranda authored
-
Alberto Miranda authored
-
Alberto Miranda authored
-
Alberto Miranda authored
This commit enforces replaces the use of absolute paths for several targets in favor of using target_sources(), which allows specifying source files for the same target in CMakeLists.txt files.
-
Alberto Miranda authored
-
-
-
Alberto Miranda authored
-
Alberto Miranda authored
-
Alberto Miranda authored
-
Alberto Miranda authored
-
Alberto Miranda authored
Also: - Remove FindRocksDB.cmake, FindLZ4.cmake, FindJeMalloc.cmake. Rationale: RocksDB already installs a RocksDBConfig.cmake that creates all of these targets when calling find_package(RocksDB).
-
Alberto Miranda authored
-
Alberto Miranda authored
-
Alberto Miranda authored
Remove obsolete submodules for CLI11.hpp and fmt.
-
- 16 Mar, 2023 4 commits
-
-
Alberto Miranda authored
Resolve "CI: Simplify coverage scripts" This MR simplifies coverage generation in the following ways: - Replaces the old `scripts/ci/coverage.sh` script with a new `scripts/dev/coverage.py` written in Python, making it more robust and simpler to modify if needed. - Adds specific CMake targets for generating coverage reports directly from CMake. - Adds specialized CMake presets to make it simpler to configure the different builds required to generate coverage information. - Replaces `gcovr` with `lcov` + `lcov_cobertura`, since `gcovr` exhibited some errors that were difficult to track down and `lcov` worked out of the box. - Adds HTML documentation about the coverage generation in `docs/sphinx/devs/coverage.md` This MR also updates the `v0.9.2` Docker images to update CMake and include coverage-related packages. The `coverage` image in particular is no longer needed and has been removed. Closes #252 #256 #257 #258 Closes #258, #257, #256, and #252 See merge request !163
-
Alberto Miranda authored
- Rename job `coverage:zerocount` to `coverage:baseline` - Move `coverage:baseline` job to `report` stage
-
Alberto Miranda authored
-
Alberto Miranda authored
GKFS_BUILD_TESTS and GKFS_INSTALL_TESTS are now set to `false` by default.
-
- 15 Mar, 2023 13 commits
-
-
Alberto Miranda authored
-
Alberto Miranda authored
Add 'attr' python module required by Sphinx
-
Alberto Miranda authored
-
Alberto Miranda authored
-
Alberto Miranda authored
Image `testing:0.9.2` is now used for coverage generation.
-
Alberto Miranda authored
- Upgrade CMake to 3.25.2 for consistency with other images - Remove gcovr and install lcov - Install loguru - Install lcov_cobertura - Install libgd-perl
-
Alberto Miranda authored
Fixes #258
-
Alberto Miranda authored
Fixes #257
-
Alberto Miranda authored
Fixes #256
-
Alberto Miranda authored
-
Alberto Miranda authored
There are now explicit targets for generating coverage reports from CMake itself: - `coverage-zerocount`: Capture initial zero coverage data and write it to `${COVERAGE_ZEROCOUNT_TRACEFILE}`. - `coverage-capture`: Capture coverage data from existing .gcda files and write it to `${COVERAGE_CAPTURE_TRACEFILE}`. - `coverage-unified`: Merge any coverage data files found in `COVERAGE_OUTPUT_DIR` and generate a unified coverage trace. - `coverage-summary`: Print a summary of the coverage data found in `${COVERAGE_UNIFIED_TRACEFILE}`. - `coverage-html_report`: Write a HTML report from the coverage data found in `${COVERAGE_UNIFIED_TRACEFILE}`. - `coverage-cobertura`: Write a Cobertura report from the coverage data found in `${COVERAGE_UNIFIED_TRACEFILE}`.
-
Alberto Miranda authored
The new script is written in Python and is therefore more robust and easier to modify if needed.
-
Alberto Miranda authored
- Update cmake to v3.25.2 - Add ninja-build
-