[CMake] ctest - how to set environment
Bill Hoffman
bill.hoffman at kitware.com
Wed Feb 20 14:20:30 EST 2008
David Cole wrote:
> As I wrote in my first mail, I'm failed using CTEST_ENVIRONMENT inside a
> CMakeLists.txt. I have not tried this in a special ctest script
> because I'm
> searching for lean solution. Which means write a 'CMakeList.txt' once,
> run 'cmake' once and be able to run 'make test' for every change on my
> software. My problem is: there is make test target, I want to use
> it, but all
> tests fail because of the missing environment variables.
>
> Maintaining a ctest script besides the CMakeLists.txt is too much
> effort for
> my current purpose. As described in
> http://www.cmake.org/Wiki/CMake_Testing_With_CTest "Simple Testing"
> ("The easiest way to create CTest input files is using CMake."), I
> just want
> to generate / call the tests within the build process (with the
> existing test
> target), and not define/maintain a parallel build/test process.
>
So, this whole issue has to do with cmake time vs build time. As long
as cmake is a running process then you can set env vars. When that
process is over then the env is gone. One thing you could do is have
your test be run by a cmake script. So, you would wrap your tests in
some cmake script that set the environment variable. The scripts would
use execute_process to run the tests, and -D options to the script to
pass options to your test.
-Bill
More information about the CMake
mailing list