blob: 1007254520ec08854d1c396a372b1870016cccb4 [file] [log] [blame]
Dominic Hamon13b8bdc2019-05-01 09:06:12 +01001cmake_minimum_required (VERSION 3.5.1)
Eric Fiseliercb8a0cc2017-05-03 23:43:16 -06002
Arkadiy Shapkin9e37d692016-02-09 01:48:19 +03003foreach(p
Reid Klecknerdc106452018-12-30 09:46:07 -08004 CMP0048 # OK to clear PROJECT_VERSION on project()
Arkadiy Shapkin9e37d692016-02-09 01:48:19 +03005 CMP0054 # CMake 3.1
Steve Downey21495772016-07-06 15:36:56 -04006 CMP0056 # export EXE_LINKER_FLAGS to try_run
Eric7db02be2017-12-13 16:26:47 -07007 CMP0057 # Support no if() IN_LIST operator
Joseph Loser3bc802e2019-04-05 04:43:47 -06008 CMP0063 # Honor visibility properties for all targets
Alex Reinkinge5ea03c2020-01-31 02:16:25 -08009 CMP0077 # Allow option() overrides in importing projects
Arkadiy Shapkin9e37d692016-02-09 01:48:19 +030010 )
11 if(POLICY ${p})
12 cmake_policy(SET ${p} NEW)
13 endif()
14endforeach()
15
MichaƂ Janiszewski12c978c2019-05-10 18:56:08 +020016project (benchmark CXX)
Reid Klecknerdc106452018-12-30 09:46:07 -080017
Eric Fiselier5b41e122015-03-06 12:35:00 -050018option(BENCHMARK_ENABLE_TESTING "Enable testing of the benchmark library." ON)
Ericefd4e992016-12-05 10:24:09 -070019option(BENCHMARK_ENABLE_EXCEPTIONS "Enable the use of exceptions in the benchmark library." ON)
Matt Clarksonbb23a9b2015-04-30 14:10:52 +010020option(BENCHMARK_ENABLE_LTO "Enable link time optimisation of the benchmark library." OFF)
Eric6e259172016-08-29 12:43:30 -060021option(BENCHMARK_USE_LIBCXX "Build and test using libc++ as the standard library." OFF)
Michael "Croydon" Kecka0018c32018-08-29 13:51:20 +020022if(NOT MSVC)
23 option(BENCHMARK_BUILD_32_BITS "Build a 32 bit version of the library." OFF)
24else()
25 set(BENCHMARK_BUILD_32_BITS OFF CACHE BOOL "Build a 32 bit version of the library - unsupported when using MSVC)" FORCE)
26endif()
Yangqing Jia491360b2017-10-20 13:49:37 -070027option(BENCHMARK_ENABLE_INSTALL "Enable installation of benchmark. (Projects embedding benchmark may want to turn this OFF.)" ON)
Eric0dbcdf52017-03-28 01:43:42 -060028
Eric7db02be2017-12-13 16:26:47 -070029# Allow unmet dependencies to be met using CMake's ExternalProject mechanics, which
30# may require downloading the source code.
31option(BENCHMARK_DOWNLOAD_DEPENDENCIES "Allow the downloading and in-tree building of unmet dependencies" OFF)
32
33# This option can be used to disable building and running unit tests which depend on gtest
34# in cases where it is not possible to build or find a valid version of gtest.
35option(BENCHMARK_ENABLE_GTEST_TESTS "Enable building the unit tests which depend on gtest" ON)
36
Kyle Edwardsd16ae642019-10-23 04:13:40 -040037set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
Eric7b03df72018-03-23 16:10:47 -060038set(ENABLE_ASSEMBLY_TESTS_DEFAULT OFF)
39function(should_enable_assembly_tests)
40 if(CMAKE_BUILD_TYPE)
41 string(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_LOWER)
42 if (${CMAKE_BUILD_TYPE_LOWER} MATCHES "coverage")
43 # FIXME: The --coverage flag needs to be removed when building assembly
44 # tests for this to work.
45 return()
46 endif()
47 endif()
48 if (MSVC)
49 return()
50 elseif(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
51 return()
52 elseif(NOT CMAKE_SIZEOF_VOID_P EQUAL 8)
53 # FIXME: Make these work on 32 bit builds
54 return()
55 elseif(BENCHMARK_BUILD_32_BITS)
56 # FIXME: Make these work on 32 bit builds
57 return()
58 endif()
59 find_program(LLVM_FILECHECK_EXE FileCheck)
60 if (LLVM_FILECHECK_EXE)
61 set(LLVM_FILECHECK_EXE "${LLVM_FILECHECK_EXE}" CACHE PATH "llvm filecheck" FORCE)
62 message(STATUS "LLVM FileCheck Found: ${LLVM_FILECHECK_EXE}")
63 else()
64 message(STATUS "Failed to find LLVM FileCheck")
65 return()
66 endif()
67 set(ENABLE_ASSEMBLY_TESTS_DEFAULT ON PARENT_SCOPE)
68endfunction()
69should_enable_assembly_tests()
70
71# This option disables the building and running of the assembly verification tests
72option(BENCHMARK_ENABLE_ASSEMBLY_TESTS "Enable building and running the assembly tests"
73 ${ENABLE_ASSEMBLY_TESTS_DEFAULT})
74
Matt Clarksonc9278452014-08-01 15:00:43 +010075# Make sure we can import out CMake functions
Roman Lebedevc45f0182017-11-29 23:48:43 +030076list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules")
Matt Clarksonc9278452014-08-01 15:00:43 +010077list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
78
Eric7b03df72018-03-23 16:10:47 -060079
Matt Clarksond591edf2014-07-30 20:12:04 +010080# Read the git tags to determine the project version
Matt Clarksonc9278452014-08-01 15:00:43 +010081include(GetGitVersion)
82get_git_version(GIT_VERSION)
Matt Clarksond591edf2014-07-30 20:12:04 +010083
84# Tell the user what versions we are using
Matt Clarksond591edf2014-07-30 20:12:04 +010085string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" VERSION ${GIT_VERSION})
Dominic Hamonbb15a4e2018-11-13 09:56:22 +000086message(STATUS "Version: ${VERSION}")
Matt Clarksond591edf2014-07-30 20:12:04 +010087
Matt Clarkson57fdf382014-07-30 16:59:14 +010088# The version of the libraries
Matt Clarksond591edf2014-07-30 20:12:04 +010089set(GENERIC_LIB_VERSION ${VERSION})
90string(SUBSTRING ${VERSION} 0 1 GENERIC_LIB_SOVERSION)
Matt Clarkson57fdf382014-07-30 16:59:14 +010091
Matt Clarkson3314aa42015-04-30 14:40:37 +010092# Import our CMake modules
Eric Fiselier5b41e122015-03-06 12:35:00 -050093include(CheckCXXCompilerFlag)
94include(AddCXXCompilerFlag)
Matt Clarksonedfa60a2014-07-31 15:20:20 +010095include(CXXFeatureCheck)
Eric Fiselier5b41e122015-03-06 12:35:00 -050096
Eric0dbcdf52017-03-28 01:43:42 -060097if (BENCHMARK_BUILD_32_BITS)
98 add_required_cxx_compiler_flag(-m32)
99endif()
100
Roman Lebedevf274c502018-09-10 23:30:40 +0300101if (MSVC)
Arkadiy Shapkin9e37d692016-02-09 01:48:19 +0300102 # Turn compiler warnings up to 11
Billy Robert O'Neal III60b59212016-04-27 18:44:39 -0700103 string(REGEX REPLACE "[-/]W[1-4]" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
104 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
Arkadiy Shapkin9e37d692016-02-09 01:48:19 +0300105 add_definitions(-D_CRT_SECURE_NO_WARNINGS)
Matt Clarksonbb23a9b2015-04-30 14:10:52 +0100106
Ericefd4e992016-12-05 10:24:09 -0700107 if (NOT BENCHMARK_ENABLE_EXCEPTIONS)
108 add_cxx_compiler_flag(-EHs-)
109 add_cxx_compiler_flag(-EHa-)
Kirill Bobyreva9b31c52018-11-02 19:03:49 +0300110 add_definitions(-D_HAS_EXCEPTIONS=0)
Ericefd4e992016-12-05 10:24:09 -0700111 endif()
Arkadiy Shapkin9e37d692016-02-09 01:48:19 +0300112 # Link time optimisation
113 if (BENCHMARK_ENABLE_LTO)
Billy Robert O'Neal III9bb1ba62016-04-27 18:47:03 -0700114 set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GL")
115 set(CMAKE_STATIC_LINKER_FLAGS_RELEASE "${CMAKE_STATIC_LINKER_FLAGS_RELEASE} /LTCG")
116 set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /LTCG")
117 set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG")
Billy Robert O'Neal IIId89ab072016-04-27 18:48:43 -0700118
119 set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /GL")
120 string(REGEX REPLACE "[-/]INCREMENTAL" "/INCREMENTAL:NO" CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO}")
121 set(CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO} /LTCG")
122 string(REGEX REPLACE "[-/]INCREMENTAL" "/INCREMENTAL:NO" CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO}")
123 set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO} /LTCG")
124 string(REGEX REPLACE "[-/]INCREMENTAL" "/INCREMENTAL:NO" CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO}")
125 set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} /LTCG")
126
127 set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} /GL")
128 set(CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL "${CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL} /LTCG")
129 set(CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL "${CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL} /LTCG")
130 set(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "${CMAKE_EXE_LINKER_FLAGS_MINSIZEREL} /LTCG")
Arkadiy Shapkin9e37d692016-02-09 01:48:19 +0300131 endif()
132else()
133 # Try and enable C++11. Don't use C++14 because it doesn't work in some
134 # configurations.
135 add_cxx_compiler_flag(-std=c++11)
136 if (NOT HAVE_CXX_FLAG_STD_CXX11)
137 add_cxx_compiler_flag(-std=c++0x)
138 endif()
139
140 # Turn compiler warnings up to 11
141 add_cxx_compiler_flag(-Wall)
Arkadiy Shapkin9e37d692016-02-09 01:48:19 +0300142 add_cxx_compiler_flag(-Wextra)
143 add_cxx_compiler_flag(-Wshadow)
144 add_cxx_compiler_flag(-Werror RELEASE)
Billy Robert O'Neal III09edc482016-04-27 18:49:17 -0700145 add_cxx_compiler_flag(-Werror RELWITHDEBINFO)
146 add_cxx_compiler_flag(-Werror MINSIZEREL)
Dominic Hamon5ac80de2020-01-30 13:29:17 +0000147 # Disabled until googletest (gmock) stops emitting variadic macro warnings
148 #add_cxx_compiler_flag(-pedantic)
149 #add_cxx_compiler_flag(-pedantic-errors)
Arkadiy Shapkin9e37d692016-02-09 01:48:19 +0300150 add_cxx_compiler_flag(-Wshorten-64-to-32)
Arkadiy Shapkin9e37d692016-02-09 01:48:19 +0300151 add_cxx_compiler_flag(-fstrict-aliasing)
Eric7b8d0242018-05-29 06:25:32 -0600152 # Disable warnings regarding deprecated parts of the library while building
153 # and testing those parts of the library.
154 add_cxx_compiler_flag(-Wno-deprecated-declarations)
Federico Ficarelli0c21bc32018-07-09 12:45:10 +0200155 if (CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
156 # Intel silently ignores '-Wno-deprecated-declarations',
157 # warning no. 1786 must be explicitly disabled.
158 # See #631 for rationale.
159 add_cxx_compiler_flag(-wd1786)
160 endif()
Dominic Hamon151ead62018-06-07 12:54:14 +0100161 # Disable deprecation warnings for release builds (when -Werror is enabled).
162 add_cxx_compiler_flag(-Wno-deprecated RELEASE)
163 add_cxx_compiler_flag(-Wno-deprecated RELWITHDEBINFO)
164 add_cxx_compiler_flag(-Wno-deprecated MINSIZEREL)
Ericefd4e992016-12-05 10:24:09 -0700165 if (NOT BENCHMARK_ENABLE_EXCEPTIONS)
166 add_cxx_compiler_flag(-fno-exceptions)
167 endif()
Eric7db02be2017-12-13 16:26:47 -0700168
Arkadiy Shapkin9e37d692016-02-09 01:48:19 +0300169 if (HAVE_CXX_FLAG_FSTRICT_ALIASING)
rolandschulz9b92ed72017-03-27 17:30:54 -0700170 if (NOT CMAKE_CXX_COMPILER_ID STREQUAL "Intel") #ICC17u2: Many false positives for Wstrict-aliasing
171 add_cxx_compiler_flag(-Wstrict-aliasing)
172 endif()
Arkadiy Shapkin9e37d692016-02-09 01:48:19 +0300173 endif()
rolandschulz9b92ed72017-03-27 17:30:54 -0700174 # ICC17u2: overloaded virtual function "benchmark::Fixture::SetUp" is only partially overridden
175 # (because of deprecated overload)
Kirill Bobyreva9b31c52018-11-02 19:03:49 +0300176 add_cxx_compiler_flag(-wd654)
Arkadiy Shapkin9e37d692016-02-09 01:48:19 +0300177 add_cxx_compiler_flag(-Wthread-safety)
Ericcba945e2016-09-02 21:34:34 -0600178 if (HAVE_CXX_FLAG_WTHREAD_SAFETY)
Arkadiy Shapkin9e37d692016-02-09 01:48:19 +0300179 cxx_feature_check(THREAD_SAFETY_ATTRIBUTES)
180 endif()
181
Eric Fiselierf67ee4a2016-10-08 01:03:23 -0600182 # On most UNIX like platforms g++ and clang++ define _GNU_SOURCE as a
183 # predefined macro, which turns on all of the wonderful libc extensions.
184 # However g++ doesn't do this in Cygwin so we have to define it ourselfs
185 # since we depend on GNU/POSIX/BSD extensions.
186 if (CYGWIN)
187 add_definitions(-D_GNU_SOURCE=1)
188 endif()
189
Jilin Zhou0ae233a2019-02-19 08:05:55 -0500190 if (QNXNTO)
191 add_definitions(-D_QNX_SOURCE)
192 endif()
193
Arkadiy Shapkin9e37d692016-02-09 01:48:19 +0300194 # Link time optimisation
195 if (BENCHMARK_ENABLE_LTO)
196 add_cxx_compiler_flag(-flto)
Dominic Hamon7fa6f1f2020-11-23 10:02:33 +0000197 add_cxx_compiler_flag(-Wno-lto-type-mismatch)
Roman Lebedev2e7203a2019-05-11 18:56:57 +0300198 if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
Arkadiy Shapkin9e37d692016-02-09 01:48:19 +0300199 find_program(GCC_AR gcc-ar)
200 if (GCC_AR)
201 set(CMAKE_AR ${GCC_AR})
202 endif()
203 find_program(GCC_RANLIB gcc-ranlib)
204 if (GCC_RANLIB)
205 set(CMAKE_RANLIB ${GCC_RANLIB})
206 endif()
Roman Lebedev2e7203a2019-05-11 18:56:57 +0300207 elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
Roman Lebedevc45f0182017-11-29 23:48:43 +0300208 include(llvm-toolchain)
Matt Clarksonbb23a9b2015-04-30 14:10:52 +0100209 endif()
210 endif()
Matt Clarksonbb23a9b2015-04-30 14:10:52 +0100211
Arkadiy Shapkin9e37d692016-02-09 01:48:19 +0300212 # Coverage build type
Roman Lebedev6e066482017-08-29 02:10:19 +0300213 set(BENCHMARK_CXX_FLAGS_COVERAGE "${CMAKE_CXX_FLAGS_DEBUG}"
214 CACHE STRING "Flags used by the C++ compiler during coverage builds."
Arkadiy Shapkin9e37d692016-02-09 01:48:19 +0300215 FORCE)
Roman Lebedev6e066482017-08-29 02:10:19 +0300216 set(BENCHMARK_EXE_LINKER_FLAGS_COVERAGE "${CMAKE_EXE_LINKER_FLAGS_DEBUG}"
217 CACHE STRING "Flags used for linking binaries during coverage builds."
Arkadiy Shapkin9e37d692016-02-09 01:48:19 +0300218 FORCE)
Roman Lebedev6e066482017-08-29 02:10:19 +0300219 set(BENCHMARK_SHARED_LINKER_FLAGS_COVERAGE "${CMAKE_SHARED_LINKER_FLAGS_DEBUG}"
220 CACHE STRING "Flags used by the shared libraries linker during coverage builds."
Arkadiy Shapkin9e37d692016-02-09 01:48:19 +0300221 FORCE)
222 mark_as_advanced(
Roman Lebedev6e066482017-08-29 02:10:19 +0300223 BENCHMARK_CXX_FLAGS_COVERAGE
224 BENCHMARK_EXE_LINKER_FLAGS_COVERAGE
225 BENCHMARK_SHARED_LINKER_FLAGS_COVERAGE)
Arkadiy Shapkin9e37d692016-02-09 01:48:19 +0300226 set(CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING
Roman Lebedev6e066482017-08-29 02:10:19 +0300227 "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel Coverage.")
Arkadiy Shapkin9e37d692016-02-09 01:48:19 +0300228 add_cxx_compiler_flag(--coverage COVERAGE)
229endif()
Matt Clarkson36c1eb62015-04-30 14:28:04 +0100230
Eric6e259172016-08-29 12:43:30 -0600231if (BENCHMARK_USE_LIBCXX)
Gregorio Litenstein9ffb8df2018-10-05 12:44:02 -0300232 if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
Eric6e259172016-08-29 12:43:30 -0600233 add_cxx_compiler_flag(-stdlib=libc++)
234 elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR
235 "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
236 add_cxx_compiler_flag(-nostdinc++)
Dominic Hamonbb15a4e2018-11-13 09:56:22 +0000237 message(WARNING "libc++ header path must be manually specified using CMAKE_CXX_FLAGS")
Eric6e259172016-08-29 12:43:30 -0600238 # Adding -nodefaultlibs directly to CMAKE_<TYPE>_LINKER_FLAGS will break
239 # configuration checks such as 'find_package(Threads)'
240 list(APPEND BENCHMARK_CXX_LINKER_FLAGS -nodefaultlibs)
241 # -lc++ cannot be added directly to CMAKE_<TYPE>_LINKER_FLAGS because
242 # linker flags appear before all linker inputs and -lc++ must appear after.
243 list(APPEND BENCHMARK_CXX_LIBRARIES c++)
244 else()
Roman Lebedeve8ddd902018-05-08 13:33:37 +0300245 message(FATAL_ERROR "-DBENCHMARK_USE_LIBCXX:BOOL=ON is not supported for compiler")
Eric6e259172016-08-29 12:43:30 -0600246 endif()
247endif(BENCHMARK_USE_LIBCXX)
248
Jeremy Ong01c0ab72020-08-27 04:17:19 -0600249set(EXTRA_CXX_FLAGS "")
250if (WIN32 AND "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
251 # Clang on Windows fails to compile the regex feature check under C++11
252 set(EXTRA_CXX_FLAGS "-DCMAKE_CXX_STANDARD=14")
253endif()
254
Eric Fiselier5b41e122015-03-06 12:35:00 -0500255# C++ feature checks
Ericd0384722016-09-05 15:48:40 -0600256# Determine the correct regular expression engine to use
Jeremy Ong01c0ab72020-08-27 04:17:19 -0600257cxx_feature_check(STD_REGEX ${EXTRA_CXX_FLAGS})
258cxx_feature_check(GNU_POSIX_REGEX ${EXTRA_CXX_FLAGS})
259cxx_feature_check(POSIX_REGEX ${EXTRA_CXX_FLAGS})
Ericd0384722016-09-05 15:48:40 -0600260if(NOT HAVE_STD_REGEX AND NOT HAVE_GNU_POSIX_REGEX AND NOT HAVE_POSIX_REGEX)
261 message(FATAL_ERROR "Failed to determine the source files for the regular expression backend")
262endif()
Ericefd4e992016-12-05 10:24:09 -0700263if (NOT BENCHMARK_ENABLE_EXCEPTIONS AND HAVE_STD_REGEX
264 AND NOT HAVE_GNU_POSIX_REGEX AND NOT HAVE_POSIX_REGEX)
265 message(WARNING "Using std::regex with exceptions disabled is not fully supported")
266endif()
Jeremy Ong01c0ab72020-08-27 04:17:19 -0600267
Eric Fiselierd3e06712015-03-26 17:52:28 -0400268cxx_feature_check(STEADY_CLOCK)
Dominic Hamon1e0ed3a2015-04-03 13:33:54 -0700269# Ensure we have pthreads
Wes McKinney7c571332019-02-19 06:32:11 -0600270set(THREADS_PREFER_PTHREAD_FLAG ON)
Dominic Hamon1e0ed3a2015-04-03 13:33:54 -0700271find_package(Threads REQUIRED)
272
Dominic Hamon403f3542013-12-18 16:55:45 -0800273# Set up directories
274include_directories(${PROJECT_SOURCE_DIR}/include)
Dominic Hamon403f3542013-12-18 16:55:45 -0800275
276# Build the targets
Chris Kennellye38fde62014-04-23 00:47:07 -0700277add_subdirectory(src)
Eric Fiselier5b41e122015-03-06 12:35:00 -0500278
279if (BENCHMARK_ENABLE_TESTING)
280 enable_testing()
Shuo Chen7d856b02019-05-01 13:00:10 -0700281 if (BENCHMARK_ENABLE_GTEST_TESTS AND
282 NOT (TARGET gtest AND TARGET gtest_main AND
283 TARGET gmock AND TARGET gmock_main))
Roman Lebedev4b771942019-04-30 13:36:29 +0300284 include(GoogleTest)
Eric7db02be2017-12-13 16:26:47 -0700285 endif()
Eric Fiselier5b41e122015-03-06 12:35:00 -0500286 add_subdirectory(test)
287endif()