[CMake] runtime dependencies for tests
Massaro Alessio
Alessio.Massaro at mediobanca.co.uk
Fri Feb 3 05:28:26 EST 2012
Thanks to everyone for the feedback!
The following does not work, afaics
add_test(NAME ${mod_name} COMMAND ${mod_name})
set_tests_properties(${mod_name} PROPERTIES ENVIRONMENT "PATH=${Boost_LIBRARY_DIRS};$ENV{PATH}")
Am I doing something stupid?
-----Original Message-----
From: cmake-bounces at cmake.org [mailto:cmake-bounces at cmake.org] On Behalf Of Michael Hertling
Sent: 01 February 2012 02:20
To: cmake at cmake.org
Subject: Re: [CMake] runtime dependencies for tests
On 01/31/2012 02:43 PM, Massaro Alessio wrote:
> Hi There
>
> I googled near and far, but could not find a way to tell CTest where to find the 3rd-party DLLs required to run the test executables.
> In particular my executable targets link with a few Boost DLLs/SOs and obviously require them to run.
>
> I understand on the Linux/Solaris I can use RPATH support in CMake.
> But I can't find a way to do it on my primary target platform, WIN32-msvc9.
>
> I've already tried several variants of calling configure_file in a function the following way:
>
> configure_file("${some_dbg_boost_dll_file}"
> "${CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG}" COPYONLY)
>
> I'm open to all sorts of solutions: copy DLLs in place, set the PATH environment variable, ... anything!
>
> I just need a pointer to show me some way to do it.
>
> Thank you in advance!
IMO, the easiest approach is to use the ENVIRONMENT test property to tweak the PATH environment variable for the tests, e.g. by appending/ prepending ${Boost_LIBRARY_DIRS} etc. A more radical but cumbersome approach is to use the BundleUtilities to perform a completed test installation - preferably beneath the build tree - and run the tests therein. Finally, you might copy the required libraries to the build tree by a custom target or custom commands, or by a test on its own in conjunction with the DEPENDS test property, but that's even more cumbersome.
Regards,
Michael
--
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
More information about the CMake
mailing list