tuaris opened a new pull request, #3225:
URL: https://github.com/apache/brpc/pull/3225

   ### What problem does this PR solve?
   
   Issue Number: N/A
   
   Problem Summary:
   
   brpc has CI for Linux and macOS but not FreeBSD. With FreeBSD platform 
support added in PR #XXXX, a CI workflow is needed to prevent regressions.
   
   Additionally, glog >= 0.7 requires `GLOG_USE_GLOG_EXPORT` to be defined 
before including its headers. Without this, builds using newer glog versions 
fail with:
   
   ```
   error: <glog/logging.h> was not included correctly.
   ```
   
   This is PR 3 of 3 for FreeBSD support:
   1. PR #XXXX — Remove dead `tracked_objects.h` references
   2. PR #XXXX — FreeBSD platform support
   3. **This PR** — FreeBSD CI + glog 0.7.x compatibility
   
   ### What is changed and the side effects?
   
   Changed:
   
   - Added `.github/workflows/ci-freebsd.yml` — GitHub Actions workflow using 
[vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) to build on 
FreeBSD 14.2. Modeled after the existing `ci-macos.yml`.
   - Added conditional `GLOG_USE_GLOG_EXPORT` detection in `CMakeLists.txt` — 
uses `check_include_file_cxx("glog/export.h")` to detect glog >= 0.7, and only 
defines `GLOG_USE_GLOG_EXPORT` when the header exists. Safe with older glog 
versions. Benefits all platforms, not just FreeBSD.
   
   Side effects:
   - Performance effects:
   None
   
   - Breaking backward compatibility:
   None — the glog compatibility change is additive and safe with all glog 
versions.
   
   ---
   ### Check List:
   - Please make sure your changes are compatible.
   - When providing us with a new feature, it is best to add related tests.
   - Please follow [Contributor Covenant Code of 
Conduct](https://github.com/apache/brpc/blob/master/CODE_OF_CONDUCT.md).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to