mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-13 08:41:16 +00:00
Set C++17 when building OFI transport
Improve ctest definitions
This commit is contained in:
parent
c8b7059ff7
commit
35dd9578aa
|
@ -6,7 +6,7 @@
|
|||
# copied verbatim in the file "LICENSE" #
|
||||
################################################################################
|
||||
|
||||
cmake_minimum_required(VERSION 3.9.4 FATAL_ERROR)
|
||||
cmake_minimum_required(VERSION 3.10 FATAL_ERROR)
|
||||
|
||||
|
||||
# Project ######################################################################
|
||||
|
@ -19,6 +19,12 @@ get_git_version()
|
|||
project(FairMQ VERSION ${PROJECT_VERSION} LANGUAGES CXX)
|
||||
message(STATUS "${BWhite}${PROJECT_NAME}${CR} ${PROJECT_GIT_VERSION} from ${PROJECT_DATE}")
|
||||
|
||||
if(BUILD_OFI_TRANSPORT)
|
||||
set(PROJECT_MIN_CXX_STANDARD 17)
|
||||
else()
|
||||
set(PROJECT_MIN_CXX_STANDARD 11)
|
||||
endif()
|
||||
|
||||
set_fairmq_defaults()
|
||||
|
||||
include(CTest)
|
||||
|
@ -48,14 +54,6 @@ set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
|
|||
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
if(BUILD_FAIRMQ)
|
||||
find_package2(PUBLIC Boost VERSION 1.64 REQUIRED
|
||||
COMPONENTS container program_options thread system filesystem regex date_time
|
||||
)
|
||||
find_package2(PUBLIC FairLogger VERSION 1.2.0 REQUIRED)
|
||||
find_package2(PRIVATE ZeroMQ VERSION 4.1.5 REQUIRED)
|
||||
endif()
|
||||
|
||||
if(BUILD_NANOMSG_TRANSPORT)
|
||||
find_package2(PRIVATE nanomsg REQUIRED)
|
||||
set(PROJECT_nanomsg_VERSION 1.1.3) # Once upstream releases 1.1.5, we should bump again and use version check
|
||||
|
@ -301,9 +299,9 @@ else()
|
|||
endif()
|
||||
message(STATUS " ${BWhite}nanomsg_transport${CR} ${nn_summary}")
|
||||
if(BUILD_OFI_TRANSPORT)
|
||||
set(ofi_summary "${BGreen}YES${CR} EXPERIMENTAL (disable with ${BMagenta}-DBUILD_OFI_TRANSPORT=OFF${CR})")
|
||||
set(ofi_summary "${BGreen}YES${CR} EXPERIMENTAL (requires C++17) (disable with ${BMagenta}-DBUILD_OFI_TRANSPORT=OFF${CR})")
|
||||
else()
|
||||
set(ofi_summary "${BRed} NO${CR} EXPERIMENTAL (default, enable with ${BMagenta}-DBUILD_OFI_TRANSPORT=ON${CR})")
|
||||
set(ofi_summary "${BRed} NO${CR} EXPERIMENTAL (requires C++17) (default, enable with ${BMagenta}-DBUILD_OFI_TRANSPORT=ON${CR})")
|
||||
endif()
|
||||
message(STATUS " ${BWhite}ofi_transport${CR} ${ofi_summary}")
|
||||
if(BUILD_DDS_PLUGIN)
|
||||
|
|
|
@ -115,11 +115,9 @@ macro(set_fairmq_defaults)
|
|||
# Handle C++ standard level
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
if(NOT CMAKE_CXX_STANDARD)
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
elseif(${CMAKE_CXX_STANDARD} LESS 11)
|
||||
message(FATAL_ERROR "A minimum CMAKE_CXX_STANDARD of 11 is required.")
|
||||
elseif(${CMAKE_CXX_STANDARD} GREATER 11)
|
||||
message(WARNING "A CMAKE_CXX_STANDARD of ${CMAKE_CXX_STANDARD} (greater than 11) is not tested. Use on your own risk.")
|
||||
set(CMAKE_CXX_STANDARD ${PROJECT_MIN_CXX_STANDARD})
|
||||
elseif(${CMAKE_CXX_STANDARD} LESS ${PROJECT_MIN_CXX_STANDARD})
|
||||
message(FATAL_ERROR "A minimum CMAKE_CXX_STANDARD of ${PROJECT_MIN_CXX_STANDARD} is required.")
|
||||
endif()
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
|
|
|
@ -47,6 +47,8 @@
|
|||
#
|
||||
#
|
||||
|
||||
include(GoogleTest)
|
||||
|
||||
function(add_testsuite suitename)
|
||||
cmake_parse_arguments(testsuite
|
||||
""
|
||||
|
@ -73,13 +75,23 @@ function(add_testsuite suitename)
|
|||
target_compile_definitions("${target}" PUBLIC ${testsuite_DEFINITIONS})
|
||||
endif()
|
||||
|
||||
add_test(NAME "${suitename}" WORKING_DIRECTORY ${CMAKE_BINARY_DIR} COMMAND ${target})
|
||||
# add_test(NAME "${suitename}" WORKING_DIRECTORY ${CMAKE_BINARY_DIR} COMMAND ${target})
|
||||
if(testsuite_TIMEOUT)
|
||||
set_tests_properties("${suitename}" PROPERTIES TIMEOUT ${testsuite_TIMEOUT})
|
||||
# set_tests_properties("${suitename}" PROPERTIES TIMEOUT ${testsuite_TIMEOUT})
|
||||
else()
|
||||
set(testsuite_TIMEOUT 10)
|
||||
endif()
|
||||
if(testsuite_RUN_SERIAL)
|
||||
set_tests_properties("${suitename}" PROPERTIES RUN_SERIAL ${testsuite_RUN_SERIAL})
|
||||
# set_tests_properties("${suitename}" PROPERTIES RUN_SERIAL ${testsuite_RUN_SERIAL})
|
||||
else()
|
||||
set(testsuite_RUN_SERIAL OFF)
|
||||
endif()
|
||||
gtest_discover_tests(${target}
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
TEST_PREFIX ${suitename}.
|
||||
PROPERTIES RUN_SERIAL ${testsuite_RUN_SERIAL}
|
||||
TIMEOUT ${testsuite_TIMEOUT}
|
||||
)
|
||||
|
||||
list(APPEND ALL_TEST_TARGETS ${target})
|
||||
set(ALL_TEST_TARGETS ${ALL_TEST_TARGETS} PARENT_SCOPE)
|
||||
|
|
|
@ -65,7 +65,7 @@ add_testsuite(FairMQ.Protocols
|
|||
INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/protocols
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
TIMEOUT 30
|
||||
TIMEOUT 5
|
||||
RUN_SERIAL ON
|
||||
${definitions}
|
||||
)
|
||||
|
@ -111,8 +111,8 @@ add_testsuite(FairMQ.Device
|
|||
INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/device
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
TIMEOUT 15
|
||||
RUN_SERIAL ON
|
||||
TIMEOUT 5
|
||||
# RUN_SERIAL ON
|
||||
)
|
||||
|
||||
set(VERSION_MAJOR 1)
|
||||
|
@ -157,7 +157,7 @@ add_testsuite(FairMQ.Plugins
|
|||
INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
DEPENDS FairMQPlugin_test_dummy FairMQPlugin_test_dummy2
|
||||
TIMEOUT 10
|
||||
TIMEOUT 5
|
||||
)
|
||||
|
||||
add_testsuite(FairMQ.PluginsPrelinked
|
||||
|
@ -168,7 +168,7 @@ add_testsuite(FairMQ.PluginsPrelinked
|
|||
LINKS FairMQ FairMQPlugin_test_dummy FairMQPlugin_test_dummy2
|
||||
INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
TIMEOUT 10
|
||||
TIMEOUT 5
|
||||
)
|
||||
|
||||
add_testsuite(FairMQ.PluginServices
|
||||
|
@ -181,7 +181,7 @@ add_testsuite(FairMQ.PluginServices
|
|||
LINKS FairMQ
|
||||
INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
TIMEOUT 10
|
||||
TIMEOUT 5
|
||||
)
|
||||
|
||||
add_testsuite(FairMQ.EventManager
|
||||
|
@ -192,7 +192,7 @@ add_testsuite(FairMQ.EventManager
|
|||
LINKS FairMQ
|
||||
INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
TIMEOUT 10
|
||||
TIMEOUT 5
|
||||
)
|
||||
|
||||
# add_testsuite(FairMQ.StateMachine
|
||||
|
@ -200,10 +200,10 @@ add_testsuite(FairMQ.EventManager
|
|||
# ${CMAKE_CURRENT_BINARY_DIR}/runner.cxx
|
||||
# state_machine/_state_machine.cxx
|
||||
|
||||
# LINKS FairMQ
|
||||
# INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
# ${CMAKE_CURRENT_BINARY_DIR}
|
||||
# TIMEOUT 10
|
||||
# LINKS FairMQ
|
||||
# INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
# ${CMAKE_CURRENT_BINARY_DIR}
|
||||
# TIMEOUT 5
|
||||
# )
|
||||
|
||||
add_testsuite(FairMQ.Tools
|
||||
|
@ -214,7 +214,7 @@ add_testsuite(FairMQ.Tools
|
|||
LINKS FairMQ
|
||||
INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
TIMEOUT 10
|
||||
TIMEOUT 5
|
||||
)
|
||||
|
||||
add_testsuite(FairMQ.Channel
|
||||
|
@ -225,7 +225,7 @@ add_testsuite(FairMQ.Channel
|
|||
LINKS FairMQ
|
||||
INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
TIMEOUT 10
|
||||
TIMEOUT 5
|
||||
)
|
||||
|
||||
add_testsuite(FairMQ.Transport
|
||||
|
@ -237,7 +237,7 @@ add_testsuite(FairMQ.Transport
|
|||
LINKS FairMQ
|
||||
INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
TIMEOUT 10
|
||||
TIMEOUT 5
|
||||
${definitions}
|
||||
)
|
||||
|
||||
|
@ -249,17 +249,20 @@ add_testsuite(FairMQ.Poller
|
|||
LINKS FairMQ
|
||||
INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
TIMEOUT 10
|
||||
TIMEOUT 5
|
||||
RUN_SERIAL ON
|
||||
${definitions}
|
||||
)
|
||||
|
||||
add_testsuite(FairMQ.MemoryResources
|
||||
SOURCES
|
||||
memory_resources/runner.cxx
|
||||
${CMAKE_CURRENT_BINARY_DIR}/runner.cxx
|
||||
memory_resources/_memory_resources.cxx
|
||||
|
||||
LINKS FairMQ
|
||||
INCLUDES ${CMAKE_CURRENT_BINARY_DIR}
|
||||
TIMEOUT 10
|
||||
INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
TIMEOUT 5
|
||||
${definitions}
|
||||
)
|
||||
|
||||
|
|
|
@ -87,7 +87,7 @@ TEST(MemoryResources, allocator_test)
|
|||
v.emplace_back(1);
|
||||
v.emplace_back(2);
|
||||
v.emplace_back(3);
|
||||
EXPECT_TRUE((byte*)&(*v.end()) - (byte*)&(*v.begin()) == 3 * sizeof(testData));
|
||||
EXPECT_TRUE((fair::mq::byte*)&(*v.end()) - (fair::mq::byte*)&(*v.begin()) == 3 * sizeof(testData));
|
||||
EXPECT_TRUE(testData::nallocated == 3);
|
||||
}
|
||||
EXPECT_TRUE(testData::nallocated == 0);
|
||||
|
|
Loading…
Reference in New Issue
Block a user