Skip to content

Modernize CMake build, documentation and CI - #38

Merged
rigtorp merged 1 commit into
masterfrom
build/modernize-cmake
Oct 5, 2026
Merged

rigtorp merged 1 commit into
masterfrom
build/modernize-cmake

Conversation

@rigtorp

@rigtorp rigtorp commented Oct 5, 2026

Copy link
Copy Markdown
Owner

The README only documents distro-specific Make builds, and the existing CMake setup links libpcap without discovering its headers or library. This updates the build for Linux and macOS and documents one minimal CMake configure/build/install sequence.

  • Require CMake 3.20, discover libpcap (including native Homebrew and custom prefixes), use target-scoped C++11/warnings, and support standard install directories.
  • Enable Linux timing tests by default when Expect is available, preserve explicit BUILD_TESTING choices, and pass absolute executable/capture paths so tests work outside the source tree. Check child exit status as well as timing.
  • Run CI on PRs and master pushes with pinned checkout, read-only permissions, cancellation/timeouts, Linux GCC/Clang and macOS Clang coverage, and separate build/test/install checks.
  • Ignore .vscode/ and .cache/.

Validation: GCC Release and Clang Debug builds, all five timing tests under both compilers, installation and installed usage checks passed. Also verified custom dependency/install paths with spaces, custom binary directory, automatic test defaults and explicit disabling, and expected missing-dependency/unsupported-platform errors. Actionlint and git diff --check passed. Native macOS validation awaits CI.

Closes #35.

@rigtorp
rigtorp merged commit 313e0da into master Oct 5, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

README - Add Building & Installing instructions for MAC

1 participant