mirror of
https://github.com/google/googletest.git
synced 2025-12-08 01:36:50 +08:00
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>
37 lines
990 B
CMake
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()
|