The add_test command support generator expressions as part of the COMMAND component ( https://cmake.org/cmake/help/v3.11/command/add_test.html). So you could pass the name of the target as command line parameter. On Mon, Nov 5, 2018 at 1:43 PM Hendrik Greving <hendrik.greving....@gmail.com> wrote: > > I see. We may be able to work with this. Thanks a lot! > generator expressions don't work with LINK_FLAGS (though I heard they will be > supported in LINK_OPTIONS in 3.13, which would require us to migrate. But > even then, generator expressions don't support and logic around this like > file(GNERATE ..) or string(REPLACE ..) that our (cmake-) files use > frequently. i.e. we are changing paths to upload on an Android target. > Another big issue is that we are using the target name for add_test commands, > i.e. in order to compute some library names based on the target name as part > of the test command. I can't use file(GENERATE to derive the target name and > put the add_test part into a .cmake script because add_test is not scriptable. > Thanks. > > On Mon, Nov 5, 2018 at 10:21 AM Robert Maynard <robert.mayn...@kitware.com> > wrote: >> >> 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 >> <hendrik.greving....@gmail.com> wrote: >> > >> > 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? >> > >> > On Mon, Nov 5, 2018 at 9:57 AM Robert Maynard <robert.mayn...@kitware.com> >> > wrote: >> >> >> >> That 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 >> >> <hendrik.greving....@gmail.com> wrote: >> >> > >> >> > I think OUTPUT_NAME is not set by default. I am getting var-NOTFOUND >> >> > Same for RUNTIME_OUTPUT_NAME, LIBRARY_OUTPUT_NAME, PREFIX and SUFFIX >> >> > >> >> > On Mon, Nov 5, 2018 at 9:26 AM Robert Maynard >> >> > <robert.mayn...@kitware.com> wrote: >> >> >> >> >> >> At 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 >> >> >> <hendrik.greving....@gmail.com> wrote: >> >> >> > >> >> >> > 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 >> >> >> > >> >> >> > 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 --
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