Hello CMake community,

I am observing a strange problem regarding dependencies to static libs in
executables. I am not entirely sure but it seems this started since I
upgraded to the 3.11 line. I am using Windows and MSVC14.

Basically, my code base contains a number of static libraries that are
linked together to a few executables. Very basic and down to earth. Like
this:

set(MY_SERVER_SRC
ServerSource1.cpp
ServerSource2.cpp
)

set(MY_SERVER_HDR
ServerConfig.hpp
Header1.hpp
Header2.hpp
)

add_library(my_server STATIC ${MY_SERVER_SRC} ${MY_SERVER_HDR})
target_link_libraries(my_server
some_tools
some_base
${Boost_LIBRARIES}
${OPENSSL_LIBRARIES}
)
add_executable(serverd main.cpp)
target_link_libraries(serverd
my_server
some_tools
some_base

${Boost_LIBRARIES}
${OPENSSL_LIBRARIES}
)

So a few big libs with the beef in them and then a small main.cpp
containing executable. Nothing fancy.

What gives me trouble now is that dependencies within that seem broken. In
above example, when I edit ServerSource1.cpp and then hit "Build", I see
ServerSource1.o being compiled and the library my_server being linked. Like
expected. Problem is, serverd does not get linked. Or at least I see no
hint of it being linked (In MSVC's output window).
So, my question is: What could cause this? I there anything 3.11.x does
differently which causes those dependecies to break? And how can I fix this?

This is quickly turning into a major problem for us here as it means that
we cannot reliably build anymore because whenever we change something and
hit build we can't be sure we get a linked executable anymore unless we do
a complete rebuild, which takes a long time (In fact, I wrote this message
waiting for one).

Thanks for any hint!

Stephan
-- 

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:
https://cmake.org/mailman/listinfo/cmake

Reply via email to