On Tuesday 26 February 2013, Orion Poplawski wrote:
> We have some tests that load libraries at run time.  How can we specify
> that LD_LIBRARY_PATH needs to be set?
> 
> file(WRITE ${CMAKE_SOURCE_DIR}/testsuite/launchtest.c "${LAUNCH}")
> add_executable(launchtest EXCLUDE_FROM_ALL
> ${CMAKE_SOURCE_DIR}/testsuite/launchtest.c)
> add_library(test_ce SHARED EXCLUDE_FROM_ALL libtest_ce.cpp)
> add_custom_target(check COMMAND ${CMAKE_BUILD_TOOL} test DEPENDS launchtest
> test_ce)
> get_target_property(LAUNCHTESTLOCATION launchtest LOCATION)
> execute_process(
>    COMMAND "fgrep" ".pro" "${BASE_SOURCE}/testsuite/Makefile.am"
>    COMMAND "awk" "{printf(\"%s;\",$1)}"
>    OUTPUT_VARIABLE TESTS)
> foreach(TEST ${TESTS})
>          add_test(${TEST} ${LAUNCHTESTLOCATION} ${TEST})
> endforeach(TEST TESTS)
> 
> The test needs to be able to load the test_ce library at run-time.

If you didn't explicitely disable it, cmake builds the executables by default 
with the complete RPATH to all used libraries (the "build RPATH").
This is replaced during make install by the "install RPATH", which is by 
default empty.
So it should actually just work.

Alex
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to