[CMake] CMP0026 - Disallow use of the LOCATION target property

Jifeng ZHANG zjfroot at gmail.com
Fri Feb 6 09:03:19 EST 2015


Hi,

I have a question of policy CMP0026. Our project currently is on CMake
2 and we are planning to move to CMake 3.

When we run CMake3.1.1, we get get a few warnings due to the policy
CMP0026, "Disallow use of the LOCATION target property". Even though
with those warnings, our cmake scripts still work fine and we are
getting the property correctly.

One example is like this:
get_target_property (TEST_PATH ${TESTS_PROJECT} LOCATION_${CMAKE_BUILD_TYPE})

So my question is, will the support of this kind of usage be dropped
in the future releases? I understand the LOCATION property is not
fully determined until geenrate-time, however, since it works in our
case, can we rely on this behavior or we should consider it will
change in the coming 3.x releases?

If we migrate away from get_target_property, "$<TARGET_FILE> generator
expression" is suggested from CMake3.1.1's documentation. So to get
the LOCATION of ${TEST_PROJECT}, I can use:
  set (TEST_PATH $<TARGET_FILE:${TESTS_PROJECT}>)

But if I want to get LOCATION_${CMAKE_BUILD_TYPE}, how can I do it?

Thanks.
-- 
Vänliga hälsningar/Best regards,
Jifeng Zhang


More information about the CMake mailing list