>> Now I try to give a build configurator the choice with which library type >> some executable files should be linked. It seems that I need to construct >> corresponding file names instead of target names. > > No, you don't have to.
Thanks for your feedback. > Do you want to build static and dynamic lib at the same time ? Yes. > Then do something like this ? My CMake scripts used an approach that was similar to your description. Now I wonder which of my previous typos let me think that the desired target name could not be applied there. > add_executable(hello ${hellosSrcs}) > > target_link_libraries(hello ${myLibs} ) Documentation: "... If a library name matches that of another target in the project a dependency will automatically be added in the build system to make sure the library being linked is up-to-date before the target links. ..." I have got still two open issues (on my side?). 1. The target name can be resolved inside the build system. But how should I determine generated file names when I want to refer to them from external sources like installation directories? 2. I stumble on the following situation with the tools "CMake 2.8.11.2" and "GCC 4.7.2 20130108" on my openSUSE system. ... make -f examples++/CMakeFiles/client_cpp.dir/build.make examples++/CMakeFiles/client_cpp.dir/build make[2]: Entering directory `/home/elfring/Projekte/libsocket/Bau' Linking CXX executable client cd /home/elfring/Projekte/libsocket/Bau/examples++ && /usr/bin/cmake -E cmake_link_script CMakeFiles/client_cpp.dir/link.txt --verbose=1 /usr/bin/c++ -O2 -g -DNDEBUG CMakeFiles/client_cpp.dir/client.cpp.o -o client -rdynamic ../libsocket_cpp.a ../libisocket.a ../libusocket.a ../libsocket_cpp.a(inetclientstream.cpp.o): In function `libsocket::inet_stream::connect(char const*, char const*, int, int)': /home/elfring/Projekte/libsocket/lokal/C++/inetclientstream.cpp:101: undefined reference to `create_inet_stream_socket(char const*, char const*, char, int)' collect2: error: ld returned 1 exit status make[2]: *** [examples++/client] Error 1 make[2]: Leaving directory `/home/elfring/Projekte/libsocket/Bau' ... I find that strange because the library file which contains the "missed function" is usable for the C program examples as the software generation and a corresponding small test run acknowledges. Regards, Markus -- 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://www.cmake.org/mailman/listinfo/cmake