Dear all,
I am try to set the PATH environment variable on windows for running the
unit tests through ctest. The ctest file is generated by the cmake
scripts. The PATH is required to for finding additional dlls required by
the tests.
I tried to set the PATH using this cmake code:
SET(PATH_STRING "$ENV{PATH};${Boost_LIBRARY_DIRS}")
STRING(REPLACE ";" "\\;" PATH_STRING "${PATH_STRING}")
SET_TESTS_PROPERTIES(rsbtest PROPERTIES ENVIRONMENT "PATH=${PATH_STRING}")
This is done according to this list posting some time ago:
http://www.cmake.org/pipermail/cmake/2009-May/029464.html
However, it does not work for me. PATH is not changed when calling ctest
and the dlls are not found. I investigated a bit and found out that the
resulting CTestTestfile.cmake file contains these lines for every
specified test:
ADD_TEST(rsbtest "<correct binary>")
SET_TESTS_PROPERTIES(rsbtest PROPERTIES ENVIRONMENT "PATH=<correct path
with correct escapes>")
However, "man ctest" does not even document that SET_TESTS_PROPERTIES is
a valid command for ctest. Instead SET_PROPERTY(TEST...) is explained.
So I changed the generated CTestTestfile.cmake according to this
information to:
ADD_TEST(rsbtest "<correct binary>")
SET_PROPERTY(TEST rsbtest PROPERTY ENVIRONMENT "PATH=<correct path with
correct escapes>")
Afterwards all unit tests run as expected.
What am I doing wrong here? Or is this a bug in cmake?
Thanks for any help!
Johannes
_______________________________________________
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