Я использую CTest в своем проекте. Я добавил простой скрипт для запуска тестов как POST_BUILD
. Все работает отлично, когда я строю проект с make
.Как установить путь библиотеки для CTest при создании пакета с dpkg-builpackage?
Интересная часть начинается, когда я строю пакет с dpkg-buildpackage
. Кажется, что CTest ищет библиотеки в системных каталогах вместо использования встроенного в настоящее время. Есть ли способ сообщить CTest
или dpkg-buildpackage
использовать встроенную библиотеку при выполнении тестов?
CMake макрос я использую:
add_executable(example tests/example.cpp)
target_link_libraries(example my_lib)
enable_testing()
macro(add_unit_test target test)
list(APPEND tests ${test})
add_test(${target} ${test})
endmacro(add_unit_test)
add_unit_test(test_example example)
add_custom_target(all_tests ALL DEPENDS ${tests})
add_custom_command(
TARGET all_tests
COMMENT "Run tests"
POST_BUILD COMMAND ctest ARGS --output-on-failure
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
)
'CTest, кажется, искать библиотеки в системные каталоги, вместо того, чтобы использовать в настоящее время построен one.' - Скорее всего, это просто ** среда ** является сконфигурированные для предпочтения библиотек в системных каталогах поверх локальных проектов. Вы пытались напрямую вызвать исполняемый файл 'example'? Какие библиотеки используются в этом случае? – Tsyvarev
@ Цыварев, когда я выполняю его напрямую, он использует проект-локальные библиотеки. Может быть, мне нужно установить некоторые параметры для debian/rules, но я просто не понимаю, что именно мне нужно – Yaroslav