Hi, On Tue, Nov 26, 2013 at 12:00:10PM -0500, cmake-requ...@cmake.org wrote: > Date: Tue, 26 Nov 2013 12:13:16 +0100 > From: Marcel Loose <lo...@astron.nl> > Subject: [CMake] TARGET property LOCATION
> Hi all, > > According to the CMake documentation, the TARGET property LOCATION for a > non-imported target is provided for compatibility with CMake 2.4 and > below. My question is: are there any plans to deprecate this property? I > want to know, because AFAIK, the only way to determine the full path to > a built target is to use this property. Yeah, a very good question. Especially since for somewhat older (I assume that these already were a bit newer than the LOCATION deprecation event though!) CMake versions I have a need for the following conditional code (or similar to it - not 100% sure whether LOCATION is the only way to handle it): # CMake add_test() has a plain signature and additionally a NAME/COMMAND signature # in newer versions. # Since I somehow managed to completely miss this, # I filed a CMake bug report (#12589). # Let's thus use the newer signature whenever it's supported. set(cmake_add_test_command_signature_supported_ false) set(cmake_version_add_test_command_signature_not_supported_last "2.7.0") # FIXME which version? set(cmake_version_add_test_supports_command_signature_check "${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}") if("${cmake_version_add_test_supports_command_signature_check}" VERSION_GREATER "${cmake_version_add_test_command_signature_not_supported_last}") set(cmake_add_test_command_signature_supported_ true) endif("${cmake_version_add_test_supports_command_signature_check}" VERSION_GREATER "${cmake_version_add_test_command_signature_not_supported_last}") if(cmake_add_test_command_signature_supported_) function(_ctest_add_test_sanitized _target) set(testname_ "${_target}") set(testexe_ "${_target}") add_test(NAME "${testname_}" COMMAND "${testexe_}") endfunction(_ctest_add_test_sanitized _target) else(cmake_add_test_command_signature_supported_) function(_ctest_add_test_sanitized _target) set(testname_ "${_target}") # Work around incapable add_test(), by using a property which # is said to be ""deprecated""... (*** SIGH ***). get_property(test_location_ TARGET "${_target}" PROPERTY LOCATION) set(testexe_ "${test_location_}") add_test("${testname_}" "${testexe_}") endfunction(_ctest_add_test_sanitized _target) endif(cmake_add_test_command_signature_supported_) > Best regards, > Marcel Loose. Andreas Mohr -- 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://www.cmake.org/mailman/listinfo/cmake