mirror of
https://github.com/OpenVPN/openvpn3.git
synced 2024-09-20 20:13:05 +02:00
d56e049ea4
This allows the dependencies to be used by multiple parts of the project, e.g. non public unit tests, ovpncli etc. Building ovpncli demostrates this
36 lines
1.2 KiB
CMake
36 lines
1.2 KiB
CMake
|
|
# Google Test Unit testing
|
|
# Download and unpack googletest at configure time
|
|
|
|
# Ensure that this only downloaded and added once
|
|
#include_guard(GLOBAL)
|
|
# Unfortunately include_guard requires cmake >= 3.10
|
|
include(mypragmaonce)
|
|
|
|
my_pragma_once()
|
|
|
|
|
|
configure_file(${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt.in googletest-download/CMakeLists.txt)
|
|
execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
|
|
RESULT_VARIABLE result
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download )
|
|
if(result)
|
|
message(FATAL_ERROR "CMake step for googletest failed: ${result}")
|
|
endif()
|
|
execute_process(COMMAND ${CMAKE_COMMAND} --build .
|
|
RESULT_VARIABLE result
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download )
|
|
if(result)
|
|
message(FATAL_ERROR "Build step for googletest failed: ${result}")
|
|
endif()
|
|
|
|
# Prevent overriding the parent project's compiler/linker
|
|
# settings on Windows
|
|
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
|
|
|
|
# Add googletest directly to our build. This defines
|
|
# the gtest and gtest_main targets.
|
|
add_subdirectory(${CMAKE_CURRENT_BINARY_DIR}/googletest-src
|
|
${CMAKE_CURRENT_BINARY_DIR}/googletest-build
|
|
EXCLUDE_FROM_ALL)
|