Merge pull request #1009

640a934 tests: cmake: fix building with system gtest (redfish)
4a9e949 tests: cmake: use a list for enabled tests (redfish)
dbd9a26 cmake: tests: gtest target is not always defined #983 (redfish)
This commit is contained in:
Riccardo Spagni 2016-09-01 11:25:37 +02:00
commit e389a9cd8f
No known key found for this signature in database
GPG key ID: 55432DF31CCD4FCD
6 changed files with 30 additions and 16 deletions

View file

@ -79,7 +79,6 @@ Packaging for your favorite distribution would be a welcome contribution!
* pkg-config
* libunbound `>=1.4.16` (note: Unbound is not a dependency, libunbound is)
* libevent `>=2.0`
* libgtest `>=1.5`
* Boost `>=1.58`
* BerkeleyDB `>=4.8` (note: on Ubuntu this means installing libdb-dev and libdb++-dev)
* libunwind (optional, for stack trace on exception)
@ -87,6 +86,7 @@ Packaging for your favorite distribution would be a welcome contribution!
* ldns `>=1.6.17` (optional, for statically-linked binaries)
* expat `>=1.1` (optional, for statically-linked binaries)
* bison or yacc (optional, for statically-linked binaries)
* GTest `>=1.5` (optional, for running test suite) (NOTE: `libgtest-dev` package in Ubuntu ships without binaries and requires a manual build; `gtest` on Arch includes binaries)
* Doxygen (optional, for generating documentation)
* graphviz (optional, for generating documentation)

View file

@ -28,6 +28,9 @@
#
# Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers
# The docs say this only affects grouping in IDEs
set(folder "tests")
if (WIN32 AND STATIC)
add_definitions(-DSTATICLIB)
# miniupnp changed their static define
@ -39,19 +42,24 @@ find_package(GTest)
if (GTest_FOUND)
include_directories(SYSTEM ${GTEST_INCLUDE_DIRS})
else ()
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}")
# Emulate the FindGTest module's variable.
set(GTEST_MAIN_LIBRARIES gtest_main)
set(GTEST_LIBRARIES gtest)
# Ignore some warnings when building gtest binaries.
if(NOT MSVC)
set_property(TARGET gtest gtest_main
set_property(TARGET gtest
APPEND_STRING
PROPERTY
COMPILE_FLAGS " -Wno-undef -Wno-sign-compare")
endif()
set_property(TARGET gtest
PROPERTY
FOLDER "${folder}")
endif ()
if (NOT DEFINED ENV{TRAVIS})
@ -84,17 +92,23 @@ target_link_libraries(hash-target-tests
cryptonote_core)
set_property(TARGET hash-target-tests
PROPERTY
FOLDER "tests")
FOLDER "${folder}")
add_test(
NAME hash-target
COMMAND hash-target-tests)
# Skip the core_tests if we are running in Travis-CI because they will take too long
if (DEFINED ENV{TRAVIS})
add_custom_target(tests DEPENDS difficulty hash performance_tests core_proxy unit_tests)
else ()
add_custom_target(tests DEPENDS coretests difficulty hash performance_tests core_proxy unit_tests)
endif ()
set(enabled_tests
difficulty
hash
performance_tests
core_proxy
unit_tests)
set_property(TARGET gtest gtest_main hash-target-tests tests PROPERTY FOLDER "tests")
# Skip the core_tests in Travis-CI because they will take too long
if (NOT DEFINED ENV{TRAVIS})
list(APPEND enabled_tests coretests)
endif()
add_custom_target(tests DEPENDS enabled_tests)
set_property(TARGET tests PROPERTY FOLDER "${folder}")

View file

@ -42,7 +42,7 @@ target_link_libraries(transfers
crypto
common
epee
${GTEST_MAIN_LIBRARIES}
${GTEST_LIBRARIES}
${Boost_LIBRARIES})
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_transfers")

View file

@ -40,7 +40,7 @@ add_executable(libwallet_api_tests
target_link_libraries(libwallet_api_tests
LINK_PRIVATE
wallet
${GTEST_MAIN_LIBRARIES}
${GTEST_LIBRARIES}
${EXTRA_LIBRARIES})
set_property(TARGET libwallet_api_tests

View file

@ -40,7 +40,7 @@ target_link_libraries(net_load_tests_clt
otshell_utils
p2p
cryptonote_core
${GTEST_MAIN_LIBRARIES}
${GTEST_LIBRARIES}
${Boost_CHRONO_LIBRARY}
${Boost_DATE_TIME_LIBRARY}
${Boost_FILESYSTEM_LIBRARY}
@ -62,7 +62,7 @@ target_link_libraries(net_load_tests_srv
otshell_utils
p2p
cryptonote_core
${GTEST_MAIN_LIBRARIES}
${GTEST_LIBRARIES}
${Boost_CHRONO_LIBRARY}
${Boost_DATE_TIME_LIBRARY}
${Boost_FILESYSTEM_LIBRARY}

View file

@ -69,7 +69,7 @@ target_link_libraries(unit_tests
rpc
wallet
p2p
${GTEST_MAIN_LIBRARIES}
${GTEST_LIBRARIES}
${Boost_CHRONO_LIBRARY}
${Boost_REGEX_LIBRARY}
${Boost_SYSTEM_LIBRARY}