1
내 프로젝트에서 CTest를 사용하고 있습니다. 테스트를 실행하는 간단한 스크립트를 POST_BUILD
으로 추가했습니다. make
으로 프로젝트를 빌드하면 모든 것이 잘 작동합니다.dpkg-builpackage로 패키지를 빌드 할 때 CTest에 라이브러리 경로를 설정하는 방법은 무엇입니까?
dpkg-buildpackage
으로 패키지를 만들 때 흥미로운 부분이 시작됩니다. CTest는 현재 빌드 된 것을 사용하는 대신 시스템 디렉토리에서 라이브러리를 찾는 것처럼 보입니다. 테스트를 실행하는 동안 CTest
또는 dpkg-buildpackage
에 현재 빌드 된 라이브러리를 사용하도록 지시하는 방법이 있습니까?
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
@Tsyvarev 직접 실행할 때 프로젝트 로컬 라이브러리를 사용합니다. 어쩌면 나는 데비안/규칙에 대한 설정을해야 할 필요가 있지만, 지금은 정확히 내가 필요로하는 것이 아니다. – Yaroslav