Linking a C++/CLR shared library to another C++/CLR shared library

I have two C++/CLR shared libraries where one depends on the other. I have set the VS_DOTNET_REFERENCE to point to the DLL as follows

set_target_properties(clr1 PROPERTIES

However if I try to add a dependency (either add_dependency or target_link_libraries) so that clr2 is built before clr1 I get linker errors stating that clr2.lib cannot be found; clr2.lib is never built.

If I create a dummy custom target to produce an intermediate dependency then there is no issue with linking.

add_dependencies(clr2Dep clr2)
add_dependencies(clr1 clr2Dep)

What is the correct way to specify this type of build order dependency?