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
Hi,

Another problem I faced with policy CMP0022 is that I was unable to
really silence it. Setting the policy to OLD doesn't really work (at
least not in my case), maybe because the "cmake_policy()" command is
scoped(?). I have a macro that contains the now deprecated use of
LINK_INTERFACE_LIBRARIES, so I thought I could simply wrap that
statement inside the following code block:

    if (POLICY CMP0022)
        cmake_policy(PUSH)
        cmake_policy(SET CMP0022 OLD)
    endif()
    target_link_libraries (... LINK_INTERFACE_LIBRARIES ...)
    if (POLICY CMP0022)
        cmake_policy(POP)
    endif()

But that doesn't seem to work. I still get the policy warnings for
CMP0022. Also setting the policy to OLD once at top-level doesn't seem
to work; probably due to policy scoping. I played a bit with
NO_POLICY_SCOPE to different include() and find_package() statements,
but to no avail.

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

Reply via email to