mirror of
https://github.com/ceph/ceph
synced 2025-01-09 20:52:09 +00:00
Merge pull request #26301 from tchaikov/wip-cxx17-aggre-init
changes to address FTBFS on fc30 Reviewed-by: Brad Hubbard <bhubbard@redhat.com> Reviewed-by: Kaleb S. KEITHLEY <kkeithle@redhat.com> Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
This commit is contained in:
commit
8b144a1a5f
@ -58,7 +58,7 @@ endif(WITH_CCACHE)
|
||||
option(WITH_MANPAGE "Build man pages." ON)
|
||||
if(WITH_MANPAGE)
|
||||
find_program(SPHINX_BUILD
|
||||
sphinx-build)
|
||||
NAMES sphinx-build sphinx-build-3)
|
||||
if(NOT SPHINX_BUILD)
|
||||
message(FATAL_ERROR "Can't find sphinx-build.")
|
||||
endif(NOT SPHINX_BUILD)
|
||||
|
@ -147,6 +147,9 @@
|
||||
# used if multiple compatible suffixes should
|
||||
# be tested for, in decreasing order of
|
||||
# preference.
|
||||
# Boost_ARCHITECTURE - Set to the architecture-specific library suffix
|
||||
# (e.g. "-x64"). Default is auto-computed for the
|
||||
# C++ compiler in use.
|
||||
# Boost_THREADAPI - Suffix for "thread" component library name,
|
||||
# such as "pthread" or "win32". Names with
|
||||
# and without this suffix will both be tried.
|
||||
@ -406,15 +409,18 @@ endmacro()
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#
|
||||
# Runs compiler with "-dumpversion" and parses major/minor
|
||||
# version with a regex.
|
||||
#
|
||||
function(_Boost_COMPILER_DUMPVERSION _OUTPUT_VERSION)
|
||||
string(REGEX REPLACE "([0-9]+)\\.([0-9]+)(\\.[0-9]+)?" "\\1\\2"
|
||||
_boost_COMPILER_VERSION ${CMAKE_CXX_COMPILER_VERSION})
|
||||
# Convert CMAKE_CXX_COMPILER_VERSION to boost compiler suffix version.
|
||||
function(_Boost_COMPILER_DUMPVERSION _OUTPUT_VERSION _OUTPUT_VERSION_MAJOR _OUTPUT_VERSION_MINOR)
|
||||
string(REGEX REPLACE "([0-9]+)\\.([0-9]+)(\\.[0-9]+)?" "\\1"
|
||||
_boost_COMPILER_VERSION_MAJOR "${CMAKE_CXX_COMPILER_VERSION}")
|
||||
string(REGEX REPLACE "([0-9]+)\\.([0-9]+)(\\.[0-9]+)?" "\\2"
|
||||
_boost_COMPILER_VERSION_MINOR "${CMAKE_CXX_COMPILER_VERSION}")
|
||||
|
||||
set(_boost_COMPILER_VERSION "${_boost_COMPILER_VERSION_MAJOR}${_boost_COMPILER_VERSION_MINOR}")
|
||||
|
||||
set(${_OUTPUT_VERSION} ${_boost_COMPILER_VERSION} PARENT_SCOPE)
|
||||
set(${_OUTPUT_VERSION_MAJOR} ${_boost_COMPILER_VERSION_MAJOR} PARENT_SCOPE)
|
||||
set(${_OUTPUT_VERSION_MINOR} ${_boost_COMPILER_VERSION_MINOR} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
#
|
||||
@ -479,25 +485,35 @@ function(_Boost_GUESS_COMPILER_PREFIX _ret)
|
||||
if(${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION} VERSION_LESS 1.34)
|
||||
set(_boost_COMPILER "-mgw") # no GCC version encoding prior to 1.34
|
||||
else()
|
||||
_Boost_COMPILER_DUMPVERSION(_boost_COMPILER_VERSION)
|
||||
_Boost_COMPILER_DUMPVERSION(_boost_COMPILER_VERSION _boost_COMPILER_VERSION_MAJOR _boost_COMPILER_VERSION_MINOR)
|
||||
set(_boost_COMPILER "-mgw${_boost_COMPILER_VERSION}")
|
||||
endif()
|
||||
elseif (UNIX)
|
||||
if (CMAKE_COMPILER_IS_GNUCXX)
|
||||
_Boost_COMPILER_DUMPVERSION(_boost_COMPILER_VERSION _boost_COMPILER_VERSION_MAJOR _boost_COMPILER_VERSION_MINOR)
|
||||
if(NOT Boost_VERSION VERSION_LESS 106900)
|
||||
# From GCC 5 and clang 4, versioning changes and minor becomes patch.
|
||||
# For those compilers, patch is exclude from compiler tag in Boost 1.69+ library naming.
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND _boost_COMPILER_VERSION_MAJOR VERSION_GREATER 4)
|
||||
set(_boost_COMPILER_VERSION "${_boost_COMPILER_VERSION_MAJOR}")
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND _boost_COMPILER_VERSION_MAJOR VERSION_GREATER 3)
|
||||
set(_boost_COMPILER_VERSION "${_boost_COMPILER_VERSION_MAJOR}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
if(${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION} VERSION_LESS 1.34)
|
||||
set(_boost_COMPILER "-gcc") # no GCC version encoding prior to 1.34
|
||||
else()
|
||||
_Boost_COMPILER_DUMPVERSION(_boost_COMPILER_VERSION)
|
||||
# Determine which version of GCC we have.
|
||||
if(APPLE)
|
||||
if(Boost_MINOR_VERSION)
|
||||
if(${Boost_MINOR_VERSION} GREATER 35)
|
||||
# In Boost 1.36.0 and newer, the mangled compiler name used
|
||||
# on Mac OS X/Darwin is "xgcc".
|
||||
# on macOS/Darwin is "xgcc".
|
||||
set(_boost_COMPILER "-xgcc${_boost_COMPILER_VERSION}")
|
||||
else()
|
||||
# In Boost <= 1.35.0, there is no mangled compiler name for
|
||||
# the Mac OS X/Darwin version of GCC.
|
||||
# the macOS/Darwin version of GCC.
|
||||
set(_boost_COMPILER "")
|
||||
endif()
|
||||
else()
|
||||
@ -509,7 +525,10 @@ function(_Boost_GUESS_COMPILER_PREFIX _ret)
|
||||
set(_boost_COMPILER "-gcc${_boost_COMPILER_VERSION}")
|
||||
endif()
|
||||
endif()
|
||||
endif ()
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||
# TODO: Find out any Boost version constraints vs clang support.
|
||||
set(_boost_COMPILER "-clang${_boost_COMPILER_VERSION}")
|
||||
endif()
|
||||
else()
|
||||
# TODO at least Boost_DEBUG here?
|
||||
set(_boost_COMPILER "")
|
||||
@ -573,7 +592,7 @@ function(_Boost_COMPONENT_DEPENDENCIES component _ret)
|
||||
endif()
|
||||
|
||||
set(_Boost_IMPORTED_TARGETS TRUE)
|
||||
if(Boost_VERSION VERSION_LESS 103300)
|
||||
if(Boost_VERSION AND Boost_VERSION VERSION_LESS 103300)
|
||||
message(WARNING "Imported targets and dependency information not available for Boost version ${Boost_VERSION} (all versions older than 1.33)")
|
||||
set(_Boost_IMPORTED_TARGETS FALSE)
|
||||
elseif(NOT Boost_VERSION VERSION_LESS 103300 AND Boost_VERSION VERSION_LESS 103500)
|
||||
@ -823,27 +842,41 @@ function(_Boost_COMPONENT_DEPENDENCIES component _ret)
|
||||
set(_Boost_TIMER_DEPENDENCIES chrono system)
|
||||
set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
|
||||
set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
|
||||
elseif(NOT Boost_VERSION VERSION_LESS 106800 AND Boost_VERSION VERSION_LESS 106900)
|
||||
set(_Boost_CHRONO_DEPENDENCIES system)
|
||||
set(_Boost_CONTEXT_DEPENDENCIES thread chrono system date_time)
|
||||
set(_Boost_CONTRACT_DEPENDENCIES thread chrono system date_time)
|
||||
set(_Boost_COROUTINE_DEPENDENCIES context system)
|
||||
set(_Boost_FIBER_DEPENDENCIES context thread chrono system date_time)
|
||||
set(_Boost_FILESYSTEM_DEPENDENCIES system)
|
||||
set(_Boost_IOSTREAMS_DEPENDENCIES regex)
|
||||
set(_Boost_LOG_DEPENDENCIES date_time log_setup system filesystem thread regex chrono atomic)
|
||||
set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l atomic)
|
||||
set(_Boost_MPI_DEPENDENCIES serialization)
|
||||
set(_Boost_MPI_PYTHON_DEPENDENCIES python${component_python_version} mpi serialization)
|
||||
set(_Boost_NUMPY_DEPENDENCIES python${component_python_version})
|
||||
set(_Boost_RANDOM_DEPENDENCIES system)
|
||||
set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
|
||||
set(_Boost_TIMER_DEPENDENCIES chrono system)
|
||||
set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
|
||||
set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
|
||||
else()
|
||||
if(NOT Boost_VERSION VERSION_LESS 106800)
|
||||
set(_Boost_CHRONO_DEPENDENCIES system)
|
||||
set(_Boost_CONTEXT_DEPENDENCIES thread chrono system date_time)
|
||||
set(_Boost_CONTRACT_DEPENDENCIES thread chrono system date_time)
|
||||
set(_Boost_COROUTINE_DEPENDENCIES context system)
|
||||
set(_Boost_FIBER_DEPENDENCIES context thread chrono system date_time)
|
||||
set(_Boost_FILESYSTEM_DEPENDENCIES system)
|
||||
if(NOT Boost_VERSION VERSION_LESS 106900)
|
||||
set(_Boost_CONTRACT_DEPENDENCIES thread chrono date_time)
|
||||
set(_Boost_COROUTINE_DEPENDENCIES context)
|
||||
set(_Boost_FIBER_DEPENDENCIES context)
|
||||
set(_Boost_IOSTREAMS_DEPENDENCIES regex)
|
||||
set(_Boost_LOG_DEPENDENCIES date_time log_setup system filesystem thread regex chrono atomic)
|
||||
set(_Boost_LOG_DEPENDENCIES date_time log_setup filesystem thread regex chrono atomic)
|
||||
set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l atomic)
|
||||
set(_Boost_MPI_DEPENDENCIES serialization)
|
||||
set(_Boost_MPI_PYTHON_DEPENDENCIES python${component_python_version} mpi serialization)
|
||||
set(_Boost_NUMPY_DEPENDENCIES python${component_python_version})
|
||||
set(_Boost_RANDOM_DEPENDENCIES system)
|
||||
set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
|
||||
set(_Boost_THREAD_DEPENDENCIES chrono date_time atomic)
|
||||
set(_Boost_TIMER_DEPENDENCIES chrono system)
|
||||
set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
|
||||
set(_Boost_WAVE_DEPENDENCIES filesystem serialization thread chrono date_time atomic)
|
||||
set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
|
||||
endif()
|
||||
if(NOT Boost_VERSION VERSION_LESS 106900)
|
||||
if(NOT Boost_VERSION VERSION_LESS 107000)
|
||||
message(WARNING "New Boost version may have incorrect or missing dependencies and imported targets")
|
||||
endif()
|
||||
endif()
|
||||
@ -881,7 +914,11 @@ function(_Boost_COMPONENT_HEADERS component _hdrs)
|
||||
set(_Boost_CHRONO_HEADERS "boost/chrono.hpp")
|
||||
set(_Boost_CONTAINER_HEADERS "boost/container/container_fwd.hpp")
|
||||
set(_Boost_CONTRACT_HEADERS "boost/contract.hpp")
|
||||
set(_Boost_CONTEXT_HEADERS "boost/context/detail/fcontext.hpp")
|
||||
if(Boost_VERSION VERSION_LESS 106100)
|
||||
set(_Boost_CONTEXT_HEADERS "boost/context/all.hpp")
|
||||
else()
|
||||
set(_Boost_CONTEXT_HEADERS "boost/context/detail/fcontext.hpp")
|
||||
endif()
|
||||
set(_Boost_COROUTINE_HEADERS "boost/coroutine/all.hpp")
|
||||
set(_Boost_DATE_TIME_HEADERS "boost/date_time/date.hpp")
|
||||
set(_Boost_EXCEPTION_HEADERS "boost/exception/exception.hpp")
|
||||
@ -910,6 +947,12 @@ function(_Boost_COMPONENT_HEADERS component _hdrs)
|
||||
set(_Boost_REGEX_HEADERS "boost/regex.hpp")
|
||||
set(_Boost_SERIALIZATION_HEADERS "boost/serialization/serialization.hpp")
|
||||
set(_Boost_SIGNALS_HEADERS "boost/signals.hpp")
|
||||
set(_Boost_STACKTRACE_ADDR2LINE_HEADERS "boost/stacktrace.hpp")
|
||||
set(_Boost_STACKTRACE_BACKTRACE_HEADERS "boost/stacktrace.hpp")
|
||||
set(_Boost_STACKTRACE_BASIC_HEADERS "boost/stacktrace.hpp")
|
||||
set(_Boost_STACKTRACE_NOOP_HEADERS "boost/stacktrace.hpp")
|
||||
set(_Boost_STACKTRACE_WINDBG_CACHED_HEADERS "boost/stacktrace.hpp")
|
||||
set(_Boost_STACKTRACE_WINDBG_HEADERS "boost/stacktrace.hpp")
|
||||
set(_Boost_SYSTEM_HEADERS "boost/system/config.hpp")
|
||||
set(_Boost_TEST_EXEC_MONITOR_HEADERS "boost/test/test_exec_monitor.hpp")
|
||||
set(_Boost_THREAD_HEADERS "boost/thread.hpp")
|
||||
@ -1029,22 +1072,6 @@ function(_Boost_UPDATE_WINDOWS_LIBRARY_SEARCH_DIRS_WITH_PREBUILT_PATHS component
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(_Boost_consider_adding_pthreads _outvar)
|
||||
# On Unix platforms (excluding cygwin) add pthreads to Boost_LIBRARIES
|
||||
# if the user is searching for the boost-thread component.
|
||||
if(UNIX AND NOT CYGWIN)
|
||||
list(FIND Boost_FIND_COMPONENTS thread _using_boost_thread)
|
||||
if(_using_boost_thread GREATER -1)
|
||||
find_library(BOOST_THREAD_LIBRARY NAMES pthread
|
||||
DOC "The threading library used by boost-thread"
|
||||
)
|
||||
if(BOOST_THREAD_LIBRARY)
|
||||
set(${_outvar} ${ARGN} ${BOOST_THREAD_LIBRARY} PARENT_SCOPE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
#
|
||||
# End functions/macros
|
||||
#
|
||||
@ -1097,6 +1124,7 @@ else()
|
||||
# _Boost_COMPONENT_HEADERS. See the instructions at the top of
|
||||
# _Boost_COMPONENT_DEPENDENCIES.
|
||||
set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS}
|
||||
"1.69.0" "1.69"
|
||||
"1.68.0" "1.68" "1.67.0" "1.67" "1.66.0" "1.66" "1.65.1" "1.65.0" "1.65"
|
||||
"1.64.0" "1.64" "1.63.0" "1.63" "1.62.0" "1.62" "1.61.0" "1.61" "1.60.0" "1.60"
|
||||
"1.59.0" "1.59" "1.58.0" "1.58" "1.57.0" "1.57" "1.56.0" "1.56" "1.55.0" "1.55"
|
||||
@ -1490,27 +1518,35 @@ endif()
|
||||
# -x86 Architecture and address model tag
|
||||
# First character is the architecture, then word-size, either 32 or 64
|
||||
# Only used in 'versioned' layout, added in Boost 1.66.0
|
||||
set(_boost_ARCHITECTURE_TAG "")
|
||||
# {CMAKE_CXX_COMPILER_ARCHITECTURE_ID} is not currently set for all compilers
|
||||
if(NOT "x${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}" STREQUAL "x" AND NOT Boost_VERSION VERSION_LESS 106600)
|
||||
string(APPEND _boost_ARCHITECTURE_TAG "-")
|
||||
# This needs to be kept in-sync with the section of CMakePlatformId.h.in
|
||||
# inside 'defined(_WIN32) && defined(_MSC_VER)'
|
||||
if(${CMAKE_CXX_COMPILER_ARCHITECTURE_ID} STREQUAL "IA64")
|
||||
string(APPEND _boost_ARCHITECTURE_TAG "i")
|
||||
elseif(${CMAKE_CXX_COMPILER_ARCHITECTURE_ID} STREQUAL "X86"
|
||||
OR ${CMAKE_CXX_COMPILER_ARCHITECTURE_ID} STREQUAL "x64")
|
||||
string(APPEND _boost_ARCHITECTURE_TAG "x")
|
||||
elseif(${CMAKE_CXX_COMPILER_ARCHITECTURE_ID} MATCHES "^ARM")
|
||||
string(APPEND _boost_ARCHITECTURE_TAG "a")
|
||||
elseif(${CMAKE_CXX_COMPILER_ARCHITECTURE_ID} STREQUAL "MIPS")
|
||||
string(APPEND _boost_ARCHITECTURE_TAG "m")
|
||||
if(DEFINED Boost_ARCHITECTURE)
|
||||
set(_boost_ARCHITECTURE_TAG "${Boost_ARCHITECTURE}")
|
||||
if(Boost_DEBUG)
|
||||
message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
|
||||
"using user-specified Boost_ARCHITECTURE = ${_boost_ARCHITECTURE_TAG}")
|
||||
endif()
|
||||
else()
|
||||
set(_boost_ARCHITECTURE_TAG "")
|
||||
# {CMAKE_CXX_COMPILER_ARCHITECTURE_ID} is not currently set for all compilers
|
||||
if(NOT "x${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}" STREQUAL "x" AND NOT Boost_VERSION VERSION_LESS 106600)
|
||||
string(APPEND _boost_ARCHITECTURE_TAG "-")
|
||||
# This needs to be kept in-sync with the section of CMakePlatformId.h.in
|
||||
# inside 'defined(_WIN32) && defined(_MSC_VER)'
|
||||
if(CMAKE_CXX_COMPILER_ARCHITECTURE_ID STREQUAL "IA64")
|
||||
string(APPEND _boost_ARCHITECTURE_TAG "i")
|
||||
elseif(CMAKE_CXX_COMPILER_ARCHITECTURE_ID STREQUAL "X86"
|
||||
OR CMAKE_CXX_COMPILER_ARCHITECTURE_ID STREQUAL "x64")
|
||||
string(APPEND _boost_ARCHITECTURE_TAG "x")
|
||||
elseif(CMAKE_CXX_COMPILER_ARCHITECTURE_ID MATCHES "^ARM")
|
||||
string(APPEND _boost_ARCHITECTURE_TAG "a")
|
||||
elseif(CMAKE_CXX_COMPILER_ARCHITECTURE_ID STREQUAL "MIPS")
|
||||
string(APPEND _boost_ARCHITECTURE_TAG "m")
|
||||
endif()
|
||||
|
||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
string(APPEND _boost_ARCHITECTURE_TAG "64")
|
||||
else()
|
||||
string(APPEND _boost_ARCHITECTURE_TAG "32")
|
||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
string(APPEND _boost_ARCHITECTURE_TAG "64")
|
||||
else()
|
||||
string(APPEND _boost_ARCHITECTURE_TAG "32")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@ -1752,6 +1788,7 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS})
|
||||
list(APPEND _boost_RELEASE_NAMES
|
||||
${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${component}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}${_boost_ARCHITECTURE_TAG}-${Boost_LIB_VERSION}
|
||||
${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${component}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}
|
||||
${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${component}${_boost_MULTITHREADED}
|
||||
${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${component} )
|
||||
if(_boost_STATIC_RUNTIME_WORKAROUND)
|
||||
set(_boost_RELEASE_STATIC_ABI_TAG "-s${_boost_RELEASE_ABI_TAG}")
|
||||
@ -2053,11 +2090,11 @@ if(Boost_FOUND)
|
||||
message (STATUS " ${COMPONENT}")
|
||||
endif()
|
||||
list(APPEND Boost_LIBRARIES ${Boost_${UPPERCOMPONENT}_LIBRARY})
|
||||
if(COMPONENT STREQUAL "thread")
|
||||
list(APPEND Boost_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# Add pthread library on UNIX if thread component was found
|
||||
_Boost_consider_adding_pthreads(Boost_LIBRARIES ${Boost_LIBRARIES})
|
||||
else()
|
||||
if(Boost_FIND_REQUIRED)
|
||||
message(SEND_ERROR "Unable to find the requested Boost libraries.\n${Boost_ERROR_REASON}")
|
||||
|
@ -1341,6 +1341,8 @@ namespace {
|
||||
template<typename Size>
|
||||
struct get_size_visitor : public boost::static_visitor<Size>
|
||||
{
|
||||
get_size_visitor() {}
|
||||
|
||||
template<typename T>
|
||||
Size operator()(const T&) const {
|
||||
return -1;
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 5c82208802340fe240032f16604b0f9961247849
|
||||
Subproject commit dd48b2110091e9db2d53a7c8e06d906abb907dbd
|
Loading…
Reference in New Issue
Block a user