bareos: master e299ef36

Author Committer Branch Timestamp Parent
arogge arogge master 2024-10-02 14:26 master c1687ddf Pending
Changeset freebsd: make /usr/local/include a SYSTEM directory

this adds the SYSTEM option to include_directories(/usr/local/include)
on FreeBSD.

When adding /usr/local/include using include_directories() for FreeBSD,
it may be used as the first -I on the compiler's commandline so that
system installed headers in /usr/local will be preferred over headers of
the libraries we discovered.
However, this can vary between translation units, leading to some TUs
being compiled with headers from /usr/local/include and some with
headers we have bundled.
As a result, you may run into all sorts of issues when finally linking
TUs that used different versions of a header-only library into a binary.

To avoid this, we declare /usr/local/include as a SYSTEM include
directory, so CMake will always put it after all non-SYSTEM include
directories on the command line and use -isystem, which as a side-effect
also silences warnings.
mod - core/CMakeLists.txt Diff File