Skip to content

Conversation

@wambitz
Copy link
Owner

@wambitz wambitz commented Dec 15, 2025

Description

This pull request resolves #30 and updates the README.md to clarify and modernize the documentation for building, testing, and maintaining the C++ project. The most important changes include updating build requirements, improving instructions for running and disabling unit tests, clarifying pre-commit hook usage, and enhancing the CI documentation.

Build and Test Instructions:

  • Raised the minimum required CMake version from 3.16 to 3.20 in the build requirements table.
  • Updated build and test commands to use ENABLE_UNIT_TESTS instead of ENABLE_TESTS, and clarified the output path for the main executable (./build/bin/main_exec).
  • Clarified that unit tests are enabled by default via CMake FetchContent, and updated instructions for enabling/disabling tests.

Development and Maintenance Scripts:

  • Added a description for coverage.sh and clarified the usage of format.sh for CI checks in the scripts overview table.

Code Quality and Pre-commit Hooks:

  • Improved documentation on installing and running pre-push hooks with pre-commit, specifying that checks now run on push (not commit), and clarified their function and automation for VS Code DevContainer users.

Continuous Integration:

  • Expanded the CI section to include a sample workflow and pointed to the full configuration file, making it clearer how CI is set up and what steps are performed.

@wambitz wambitz self-assigned this Dec 15, 2025
Copilot AI review requested due to automatic review settings December 15, 2025 04:50
@wambitz wambitz added the documentation Improvements or additions to documentation label Dec 15, 2025
@wambitz wambitz merged commit aa69811 into main Dec 15, 2025
10 checks passed
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the README.md to align with current build tooling and practices, clarifying build requirements, test configuration, and development workflows. The changes improve documentation accuracy by updating CMake version requirements from 3.16 to 3.20, correcting the CMake option name from ENABLE_TESTS to ENABLE_UNIT_TESTS, and better documenting pre-commit hooks, CI workflows, and available scripts.

Key Changes:

  • Updated minimum CMake version requirement from 3.16 to 3.20 to match actual CMakeLists.txt configuration
  • Corrected CMake build option from ENABLE_TESTS to ENABLE_UNIT_TESTS throughout documentation
  • Enhanced documentation for pre-commit hooks, CI workflow, and development scripts including coverage.sh

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

cmake -S . -B build # -DENABLE_UNIT_TESTS=OFF to skip tests
cmake --build build -j$(nproc)
./build/main_exec
./build/bin/main_exec
Copy link

Copilot AI Dec 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The executable path is incorrect. Without CMAKE_RUNTIME_OUTPUT_DIRECTORY being set in CMakeLists.txt, the executable is built directly in the build directory, not in build/bin/. The path should be ./build/main_exec (as shown in docs/rpath-guide.md lines 155, 172, 178). The bin/ directory is only used for install destinations (CMakeLists.txt line 80), not build output.

Suggested change
./build/bin/main_exec
./build/main_exec

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: update README for current project structure and tooling

2 participants