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

Reply via email to