Christian Lang wrote:
Then link them together into an executable:
ADD_EXECUTABLE(exe ...)
TARGET_LINK_LIBRARIES(exe ${START_WHOLE_ARCHIVE} ${SOURCE_LIBS}
${END_WHOLE_ARCHIVE} ${LIBS})
where SOURCE_LIBS are the static libs built in step one and LIBS are
some shared libs. (START_WHOLE_ARCHIVE is "-Wl,--whole-archive" on
linux, END_WHOLE_ARCHIVE "-Wl,--no-whole-archive").
It's not clear whether you are saying this works or asking how to get it
to work.
As LIBS are shared libs, the corresponding directories appear in the
rpath, which is desired. But SOURCE_LIBS are static libs, and their
directories (located somewhere in my home-direcetory) appear in the
rpath too - which is not desired. How can I avoid this?
For the executable in the build tree you have the choice of either the
current rpath or no rpath at all (set the SKIP_BUILD_RPATH property).
For the executable in the install tree you can set the rpath by setting
the INSTALL_RPATH target property on the executable. Take a look at the
documentation of SET_TARGET_PROPERTIES for details.
-Brad
_______________________________________________
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake