Brad King wrote:

> The topic looks like a great start.  I won't promise to take it
> for 2.8.12 yet but let's proceed with review.
> 
> - The documentation in add_library and add_executable lists a bunch
>   of things one can't do but not an example of what one can do.
>   I think this documentation should have an explicit list of what
>   is intended and allowed and then exclude everything else.  That
>   way if we missed a use case we can treat it as a bug later and
>   add the error case.

I'm not sure how to do this one. Do you want an example code snippet of 
allowed commands?

> 
> - Should add_executable be (dis)allowed to add a library alias,
>   and vice-versa for add_library?

Yes, done.

> 
> - The documentation does not mention that alias targets cannot be
>   installed or exported.

Fixed.

> - Add more "positive" use cases (or "negative" if not allowed)
>   to the test suite:
> 
>   - add_custom_command/add_custom_target COMMAND argv0 translation
>   - add_test NAME/COMMAND signature argv0 translation
>   - generator expression references e.g. $<TARGET_FILE:...> in
>     add_test and add_custom_* commands
>   - Alias for an object library with $<TARGET_OBJECTS:...>

All done.

>   - Look for other uses of cmMakefile FindTargetToUse and
>     FindTarget; all of them need tests for alias behavior and/or
>     should be preceded by !IsAlias checks (many are already done).

Reviewed. I think everything is covered. 

> - How does this interact with $<TARGET_PROPERTY:NAME>?

The name of the aliased target is returned, not the alias name itself.

> 
> - When "if(TARGET xyz)" returns true how can one tell from CMake
>   code whether xyz is an alias or a real target?  Can one get the
>   real target if it is an alias?

I added a ALIASED_TARGET target property for that. An alternative would be 

 if(ALIAS xyz)

but I don't think that's really needed. if() is complex enough already.

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