I realize the cmake documentation says that everything that starts with “-“ should be treated as other linker flags, so I wonder, perhaps it’s a new bug, or maybe just with a specific generator? In this case I am using the new NVidia NSight Android generator for Visual Studio.
Can anyone confirm if this also happens with other generators? Thanks! From: Robert Goulet Sent: Friday, January 9, 2015 10:55 AM To: 'Justin Borodinsky' Cc: Robert Maynard; [email protected] Subject: RE: [cmake-developers] target_link_libraries and --start-group/--end-group ? I tried that but then target_link_libraries will automatically add “-l” in front of every additional flag I pass. Is there a way to pass other flags without having it changed them? i.e.: target_link_libraries(${PROJECT_NAME} -Wl,--start-group foo bar -Wl,--end-group) …ends up like this in the linker command line: -l”-Wl,--start-group” –lfoo –lbar –l”-Wl,--end-group” So how do you preserve other flags so that it ends up like this: -Wl,--start-group –lfoo –lbar -Wl,--end-group From: Justin Borodinsky [mailto:[email protected]] Sent: Thursday, January 8, 2015 10:18 PM To: Robert Goulet Cc: Robert Maynard; [email protected]<mailto:[email protected]> Subject: Re: [cmake-developers] target_link_libraries and --start-group/--end-group ? I had a similar problem, and I found that passing the extra flags, along with the libraries, to target_link_libraries directly worked. On Tue, Jan 6, 2015 at 3:50 PM, Robert Goulet <[email protected]<mailto:[email protected]>> wrote: Thanks Robert, But it doesn’t seems to work when building for NVidia NSight Android platform using Visual Studio IDE. Is there a way to add custom flags before and after the flags set by target_link_libraries? I tried CMAKE_LINK_EXE_FLAGS but it doesn’t work. Thanks! From: Robert Maynard [mailto:[email protected]<mailto:[email protected]>] Sent: Monday, January 5, 2015 4:22 PM To: Robert Goulet Cc: [email protected]<mailto:[email protected]> Subject: Re: [cmake-developers] target_link_libraries and --start-group/--end-group ? I believe what you want to do is bring the libraries in as imported targets and set the target property IMPORTED_LINK_INTERFACE_MULTIPLICITY ( http://www.cmake.org/cmake/help/v3.0/prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY.html ). By default the value should be 2 which means that we will list all static libraries twice, but you might need to increase the value. I would also read the resolution of bug 14463 (http://public.kitware.com/Bug/view.php?id=14463) for a quick explanation of how the target_link_libraries order determines the static link ordering. On Mon, Jan 5, 2015 at 2:09 PM, Robert Goulet <[email protected]<mailto:[email protected]>> wrote: Hi, My project needs to link with an external library which actually consist of a set of libraries. Adding these libs using target_link_libraries should be working just fine but unfortunately these libs have a bunch of circular dependencies, so it fails. In the makefile, we link with these libs using this syntax: -Wl,--start-group …libs… -Wl,--end-group …so that the linker is able to correctly find all symbols. What’s the proper way to deal with this using CMake? I tried to add the group flags to target_link_libraries but it does not work. Thanks! Robert Goulet Senior Software Developer Games Solutions Group Autodesk Media & Entertainment MAIN +1 514 393 1616<tel:%2B1%20514%20393%201616> DIRECT +1 514 954 3911<tel:%2B1%20514%20954%203911> MOBILE +1 438 397 4075<tel:%2B1%20438%20397%204075> Autodesk, Inc. 10 Rue Duke Montreal, QC, H3C 2L7 www.autodesk.com<http://www.autodesk.com/> [Description: Email_Signature_Logobar] -- Powered by www.kitware.com<http://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 -- Powered by www.kitware.com<http://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
-- 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
