On Friday 15 February 2013, Brad King wrote:
> On 02/15/2013 04:37 PM, Alexander Neundorf wrote:
> > So is it possible to refer to not-yet-defined targets from tll(), and
> > what happens if they get not defined later on ?
> 
> This works at it always has.  If the named item does not resolve to a
> target name at generate time it is treated as a raw library (-lfoo).
> If it does resolve to a target then now the usage requirements will
> be applied from its interface properties.  The decision now occurs
> at generate time.

The thing is, if I generate an error at configure time if at the end of a 
directory a target has been used but has not been defined, i.e. a target Foo 
has been imported which links against a missing imported target, it would 
still be possible that the project can build successfully if this bad imported 
target Foo is simply not used, e.g. because Foo_FOUND is set to FALSE.

How about that: when in the exported and then imported Target.cmake a used 
target is not yet defined, this target name is added to a cmake variable.
When then cmake calculates the linking, and it can't find a target, it checks 
whether the name is contained in this cmake variable.
If so, it errors out instead of assuming it is the name of a library.

Does that sound reasonable, and better than failing already earlier ?

Alex
--

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