set(MODULE_NAME "test_rvccomm") set(MODULE_PREFIX "TEST_RVCCOMM") include_directories(..) set(${MODULE_PREFIX}_DRIVER ${MODULE_NAME}.cpp) set(${MODULE_PREFIX}_TEST_DEFINITIONS "") set(${MODULE_PREFIX}_TESTS ClientCommTest.cpp ) #Google Test include_directories(${GTEST_ROOT}) include_directories(${GMOCK_ROOT}) list(APPEND comm_test_libraries gtest) list(APPEND comm_test_libraries gtest_main) list(APPEND comm_test_libraries RVCComm) list(APPEND addin_libs gmock) list(APPEND addin_libs gmock_main) foreach(test ${${MODULE_PREFIX}_TESTS}) get_filename_component(test_name ${test} NAME_WE) add_executable(${test_name} ${test}) target_link_libraries(${test_name} ${comm_test_libraries} ${addin_libs}) set_property(TARGET ${test_name} PROPERTY FOLDER "test/rvccomm") # 会将 测试的执行程序生成在指定的文件夹,并且带上编译的配置条件比如 Debug set_target_properties(${test_name} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${TESTING_OUTPUT_DIRECTORY}") add_test(NAME ${test_name} COMMAND ${TESTING_OUTPUT_DIRECTORY}/${test_name}) set_tests_properties(${teset_name} PROPERTIES FAIL_REGULAR_EXPRESSION "FAILED;ERROR;Failed;error") endforeach()