xref: /aosp_15_r20/external/googletest/CMakeLists.txt (revision 481dde660366d6f317d242b6974ef1b20adb843c)
1*481dde66SAndroid Build Coastguard Worker# Note: CMake support is community-based. The maintainers do not use CMake
2*481dde66SAndroid Build Coastguard Worker# internally.
3*481dde66SAndroid Build Coastguard Worker
4*481dde66SAndroid Build Coastguard Workercmake_minimum_required(VERSION 3.13)
5*481dde66SAndroid Build Coastguard Worker
6*481dde66SAndroid Build Coastguard Workerproject(googletest-distribution)
7*481dde66SAndroid Build Coastguard Workerset(GOOGLETEST_VERSION 1.15.2)
8*481dde66SAndroid Build Coastguard Worker
9*481dde66SAndroid Build Coastguard Workerif(NOT CYGWIN AND NOT MSYS AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL QNX)
10*481dde66SAndroid Build Coastguard Worker  set(CMAKE_CXX_EXTENSIONS OFF)
11*481dde66SAndroid Build Coastguard Workerendif()
12*481dde66SAndroid Build Coastguard Worker
13*481dde66SAndroid Build Coastguard Workerenable_testing()
14*481dde66SAndroid Build Coastguard Worker
15*481dde66SAndroid Build Coastguard Workerinclude(CMakeDependentOption)
16*481dde66SAndroid Build Coastguard Workerinclude(GNUInstallDirs)
17*481dde66SAndroid Build Coastguard Worker
18*481dde66SAndroid Build Coastguard Worker# Note that googlemock target already builds googletest.
19*481dde66SAndroid Build Coastguard Workeroption(BUILD_GMOCK "Builds the googlemock subproject" ON)
20*481dde66SAndroid Build Coastguard Workeroption(INSTALL_GTEST "Enable installation of googletest. (Projects embedding googletest may want to turn this OFF.)" ON)
21*481dde66SAndroid Build Coastguard Workeroption(GTEST_HAS_ABSL "Use Abseil and RE2. Requires Abseil and RE2 to be separately added to the build." OFF)
22*481dde66SAndroid Build Coastguard Worker
23*481dde66SAndroid Build Coastguard Workerif(GTEST_HAS_ABSL)
24*481dde66SAndroid Build Coastguard Worker  if(NOT TARGET absl::base)
25*481dde66SAndroid Build Coastguard Worker    find_package(absl REQUIRED)
26*481dde66SAndroid Build Coastguard Worker  endif()
27*481dde66SAndroid Build Coastguard Worker  if(NOT TARGET re2::re2)
28*481dde66SAndroid Build Coastguard Worker    find_package(re2 REQUIRED)
29*481dde66SAndroid Build Coastguard Worker  endif()
30*481dde66SAndroid Build Coastguard Workerendif()
31*481dde66SAndroid Build Coastguard Worker
32*481dde66SAndroid Build Coastguard Workerif(BUILD_GMOCK)
33*481dde66SAndroid Build Coastguard Worker  add_subdirectory( googlemock )
34*481dde66SAndroid Build Coastguard Workerelse()
35*481dde66SAndroid Build Coastguard Worker  add_subdirectory( googletest )
36*481dde66SAndroid Build Coastguard Workerendif()
37