[CMake] CTest and PYTHONPATH
Michael Wild
themiwi at gmail.com
Tue Dec 14 11:27:01 EST 2010
On 12/14/2010 05:00 PM, Anders Wang Kristensen wrote:
> Hi,
>
> I'm having some trouble setting PYTHONPATH in order to test a python
> extension module built with cmake.
> Currently I do the following:
>
> add_test(NAME py_test COMMAND ${PYTHON_EXECUTABLE}
> ${CMAKE_CURRENT_SOURCE_DIR}/test_runner.py)
>
> if (CMAKE_CONFIGURATION_TYPES)
> set (PY_DIR ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR})
> else ()
> set (PY_DIR ${CMAKE_BINARY_DIR}/bin)
> endif ()
>
> set_tests_properties(py_test
> PROPERTIES ENVIRONMENT "PYTHONPATH=${PY_DIR}")
>
> The problem is that ${CMAKE_CFG_INTDIR} doesn't get parsed fully, so
> PY_DIR expands to ../vs10x64/bin/$(Configuration), which obviously
> doesn't work.
> Searching this mailing list, I can see that other people have had
> trouble with this, but I'm unsure what to do in my case.
>
> Should I use $<CONFIGURATION> and pass arguments to add_test or ... ?
>
> kind regards
> Anders
Yes, pass $<CONFIGURATION> as an argument to your test_runner.py and in
there do sys.path.insert(0, "path/to/your/package") to adjust the search
path. Be prepared for the case where $<CONFIGURATION> is empty.
Michael
More information about the CMake
mailing list