mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2026-02-04 03:19:21 +00:00
fix(boost): add compatibility for Boost.Process v1 API in Boost 1.89+
Boost 1.88 replaced Boost.Process with v2, breaking the v1 API. Boost 1.89 restores v1 compatibility via <boost/process/v1.hpp>. - Fail configuration if Boost 1.88 is detected - Define FAIRMQ_BOOST_PROCESS_V1_HEADER for Boost >= 1.89 - Use conditional includes to select v1.hpp or process.hpp - Add namespace aliases (bp, bp_this) for portable API access
This commit is contained in:
committed by
Dennis Klein
parent
25abd605f3
commit
fa64faf3f7
@@ -23,6 +23,18 @@ if(BUILD_FAIRMQ OR BUILD_TIDY_TOOL)
|
||||
find_package2(PUBLIC Boost REQUIRED VERSION 1.66
|
||||
COMPONENTS container program_options filesystem date_time regex
|
||||
)
|
||||
|
||||
# Check Boost.Process compatibility
|
||||
# Boost 1.88 has broken Boost.Process v2 without v1 compatibility headers
|
||||
# Boost 1.89+ provides <boost/process/v1.hpp> for the old API
|
||||
if(Boost_VERSION VERSION_EQUAL "1.88.0")
|
||||
message(FATAL_ERROR "Boost version 1.88 is not supported due to Boost.Process API changes. "
|
||||
"Please use Boost < 1.88 or >= 1.89")
|
||||
endif()
|
||||
|
||||
if(Boost_VERSION VERSION_GREATER_EQUAL "1.89")
|
||||
set(FAIRMQ_BOOST_PROCESS_V1_HEADER ON CACHE INTERNAL "Use boost/process/v1.hpp for Boost >= 1.89")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(BUILD_FAIRMQ)
|
||||
|
||||
Reference in New Issue
Block a user