cmake: add boost library path when running python based unittest

The boost library path was already added when running unittests
(UHD_ADD_TEST) but not when running python based unittests
(UHD_ADD_PYTEST). The boost library path is required when compiling
against custom boost version (tested with boost 1.89.0), because
some boost libraries have implicit dependencies on other boost
libraries which are not found otherwise.
This commit is contained in:
Jörg Hofrichter 2025-10-06 16:07:51 +02:00
parent 7fd5ce4537
commit c6f793cc22

View File

@ -132,18 +132,18 @@ function(UHD_ADD_PYTEST test_name)
if(APPLE)
set_tests_properties(${test_name} PROPERTIES
ENVIRONMENT
"DYLD_LIBRARY_PATH=${UHD_BINARY_DIR}/lib/;PYTHONPATH=${UHD_BINARY_DIR}/python:${UHD_SOURCE_DIR}/tests/common:${UHD_BINARY_DIR}/utils/")
"DYLD_LIBRARY_PATH=${UHD_BINARY_DIR}/lib/:${Boost_LIBRARY_DIRS};PYTHONPATH=${UHD_BINARY_DIR}/python:${UHD_SOURCE_DIR}/tests/common:${UHD_BINARY_DIR}/utils/")
elseif(MSVC)
string(REPLACE ";" "\\;" WIN_PATH "$ENV{PATH}")
# MSVC is a multi-config generator in CMake, so we must specify the config value
set_tests_properties(${test_name} PROPERTIES
ENVIRONMENT
"PATH=${WIN_PATH}\\;${UHD_BINARY_DIR}\\lib\\$<CONFIG>;PYTHONPATH=${UHD_BINARY_DIR}\\python\\$<CONFIG>\\;${UHD_SOURCE_DIR}\\tests\\common\\;${UHD_BINARY_DIR}\\utils"
"PATH=${WIN_PATH}\\;${UHD_BINARY_DIR}\\lib\\$<CONFIG>\\;${Boost_LIBRARY_DIRS};PYTHONPATH=${UHD_BINARY_DIR}\\python\\$<CONFIG>\\;${UHD_SOURCE_DIR}\\tests\\common\\;${UHD_BINARY_DIR}\\utils"
)
else()
set_tests_properties(${test_name} PROPERTIES
ENVIRONMENT
"LD_LIBRARY_PATH=${UHD_BINARY_DIR}/lib/;PYTHONPATH=${UHD_BINARY_DIR}/python:${UHD_SOURCE_DIR}/tests/common:${UHD_BINARY_DIR}/utils/"
"LD_LIBRARY_PATH=${UHD_BINARY_DIR}/lib/:${Boost_LIBRARY_DIRS};PYTHONPATH=${UHD_BINARY_DIR}/python:${UHD_SOURCE_DIR}/tests/common:${UHD_BINARY_DIR}/utils/"
)
endif()
endfunction(UHD_ADD_PYTEST)