option(YAML_BUILD_SHARED_LIBS "Build yaml-cpp shared library" ${BUILD_SHARED_LIBS})
option(YAML_CPP_INSTALL "Enable generation of yaml-cpp install targets" ${YAML_CPP_MAIN_PROJECT})
option(YAML_CPP_FORMAT_SOURCE "Format source" ON)
+option(YAML_USE_SYSTEM_GTEST "Use system googletest if found" OFF)
cmake_dependent_option(YAML_CPP_BUILD_TESTS
"Enable yaml-cpp tests" OFF
"BUILD_TESTING;YAML_CPP_MAIN_PROJECT" OFF)
set(BUILD_MOCK ON CACHE BOOL "" FORCE)
set(CMAKE_POLICY_DEFAULT_CMP0048 NEW)
-add_subdirectory(
- "${CMAKE_CURRENT_SOURCE_DIR}/gtest-1.11.0"
- "${CMAKE_CURRENT_BINARY_DIR}/prefix")
-
-include_directories(SYSTEM "${CMAKE_CURRENT_SOURCE_DIR}/gtest-1.11.0/googletest/include")
+if(YAML_USE_SYSTEM_GTEST)
+ find_package(GTest)
+ if (NOT GTEST_FOUND)
+ message(FATAL_ERROR "system googletest was requested but not found")
+ endif()
+else()
+ add_subdirectory(
+ "${CMAKE_CURRENT_SOURCE_DIR}/gtest-1.11.0"
+ "${CMAKE_CURRENT_BINARY_DIR}/prefix")
+ include_directories(SYSTEM "${CMAKE_CURRENT_SOURCE_DIR}/gtest-1.11.0/googletest/include")
+endif()
set(test-new-api-pattern "new-api/*.cpp")
set(test-source-pattern "*.cpp" "integration/*.cpp" "node/*.cpp")
PRIVATE
Threads::Threads
yaml-cpp
+ gtest
gmock)
set_property(TARGET yaml-cpp-tests PROPERTY CXX_STANDARD_REQUIRED ON)