diff --git a/CMakeLists.txt b/CMakeLists.txt index c784f3c7c..d90f637ba 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,36 +1,17 @@ -# Note: CMake support is community-based. The maintainers do not use CMake -# internally. - cmake_minimum_required(VERSION 3.16) - project(googletest-distribution) set(GOOGLETEST_VERSION 1.16.0) -if(NOT CYGWIN AND NOT MSYS AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL QNX) - set(CMAKE_CXX_EXTENSIONS OFF) -endif() - -enable_testing() - -include(CMakeDependentOption) -include(GNUInstallDirs) - -# Note that googlemock target already builds googletest. -option(BUILD_GMOCK "Builds the googlemock subproject" ON) -option(INSTALL_GTEST "Enable installation of googletest. (Projects embedding googletest may want to turn this OFF.)" ON) -option(GTEST_HAS_ABSL "Use Abseil and RE2. Requires Abseil and RE2 to be separately added to the build." OFF) - -if(GTEST_HAS_ABSL) - if(NOT TARGET absl::base) - find_package(absl REQUIRED) - endif() - if(NOT TARGET re2::re2) - find_package(re2 REQUIRED) - endif() -endif() - -if(BUILD_GMOCK) - add_subdirectory( googlemock ) -else() - add_subdirectory( googletest ) +if(CONFIG_GTEST) + zephyr_library() + + zephyr_include_directories( + ${CMAKE_CURRENT_SOURCE_DIR}/googletest/include + ${CMAKE_CURRENT_SOURCE_DIR}/googlemock/include + ) + + zephyr_library_sources( + googletest/src/gtest-all.cc + googlemock/src/gmock-all.cc + ) endif() diff --git a/Kconfig b/Kconfig new file mode 100644 index 000000000..a2311cb33 --- /dev/null +++ b/Kconfig @@ -0,0 +1,11 @@ +mainmenu "Googletest" + +menu "Gtest configuration" + + config GTEST + bool "Enable Gtest" + default n + help + Enables installation of googletest. + +endmenu \ No newline at end of file diff --git a/zephyr/module.yml b/zephyr/module.yml new file mode 100644 index 000000000..c1d7eccde --- /dev/null +++ b/zephyr/module.yml @@ -0,0 +1,4 @@ +name: gtest +build: + cmake: . + kconfig: Kconfig