On 11/08/14 18:47, Brad King wrote: > On 08/09/2014 09:46 AM, Marcel Loose wrote: >> CMake 2.8.12 introduced the keywords PRIVATE, INTERFACE and PUBLIC, and >> immediately deprecated the LINK_INTERFACE_LIBRARIES keyword, >> triggering policy warnings CMP0022 and CMP0023. >> >> What is the proper way to get rid of these policy warnings, while at >> the same time staying backward compatible with older CMake versions? > From the documentation of CMP0022: > > "Warning-free future-compatible code which works with CMake 2.8.9 > onwards can be written by using the LINK_PRIVATE and LINK_PUBLIC > keywords of target_link_libraries()." > > Actually it should say 2.8.7, not 2.8.9. CMP0023 docs mention 2.8.7. > > -Brad Hmm,
That's probably in the CMake 3.0.x docs; CMake 2.8.12 doesn't mention LINK_PUBLIC and LINK_PRIVATE in the policy documentation. I only read the following in the docs on target_link_libraries The LINK_PUBLIC and LINK_PRIVATE modes can be used to specify both the link dependencies and the link interface in one command. This signature is for compatibility only. Prefer the PUBLIC or PRIVATE keywords instead. "... for compatibility only" didn't give me the feeling that this is the way to go, which is underscored by the next sentence: "Prefer the ..." On a side note. Even using the new PRIVATE and PUBLIC keywords I am unable to exactly specify which libraries are needed for linking. Without breaking builds with static libraries, I am forced to specify too many library dependencies. Maybe I'm doing something wrong, but my setup is quite complicated. Fortunately, modern version of ld will get rid of unused libraries anyway, so it's not really that much of an issue for me. Regards, Marcel Loose.
<<attachment: loose.vcf>>
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake