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

Reply via email to