Brad King wrote:
> On 06/07/2013 08:35 AM, Stephen Kelly wrote:
>> I looked into it a bit and found that the SOURCES target property already
>> exists. I was going to just add
>>
>>
>>
>>
>> + for(std::vector<std::string>::iterator i = this-
>>> ObjectLibraries.begin();
>> + i != this->ObjectLibraries.end(); ++i)
>> + {
>> + ss << sep;
>> + sep = ";";
>> + ss << "$<TARGET_OBJECTS:" + *i + ">";
>> + }
>>
>> and make set_source_files_properties ignore entries of the form
>> $<TARGET_OBJECTS:foo>, but I wonder if it would be better to create a new
>> property?
>
> I wonder if we can use the SOURCES property but lift the read-only
> restriction by special-casing the property storage similar to how
> you do for include directories. It should know the cmSourceFile*
> internally but present the value as a path to the source file
> as specified by the project in the property value. Then replace
> the ObjectLibraries member with another representation in the
> special SOURCES property storage vector.
>
Yes, that was the plan sort of.
I guess I can't teach set_source_files_properties to ignore generator
expressions entirely, because I guess you'd want to do this:
set_property(TARGET foo APPEND PROPERTY
SOURCES $<$<CONFIG:Debug>:other.cpp>)
get_target_property(srcs foo SOURCES)
set_source_files_properties(${srcs} PROPERTIES ...)
So I guess set_source_files_properties needs to learn about generator
expressions anyway, and it can skip over $<TARGET_OBJECTS> entries as it
can't do anything useful with them.
Thanks,
Steve.
--
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers