Yes, you can do that. I don't know if there is an easier way than the
following:
function(get_full_name target full_name)
get_target_property(name ${target} NAME)
get_target_property(suffix ${target} SUFFIX)
get_target_property(prefix ${target} PREFIX)
get_target_property(type ${target} TYPE)
if(NOT prefix)
set(prefix ${CMAKE_${type}_PREFIX})
endif()
if(NOT suffix)
set(suffix ${CMAKE_${type}_SUFFIX})
endif()
set(${full_name} "${prefix}${name}${suffix}" PARENT_SCOPE)
endfunction()
You will need to modify it if you want to support custom per config
names. Unless you really needs this information at configuration you
should use the $<TARGET_FILE_NAME:tgt> generator expression as it will
always be correct.
On Mon, Nov 5, 2018 at 1:04 PM Hendrik Greving
The name property doesn't return the library name for libraries, i.e. on Linux, no lib prefix and .so suffix. Also the PREFIX and SUFFIX (see above) don't appear to be set. Is it possible to retrieve the default library name on a given platform?
Post by Robert MaynardThat is correct behavior. OUTPUT_NAME is a customization point to
allow projects to change the name, so if it isn't set CMake will use
the NAME property.
On Mon, Nov 5, 2018 at 12:42 PM Hendrik Greving
Post by Hendrik GrevingI think OUTPUT_NAME is not set by default. I am getting var-NOTFOUND
Same for RUNTIME_OUTPUT_NAME, LIBRARY_OUTPUT_NAME, PREFIX and SUFFIX
Post by Robert MaynardAt configure time you query OUTPUT_NAME target property
(https://cmake.org/cmake/help/v3.11/prop_tgt/OUTPUT_NAME.html) and if
not set you use NAME (
https://cmake.org/cmake/help/v3.11/prop_tgt/NAME.html )
On Mon, Nov 5, 2018 at 11:48 AM Hendrik Greving
Hi, is there a way to get the default library or executable name at configure time (except obsolete LOCATION property)? i.e. lib${target_name}.so in Linux, where target_name is NAME target property? Thanks in advance.
--
Powered by www.kitware.com
Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
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
https://cmake.org/mailman/listinfo/cmake
--
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:
https://cmake.org/mailman/listinfo/cmake