fixes #1688 protect make debug-test from gtest
In simple terms, add_subdirectory() is replaced with ExternalProject_Add(). This change is inspired by https://crascit.com/2015/07/25/cmake-gtest/ with one difference, no download, using the source we already have. Before this change, make debug-test must be preceded by make clean. Otherwise, a subsequent build would be polluted by cmake options made by tests/gtest/. Also removed the changed compiler flags. My test build did not have the affected warnings.
This commit is contained in:
parent
99ee3fd17e
commit
32d7d04858
1 changed files with 22 additions and 16 deletions
|
@ -43,24 +43,30 @@ if (GTest_FOUND)
|
||||||
include_directories(SYSTEM ${GTEST_INCLUDE_DIRS})
|
include_directories(SYSTEM ${GTEST_INCLUDE_DIRS})
|
||||||
else ()
|
else ()
|
||||||
message(STATUS "GTest not found on the system: will use GTest bundled with this source")
|
message(STATUS "GTest not found on the system: will use GTest bundled with this source")
|
||||||
add_subdirectory(gtest)
|
|
||||||
include_directories(SYSTEM "${gtest_SOURCE_DIR}/include" "${gtest_SOURCE_DIR}")
|
include(ExternalProject)
|
||||||
|
ExternalProject_Add(googletest
|
||||||
|
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/gtest
|
||||||
|
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/gtest
|
||||||
|
DOWNLOAD_COMMAND ""
|
||||||
|
UPDATE_COMMAND ""
|
||||||
|
INSTALL_COMMAND ""
|
||||||
|
)
|
||||||
|
add_library(gtest UNKNOWN IMPORTED)
|
||||||
|
add_library(gtest_main UNKNOWN IMPORTED)
|
||||||
|
set_target_properties(gtest PROPERTIES
|
||||||
|
IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/gtest/libgtest.a
|
||||||
|
)
|
||||||
|
set_target_properties(gtest_main PROPERTIES
|
||||||
|
IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/gtest/libgtest_main.a
|
||||||
|
)
|
||||||
|
add_dependencies(gtest googletest)
|
||||||
|
add_dependencies(gtest_main googletest)
|
||||||
|
|
||||||
# Emulate the FindGTest module's variable.
|
# Emulate the FindGTest module's variable.
|
||||||
set(GTEST_LIBRARIES gtest)
|
set(GTEST_LIBRARIES gtest gtest_main)
|
||||||
|
include_directories(SYSTEM "${CMAKE_CURRENT_SOURCE_DIR}/gtest/include")
|
||||||
# Ignore some warnings when building gtest binaries.
|
endif (GTest_FOUND)
|
||||||
if(NOT MSVC)
|
|
||||||
set_property(TARGET gtest
|
|
||||||
APPEND_STRING
|
|
||||||
PROPERTY
|
|
||||||
COMPILE_FLAGS " -Wno-undef -Wno-sign-compare")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set_property(TARGET gtest
|
|
||||||
PROPERTY
|
|
||||||
FOLDER "${folder}")
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
file(COPY
|
file(COPY
|
||||||
data/wallet_9svHk1.keys
|
data/wallet_9svHk1.keys
|
||||||
|
|
Loading…
Reference in a new issue