Is there any particular corner case where setting an INTERFACE property on a library of type UNKNOWN shouldn’t work? Right now, we have the following situation:
add_library(blah UNKNOWN IMPORTED)
# This fails
target_link_libraries(blah INTERFACE something)
# But this succeeds
set_property(TARGET blah INTERFACE_LINK_LIBRARIES something)
My initial reaction is that I would have expected both cases to work, but maybe I’m missing something and target_link_libraries()
is legitimately rejecting this for some reason.
The particular case where this came up (with bug report) was in wrapping FindOpenSSL in a project to handle static libraries (already reported in CMake’s issue tracker but not yet fixed). The FindOpenSSL module apparently doesn’t set up all the dependencies correctly on Windows.