On 10/10/2014 05:09 AM, Nils Gladitz wrote:
>    set(LIBRARIES
>        foobar.lib
>        barfoo.lib
>    )
> 
>    add_executable(foo foo.cpp)
>    target_link_libraries(foo PUBLIC $<BUILD_INTERFACE:${LIBRARIES}>)

This is basically writing:

 target_link_libraries(foo PUBLIC $<BUILD_INTERFACE:foobar.lib barfoo.lib>)

which was never intended to be supported.  It worked only as an accident
of the 3.0 implementation.  In 2.8.12.2 it did not work.

> I can work around this by wrapping the libraries with $<BUILD_INTERFACE> 
> individually or by quoting the entire genex.

This was the intended interface.

I'm willing to regress this because:

- It restores 2.8.12 behavior
- The quoting is easy to do
- It is very hard to fix this without un-doing all the other
  improvements enabled by the refactoring that broke this.

I will add mention of this in the 3.1 release notes.

Thanks,
-Brad
-- 

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:
http://public.kitware.com/mailman/listinfo/cmake-developers

Reply via email to