我已经使用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 )

最佳答案

您可以使用CTest测试CMake创建的可执行文件。在您的CMakeLists.txt中,使用命令enable_testingadd_test

...
enable_testing()
...
add_executable(exetests ${LIBRARY_SOURCES})
...
add_test(NAME mytest1 COMMAND exetests)

在您的二进制目录中,编译make exetests并通过ctest运行测试。可以在CMake Wiki上找到一些其他信息。

10-07 13:35