leetcode/cmake/tests.cmake
2023-05-18 19:37:28 +08:00

45 lines
1.3 KiB
CMake

set(APP_TEST_NAME leetcode_test)
message(STATUS "=========== start testing APP_TEST_NAME: ${APP_TEST_NAME} ==========")
set(TEST_SOURCES)
string(REGEX REPLACE ";" "\t\n" TMEP_SOURCES "${SOURCES}")
file(GLOB_RECURSE TEST_SOURCES "tests/*.cpp")
message(STATUS "=========== test_file =========== \n${TMEP_SOURCES}")
message(STATUS "=========== test_file =========== \n")
include(GoogleTest)
enable_testing()
add_executable(
${APP_TEST_NAME}
tests/test_main.cpp
${TEST_SOURCES}
)
target_link_libraries(
${APP_TEST_NAME} PRIVATE
GTest::gtest_main
${APP_LIB_NAME}
)
if(${WITH_PROFILE})
message(STATUS "==== WITH_PROFILE: ON")
message(STATUS "==== gperftools_SOURCE_DIR: ${gperftools_SOURCE_DIR}/src")
# 设置gperftools的头文件路径
# target_include_directories(
# ${APP_TEST_NAME} PRIVATE
# ${gperftools_SOURCE_DIR}/src
# )
include_directories(${gperftools_BINARY_DIR}/include)
file(GLOB GPERFTOOLS_LIBRARIES "${gperftools_BINARY_DIR}/lib/*.a")
message("Found libraries:")
foreach(LIBRARY ${GPERFTOOLS_LIBRARIES})
message(" ${LIBRARY}")
endforeach()
target_link_libraries(${APP_LIB_NAME} ${GPERFTOOLS_LIBRARIES})
endif()
gtest_discover_tests(${APP_TEST_NAME})
message(STATUS "========= end testing ========")