googletest/CMakeLists.txt
Damien L-G 3d638c14a5 CMake: Do not enable the C language (unnecessary)
The project() command in the top-level CMakeLists.txt was not specifying
languages which default to enabling C and CXX.
The googlemock and googletest project() commands were explicitly enabing
both the C and CXX languages in their respective subdirectories,
although all their source file are correctly identified as CXX and the C
language is effectively never used.

Enabling the C language forces CXX-only projects downstream that embed
this repo (via FetchContent or add subdirectory) to detect a C compiler
at configuration-time.

This PR proposes to properly only enable the CXX language.

Signed-off-by: Damien L-G <dalg24@gmail.com>
2025-10-24 08:09:41 -04:00

37 lines
990 B
CMake

# Note: CMake support is community-based. The maintainers do not use CMake
# internally.
cmake_minimum_required(VERSION 3.16)
project(googletest-distribution CXX)
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 )
endif()