Brad King wrote:
> (2) Name the property "SOURCES" and allow projects to edit it.
> Having access to the list of sources for both reading and writing
> has been requested occasionally.  It is not safe to edit after
> reading the LOCATION property or something else that computes
> the linker language, but we already document such undefined
> behavior for LINKER_LANGUAGE and other properties.
> 
> I think I prefer option (2) because it is more general.
> 
> Either way we will have a chicken-and-egg problem of things like
> $<LINK_LANGUAGE> affecting this usage requirement which could
> bring in sources that affect the link language.

I think this is similar to the problem of adding an entry to the link 
libraries based on the value of POSITION_INDEPENDENT_CODE, which might be 
detmined by the INTERFACE_POSITION_INDEPENDENT_CODE of a dependent. That was 
solved with bf5ece51c3827dc05018128fefe8270da88cfefb (Keep track of 
properties used to determine linker libraries., 2012-11-05), which resolved 
the cycle by introducing an error. I recall a discussion about it, but I 
didn't try to find it.

I think we can do something similar in this case - Any properties used to 
determine the SOURCES have their value determined early and it will be an 
error to re-determine their value basd on the SOURCES.

> IIRC you have
> a similar problem for the WIN32_EXECUTABLE property.

You probably mean POSITION_INDEPENDENT_CODE. The only problem I have with 
the WIN32_EXECUTABLE property relates to the VS6 generator: 

 
https://gitorious.org/~steveire/cmake/steveires-cmake/commit/c1bc1fecb44c36a03d33e797703bbe72d0808ff1

> Also it may be tricky due to the way $<TARGET_SOURCES:...> is
> currently handled up front.

You mean TARGET_OBJECTS? It seems to only populate a ObjectLibraries 
container which is later only used at generate-time. Or do you mean 
something else?

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

Reply via email to