Closed SwooshyCueb closed 3 years ago
are we good here? if so, please checkbox and close.
The temporary solution is in place. Initially, I was planning on keeping this open until irods-dev passed down the proper dependencies, but since that's covered in irods/irods#5250, I'll go ahead and close this.
[x] 4-2-stable
Build fails because
fmt/core.h
was not found:If clang does manage to find
fmt/core.h
, build fails during linking, aslibfmt
is not linked:(Note: Output here is from the lld linker. This isn't used by default when building irods, but I often use it because I find the error messages easier to understand.)
The easy solution is to add
${IRODS_EXTERNALS_FULLPATH_FMT}/include
and${IRODS_EXTERNALS_FULLPATH_FMT}/lib/libfmt.so
to the list of arguments provided totarget_include_directories
andtarget_link_libraries
, respectively, inCMakeLists.txt
.HOWEVER, since the fmt dependency comes from irods proper, and not from the rule engine plugin itself, it needs to be passed down by the cmake targets file provided by
irods-dev
.From the CMake documentation on
INTERFACE_INCLUDE_DIRECTORIES
:Related issue: irods/irods#5250