mirror of
https://github.com/zeromq/cppzmq.git
synced 2025-01-08 11:02:23 +01:00
131d2ec487
Building and installing cppzmq brings googletest build artifacts to the installation destination as well. For example someone building cppzmq with: ``` cmake -DCMAKE_INSTALL_PREFIX=mydest . cmake --build --target install ``` gets googletest headers and libraries in `mydest`. Solution: remove googletest from install target
39 lines
1.1 KiB
CMake
39 lines
1.1 KiB
CMake
# the following code to fetch googletest
|
|
# is inspired by and adapted after https://crascit.com/2015/07/25/cmake-gtest/
|
|
# download and unpack googletest at configure time
|
|
|
|
macro(fetch_googletest _download_module_path _download_root)
|
|
set(GOOGLETEST_DOWNLOAD_ROOT ${_download_root})
|
|
configure_file(
|
|
${_download_module_path}/googletest-download.cmake
|
|
${_download_root}/CMakeLists.txt
|
|
@ONLY
|
|
)
|
|
unset(GOOGLETEST_DOWNLOAD_ROOT)
|
|
|
|
execute_process(
|
|
COMMAND
|
|
"${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
|
|
WORKING_DIRECTORY
|
|
${_download_root}
|
|
)
|
|
execute_process(
|
|
COMMAND
|
|
"${CMAKE_COMMAND}" --build .
|
|
WORKING_DIRECTORY
|
|
${_download_root}
|
|
)
|
|
|
|
if (MSVC)
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING")
|
|
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
|
|
endif()
|
|
|
|
# adds the targers: gtest, gtest_main, gmock, gmock_main
|
|
add_subdirectory(
|
|
${_download_root}/googletest-src
|
|
${_download_root}/googletest-build
|
|
EXCLUDE_FROM_ALL
|
|
)
|
|
endmacro()
|