设置C++标准版本
set_property(TARGET TestProject PROPERTY CXX_STANDARD 20)
# or
set(CMAKE_CXX_STANDARD 20)
通过fetch_content添加GoogleTest依赖
include(FetchContent)
FetchContent_Declare(googletest
GIT_REPOSITORY https://github.com/google/googletest
GIT_TAG release-1.12.1
)
# For Windows: Prevent overriding the parent project's compiler/linker settings
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(googletest)
# 链接GTest
enable_testing()
add_executable(gtest_sample gtest_sample.cpp)
target_link_libraries(gtest_sample PRIVATE GTest::gtest_main)
include(GoogleTest)
gtest_discover_tests(gtest_sample)