I just tested with Unix Makefiles and it works ok,
target_link_libraries(${TARGET_NAME} -Wl,--start-group -lm -Wl,--end-group)
results in /usr/bin/c++ -g CMakeFiles/TestM.dir/testm.cpp.o -o TestM
-rdynamic -Wl,--start-group -lm -Wl,--end-group
On Fri, Jan 9, 2015 at 4:28 PM, Robert Goulet <[email protected]>
wrote:
> 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]
> <[email protected]>]
> *Sent:* Thursday, January 8, 2015 10:18 PM
> *To:* Robert Goulet
> *Cc:* Robert Maynard; [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]>
> 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]]
> *Sent:* Monday, January 5, 2015 4:22 PM
> *To:* Robert Goulet
> *Cc:* [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]>
> 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 <%2B1%20514%20393%201616>
>
> *DIRECT* +1 514 954 3911 <%2B1%20514%20954%203911>
>
> *MOBILE* +1 438 397 4075
>
>
>
> *Autodesk, Inc.*
>
> 10 Rue Duke
>
> Montreal, QC, H3C 2L7
>
> www.autodesk.com
>
>
>
> [image: Description: Email_Signature_Logobar]
>
>
>
>
> --
>
> 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
>
>
>
>
> --
>
> 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
>
>
>
--
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