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私が直接実行すると、プロジェクトローカルライブラリが使用されます。たぶん私はいくつかの設定をdebian/rulesに設定する必要があるかもしれませんが、私はちょうど私が必要とするもの – Yaroslav