Seems CMake will rearrange and copy libraries which are passed to the linker when some of the libraries is listed twice (for example, -lz from png libraries and -l for blender itself). This was causing libopenimageio to be added somewhere at the end of linking flags without -ldl followed after which was causing linking issues.