我想将ctest集成到c ++ / c项目中。我用谷歌测试写单元测试。
我的CMakeLists.txt的相关部分如下所示:
...
####### CREATING EXE #######
add_executable(test_exe main.cpp test.cpp)
target_link_libraries(test_exe GTest::GTest GTest::Main)
set_target_properties (test_exe PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${UNIT_TEST_BIN_OUTPUT_DIR})
add_test(test_exe test_exe)
如您所见,我指定了可执行文件的输出目录(UNIT_TEST_BIN_OUTPUT_DIR)。
当我使用终端时,可执行文件可以正常工作:
cd
./test_exe
我想使用ctest执行测试。因此,我转到了cmake生成的“ ctest文件夹”。在这里,我想使用ctest执行cmake中“ add_test”添加的所有测试。
user@user:~/
Test project /
Start 1: test_exe
Could not find executable test_exe
Looked in the following places:
test_exe
test_exe
Release/test_exe
Release/test_exe
Debug/test_exe
Debug/test_exe
MinSizeRel/test_exe
MinSizeRel/test_exe
RelWithDebInfo/test_exe
RelWithDebInfo/test_exe
Deployment/test_exe
Deployment/test_exe
Development/test_exe
Development/test_exe
Unable to find executable: test_exe
1/1 Test #1: test_exe ......***Not Run 0.00 sec
0% tests passed, 1 tests failed out of 1
Total Test time (real) = 0.00 sec
The following tests FAILED:
1 - test_exe (Not Run)
Errors while running CTest
如果我将“ test_exe”放在显示的路径之一中,则可以正常工作。但是我不希望他们在那里。
我的问题:
有没有办法告诉ctest UNIT_TEST_BIN_OUTPUT_DIR为了找到可执行文件而应该寻找它?