KDE CI System wrote: > [steveire] Require CMake 2.8.12.
> CMake Error in tier1/sonnet/src/core/CMakeLists.txt: > Target "SonnetCore" has policy CMP0022 enabled, but also has old-style > LINK_INTERFACE_LIBRARIES properties populated, but it was exported without > the EXPORT_LINK_INTERFACE_LIBRARIES to export the old-style properties These are causally related of course. I pushed a temporary fix to ECM. http://thread.gmane.org/gmane.comp.kde.devel.frameworks/6454 http://quickgit.kde.org/?p=extra-cmake-modules.git&a=commit&h=ba86148cf The problem is that in kde4_add_library the LINK_INTERFACE_LIBRARIES property was set to empty so that link dependencies listed in target_link_libraries are private by default instead of public by default. To replace that feature of the macro, a new CMAKE_LINK_INTERFACE_LIBRARIES variable was added to CMake which populates the default. In ECM, we've been setting that to empty. However, CMake 2.8.12 has introduced a new property called INTERFACE_LINK_LIBRARIES as a replacement for LINK_INTERFACE_LIBRARIES. Of course, only one of them can be authorative, so policy CMP0022 was introduced to control which is so. By setting the KDE minimum CMake version to 2.8.12, that policy has been set to NEW. Part of the NEW behavior of that policy is to error on export, as I quoted, if the LINK_INTERFACE_LIBRARIES property is set for a target. A solution would be to remove the set(CMAKE_LINK_INTERFACE_LIBRARIES "") line from ECM. That would mean that a use of target_link_libraries(foo A) will cause A to be a public dependency of foo, not a private one. To make it a private dependency, LINK_PRIVATE would have to be specified. That is the best solution I see for KDE for now. The use of the LINK_PUBLIC and LINK_PRIVATE keywords is now common and pervasive throughout KF5, so the mistake of leaving them out entirely is now less likely. Brad, can you think of any other solution to the problem of 'make the link interface private by default'? Thanks, Steve. _______________________________________________ Kde-frameworks-devel mailing list Kde-frameworks-devel@kde.org https://mail.kde.org/mailman/listinfo/kde-frameworks-devel