The BPv7 implementation currently depends on TinyCBOR (https://github.com/intel/tinycbor) but this might not be available as an installable system package in many Linux distros, and for the ones that do have it, it is probably an older version.
Therefore, it is likely that users will compile the latest version and install it manually, and that may also mean it is installed somewhere other than the standard /usr/lib or /usr/local/lib. Since the pkg-config facility is used to locate this package, this should be OK, the user just has to set PKG_CONFIG_DIR environment variable to wherever they typically install their dependencies.
However, two issues were noted when trying to use a non-standard location:
Failure to locate the library does not stop the build because it is not marked as "REQUIRED" - but it is (currently, at least) required for v7, or else the build fails more cryptically later.
The link libraries should reference the LDFLAGS rather than the LIBRARIES output variable - because the former includes the path whereas the latter only works if the library is in the standard path.
The BPv7 implementation currently depends on TinyCBOR (https://github.com/intel/tinycbor) but this might not be available as an installable system package in many Linux distros, and for the ones that do have it, it is probably an older version.
Therefore, it is likely that users will compile the latest version and install it manually, and that may also mean it is installed somewhere other than the standard
/usr/lib
or/usr/local/lib
. Since the pkg-config facility is used to locate this package, this should be OK, the user just has to set PKG_CONFIG_DIR environment variable to wherever they typically install their dependencies.However, two issues were noted when trying to use a non-standard location:
LDFLAGS
rather than theLIBRARIES
output variable - because the former includes the path whereas the latter only works if the library is in the standard path.