If you can build Ada sources first, you might wish to make that a standalone project that is consumed downstream natively as an Imported Library. Do you generate the import library from a .def file, or via some other means?
On Mon, Dec 14, 2015 at 9:59 AM, Tom Kacvinsky <tom.kacvin...@vectorcast.com> wrote: > 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 -- 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