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) Petr 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