CMakeLists.txt 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. set(MODULE_NAME "test_libtoolkit")
  2. set(MODULE_PREFIX "TEST_LIBTOOLKIT")
  3. include_directories(..)
  4. set(${MODULE_PREFIX}_DRIVER ${MODULE_NAME}.cpp)
  5. set(${MODULE_PREFIX}_TEST_DEFINITIONS "")
  6. set(${MODULE_PREFIX}_TESTS
  7. test_base64.cpp
  8. test_iobuffer.cpp
  9. )
  10. # CTest
  11. #list(APPEND ${MODULE_PREFIX}_TEST_DEFINITIONS "-DTEST_WITH_CTEST")
  12. # Create a test driver and source list for building test programs.
  13. #create_test_sourcelist(${MODULE_PREFIX}_SRCS #source list name
  14. # ${${MODULE_PREFIX}_DRIVER} # driver name
  15. # ${${MODULE_PREFIX}_TESTS} # test list
  16. # )# EXTRA_INCLUDE include.h FUNCTION function.
  17. # add_definitions(${${MODULE_PREFIX}_TEST_DEFINITIONS})
  18. # add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
  19. # set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} toolkit_a)
  20. # target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
  21. # set_target_properties(${MODULE_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${TESTING_OUTPUT_DIRECTORY}")
  22. # foreach(test ${${MODULE_PREFIX}_TESTS})
  23. # get_filename_component(test_name ${test} NAME_WE)
  24. # add_test(NAME ${test_name} COMMAND ${TESTING_OUTPUT_DIRECTORY}/${MODULE_NAME} ${test_name})
  25. # endforeach()
  26. # set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "test/libtookit")
  27. #Google Test
  28. include_directories(${GTEST_ROOT})
  29. list(APPEND comm_test_libraries gtest)
  30. list(APPEND comm_test_libraries gtest_main)
  31. list(APPEND comm_test_libraries libtoolkit_a)
  32. foreach(test ${${MODULE_PREFIX}_TESTS})
  33. get_filename_component(test_name ${test} NAME_WE)
  34. add_executable(${test_name} ${test})
  35. target_link_libraries(${test_name} ${comm_test_libraries})
  36. set_property(TARGET ${test_name} PROPERTY FOLDER "test/libtoolkit")
  37. # 会将 测试的执行程序生成在指定的文件夹,并且带上编译的配置条件比如 Debug
  38. set_target_properties(${test_name} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${TESTING_OUTPUT_DIRECTORY}")
  39. add_test(NAME ${test_name} COMMAND ${TESTING_OUTPUT_DIRECTORY}/${test_name})
  40. set_tests_properties(${teset_name} PROPERTIES FAIL_REGULAR_EXPRESSION "FAILED;ERROR;Failed;error")
  41. endforeach()