From c9ba53eb498c2ff33910b19cd560fb16e5d53463 Mon Sep 17 00:00:00 2001 From: Goran Jelic-Cizmek Date: Thu, 7 Mar 2024 17:17:22 +0100 Subject: [PATCH] Fix PYTHONPATH for tests when using a venv --- test/unit/CMakeLists.txt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/test/unit/CMakeLists.txt b/test/unit/CMakeLists.txt index 7d09cb9b4..729f298ef 100644 --- a/test/unit/CMakeLists.txt +++ b/test/unit/CMakeLists.txt @@ -116,7 +116,13 @@ target_link_libraries(testunitparser PRIVATE lexer test_util config) # Use catch_discover instead of add_test for granular test result reporting. # ============================================================================= set(test_env ${NMODL_SANITIZER_ENABLE_ENVIRONMENT}) -set(testvisitor_env "PYTHONPATH=${PROJECT_BINARY_DIR}/lib:$ENV{PYTHONPATH}") +# workaround for when the user installs all Python dependencies in a virtual env +execute_process( + COMMAND ${PYTHON_EXECUTABLE} -c "import sysconfig; print(sysconfig.get_path('purelib'))" + OUTPUT_VARIABLE PYTHON_PURELIB_PATH + OUTPUT_STRIP_TRAILING_WHITESPACE) +set(testvisitor_env "PYTHONPATH=${PROJECT_BINARY_DIR}/lib:${PYTHON_PURELIB_PATH}:$ENV{PYTHONPATH}") + if(NOT LINK_AGAINST_PYTHON) list(APPEND testvisitor_env "NMODL_PYLIB=$ENV{NMODL_PYLIB}") endif()