On 02/26/2013 12:06 PM, Alexander Neundorf wrote:
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
The tests are not being linked to the library. The tests are dlopening them
at run time.
--
Orion Poplawski
Technical Manager 303-415-9701 x222
NWRA, Boulder Office FAX: 303-415-9702
3380 Mitchell Lane [email protected]
Boulder, CO 80301 http://www.nwra.com
--
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