"cmTarget: Refactor ComputeLinkImplementation" (24637979):
  http://www.cmake.org/gitweb?p=cmake.git;a=commit;h=24637979

Seems to have broken this reduced testcase:
  cmake_minimum_required(VERSION 3.0)

  set(LIBRARIES
      foobar.lib
      barfoo.lib
  )

  add_executable(foo foo.cpp)
  target_link_libraries(foo PUBLIC $<BUILD_INTERFACE:${LIBRARIES}>)

For the Ninja generator in 3.0 this produces a "build.ninja" with:
  LINK_LIBRARIES = -rdynamic -lfoobar.lib -lbarfoo.lib

Since 24637979 this produces:
  LINK_LIBRARIES = -rdynamic $<BUILD_INTERFACE:foobar.lib -lbarfoo.lib>

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

Given the title of the commit I'm guessing this wasn't an intentional change of behavior?

Nils
--

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