From 03e6cea58633621bfd742faddddd5b0bae7f8f0d Mon Sep 17 00:00:00 2001 From: Dennis Klein Date: Wed, 7 Aug 2019 17:18:21 +0200 Subject: [PATCH] Tools: Fix regression bug to support Boost < 1.66 --- CMakeLists.txt | 4 ++++ fairmq/CMakeLists.txt | 3 +++ fairmq/tools/Network.h | 4 ++++ 3 files changed, 11 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5eb82ae0..509ff00e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -51,6 +51,10 @@ if(BUILD_FAIRMQ) find_package2(PUBLIC Boost VERSION 1.64 REQUIRED COMPONENTS container program_options thread system filesystem regex date_time signals ) + # Normalize Boost version + if(CMAKE_VERSION VERSION_LESS 3.15) + set(Boost_VERSION "${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}") + endif() find_package2(PUBLIC FairLogger VERSION 1.2.0 REQUIRED) find_package2(PRIVATE ZeroMQ VERSION 4.1.5 REQUIRED) endif() diff --git a/fairmq/CMakeLists.txt b/fairmq/CMakeLists.txt index 7728f8fe..a17284bb 100644 --- a/fairmq/CMakeLists.txt +++ b/fairmq/CMakeLists.txt @@ -206,6 +206,9 @@ set_target_properties(${_target} PROPERTIES LABELS coverage) if(FAST_BUILD) set_target_properties(${_target} PROPERTIES OUTPUT_NAME FairMQ) endif() +if(Boost_VERSION VERSION_LESS 1.66) + target_compile_definitions(${_target} PUBLIC FAIR_MQ_HAS_NO_ASIO_IO_CONTEXT) +endif() ####################### # include directories # diff --git a/fairmq/tools/Network.h b/fairmq/tools/Network.h index a00c410e..bf2332fd 100644 --- a/fairmq/tools/Network.h +++ b/fairmq/tools/Network.h @@ -18,8 +18,12 @@ namespace boost namespace asio { +#ifdef FAIR_MQ_HAS_NO_ASIO_IO_CONTEXT +class io_service; +#else class io_context; typedef class io_context io_service; +#endif } // namespace asio } // namespace boost