CMakeLists.txt 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. set(MODULE_NAME "test_spbase")
  2. set(MODULE_PREFIX "TEST_SPBASE")
  3. include_directories(..)
  4. file(GLOB ${MODULE_PREFIX}_TESTS "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp")
  5. #Google Test
  6. include_directories(${GTEST_ROOT})
  7. include_directories(${GMOCK_ROOT})
  8. list(APPEND comm_test_libraries spbase_a)
  9. if(NOT MSVC)
  10. set(TEST_AREA "${TESTING_OUTPUT_DIRECTORY}/${MODULE_NAME}_area")
  11. else()
  12. set(TEST_AREA "${TESTING_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}/${MODULE_NAME}_area")
  13. endif()
  14. set(TEST_VERSION "1.2.3.4")
  15. set(TEST_BIN_AREA "${TEST_VERSION}/bin")
  16. set(TEST_CFG_AREA "${TEST_VERSION}/cfg")
  17. # file(MAKE_DIRECTORY "${TEST_AREA}")
  18. # file(MAKE_DIRECTORY "${TEST_AREA}/${TEST_VERSION}")
  19. # file(MAKE_DIRECTORY "${TEST_BIN_AREA}")
  20. # file(MAKE_DIRECTORY "${TEST_CFG_AREA}")
  21. foreach(test ${${MODULE_PREFIX}_TESTS})
  22. get_filename_component(test_name ${test} NAME_WE)
  23. add_executable(${test_name} ${test})
  24. target_link_libraries(${test_name} ${comm_test_libraries} CONAN_PKG::gtest)
  25. if (BUILD_SHARED_LIBS)
  26. set_target_properties(${test_name} PROPERTIES COMPILE_DEFINITIONS
  27. #"GTEST_LINKED_AS_SHARED_LIBRARY=1;SPABASE_LINKED_AS_STATIC_LIBRARY=1")
  28. "SPABASE_LINKED_AS_STATIC_LIBRARY=1")
  29. else()
  30. set_target_properties(${test_name} PROPERTIES COMPILE_DEFINITIONS "SPABASE_LINKED_AS_STATIC_LIBRARY=1")
  31. endif()
  32. set_property(TARGET ${test_name} PROPERTY FOLDER "test/spbase")
  33. set_target_properties(${test_name} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${TESTING_OUTPUT_DIRECTORY}")
  34. message(STATUS "add test case: ${test_name}...")
  35. add_test(NAME ${test_name} COMMAND ${TESTING_OUTPUT_DIRECTORY}/${test_name})
  36. set_tests_properties(${teset_name} PROPERTIES FAIL_REGULAR_EXPRESSION "FAILED;ERROR;Failed;error")
  37. endforeach()