我使用CMake制作了一个库,然后制作了一个测试exe。构建后,我想自动运行我的测试用例。这是我的 CMakeLists.txt。它使 .exe 正常但不运行它。我正在使用Linux。
cmake_minimum_required (VERSION 2.8.7)
project (tests)
set(LIBRARY_NAME exetests)
set(LIBRARY_SOURCES RunAllTests.cpp Tests.cpp )
set(CMAKE_CXX_FLAGS "-fPIC -Werror -O2 -std=c++0x -g")
add_executable(exetests ${LIBRARY_SOURCES})
target_link_libraries(exetests CppUTest )
target_link_libraries(exetests CppUTestExt )
target_link_libraries(exetests testLibrary )
#THIS IS WRONG. EXE is not Run
add_custom_target( COMMAND ./exetests )
Run Code Online (Sandbox Code Playgroud)
您可以使用CTest测试 CMake 创建的可执行文件。在 CMakeLists.txt 中,使用命令enable_testing和add_test
...
enable_testing()
...
add_executable(exetests ${LIBRARY_SOURCES})
...
add_test(NAME mytest1 COMMAND exetests)
Run Code Online (Sandbox Code Playgroud)
在您的二进制目录中,编译make exetests并运行测试ctest。一些附加信息可以在CMake Wiki上找到。