# Download and unpack googletest at configure time

# TODO: Not put them in the root!

if (NOT EXISTS "${CMAKE_BINARY_DIR}/googletest-src" )
    message(WARNING "Downloading GoogleTest")
    configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
    execute_process(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
        WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/googletest-download" )
    execute_process(COMMAND "${CMAKE_COMMAND}" --build .
        WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/googletest-download" )
else()
    message(STATUS "Already downloaded GoogleTest")
endif()

# Prevent GoogleTest from overriding our compiler/linker options when building with Visual Studio
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
# Add googletest directly to our build. This adds the targets: gtest, gtest_main, gmock and gmock_main
add_subdirectory("${CMAKE_BINARY_DIR}/googletest-src" "${CMAKE_BINARY_DIR}/googletest-build")
include_directories("${gtest_SOURCE_DIR}/include" "${gmock_SOURCE_DIR}/include")
set(GTEST_BOTH_LIBRARIES gtest gtest_main)
enable_testing()
