Hi Petr,
On Mon, Dec 14, 2015 at 10:53 AM, Petr Kmoch <petr.km...@gmail.com> wrote: > Hi Tom, > > linking the static archive into the DLL should not be done by > add_dependencies(), but by target_link_libraries(). There, you can > explicitly list the archive as PRIVATE so that it does not become a part of > the linking interface of the DLL: > > add_library(staticArchive STATIC ...) > > add_library(theDLL SHARED ...) > > target_link_libraries(theDLL PRIVATE staticArchive) > Thanks for the tip. I'll try it out. I hope it works as I am not using the MSVC tool chain to build the DLL (i.e., not using add_library and target_link_libraries). I sent a separate reply detailing what I am using to build the DLL. > > On Mon, Dec 14, 2015 at 3:34 PM, Tom Kacvinsky > <tom.kacvin...@vectorcast.com> wrote: >> >> I am getting link errors because cmake is adding transitive >> dependencies. I am building a DLL which depends on a static archive >> (and is marked as such with add_dependencies), but when I link an >> executable that depends on the DLL, both libraries (import library for >> the DLL and static archive) are specified on the link. leading to >> duplicate symbol errors as the symbol are exported form the DLL and >> defined in the static archive. >> >> How do I work around this? This is the one thing that has frustrated >> me over the last couple of years - I have never received an answer >> telling me how to turn off transitive dependencies. >> >> Sorry for the minor rant. >> >> Regards, >> >> Tom >> -- >> >> 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 > > -- 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