У меня есть сценарий CMake, который запускает некоторые тесты через add_test()
, работающий под Windows (Server 2008, не спрашивайте) в CMake 3.15. Когда вызываются эти тесты, переменная среды PYTHONPATH в среде, в которой они запускаются, кажется, сбрасывается в значение по умолчанию среды и не содержит некоторых путей, которые ей нужны.
Поэтому мне нужно установить PYTHONPATH, когдатесты выполняются со значением переменной $ ENV {PYTHONPATH} при запуске CMake. У этого есть несколько путей, разделенных точкой с запятой, поэтому CMake думает, что это список, и пытается расширить его до ряда строк, разделенных пробелами, что, очевидно, плохо заканчивается.
Я не могу понять, как остановить работу CMakeэто. Из всего, что я вижу, вы можете просто заключить в кавычки:
add_test(
NAME mytest
COMMAND cmake -E env PYTHONPATH="$ENV{PYTHONPATH}"
run_test_here)
... но это всегда делает расширение. Я также попытался установить с помощью set_tests_properties:
set_tests_properties(mytest PROPERTIES
ENVIRONMENT PYTHONPATH="$ENV{PYTHONPATH}")
... но это, похоже, ничего не делало - PYTHONPATH во время теста не изменилась. Я думал, что это потому, что это переменная окружения, но использование обычной переменной CMake через set()
не имеет значения, поэтому я делаю что-то не так. Помогите пожалуйста!