From a679f8aca78a6b460f24f8835c33be91a31b243f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20L=C3=BCke?= Date: Mon, 23 Dec 2024 12:58:48 +0100 Subject: [PATCH] cmake: add googletest via FetchContent --- CMakeLists.txt | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0a1a55e..3fc2a6a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,6 +17,23 @@ set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "ON") set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) +option(MNODE_BUILD_TESTS "Build mnode test binaries" ${MESYTEC_MNODE_MAIN_PROJECT}) + +if (MNODE_BUILD_TESTS) + find_package(GTest CONFIG) + if (NOT GTest_FOUND) + include(FetchContent) + FetchContent_Declare(googletest URL https://github.com/google/googletest/archive/refs/tags/v1.15.2.zip) + # For Windows: Prevent overriding the parent project's compiler/linker settings + set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) + FetchContent_MakeAvailable(googletest) + endif() + + message("-- mnode: Building tests") + include(CTest) + enable_testing() +endif() + include(CMakeRC) cmrc_add_resource_library(mnode-resources ALIAS mnode::resources NAMESPACE mnode::resources