49 lines
1.3 KiB
CMake
49 lines
1.3 KiB
CMake
# Copyright (c) 2023, AgiBot Inc.
|
|
# All rights reserved.
|
|
|
|
include(FetchContent)
|
|
|
|
message(STATUS "Searching for Boost...")
|
|
|
|
set(BOOST_VERSION 1.82.0)
|
|
set(boost_DOWNLOAD_URL
|
|
"https://github.com/boostorg/boost/releases/download/boost-${BOOST_VERSION}/boost-${BOOST_VERSION}.tar.xz"
|
|
CACHE STRING "")
|
|
|
|
find_package(Boost ${BOOST_VERSION} QUIET)
|
|
|
|
if(Boost_FOUND)
|
|
if(Boost_VERSION VERSION_EQUAL ${BOOST_VERSION})
|
|
message(STATUS "Found compatible Boost version ${Boost_VERSION}")
|
|
else()
|
|
message(WARNING "Found newer Boost version ${Boost_VERSION}. Using local version, but this may cause issues.")
|
|
endif()
|
|
else()
|
|
message(STATUS "Boost ${BOOST_VERSION} or greater not found locally. Downloading Boost ${BOOST_VERSION}")
|
|
|
|
if(boost_LOCAL_SOURCE)
|
|
FetchContent_Declare(
|
|
boost
|
|
SOURCE_DIR ${boost_LOCAL_SOURCE}
|
|
OVERRIDE_FIND_PACKAGE)
|
|
message(STATUS "Using local Boost source")
|
|
else()
|
|
FetchContent_Declare(
|
|
boost
|
|
URL ${boost_DOWNLOAD_URL}
|
|
DOWNLOAD_EXTRACT_TIMESTAMP ON
|
|
OVERRIDE_FIND_PACKAGE)
|
|
endif()
|
|
|
|
FetchContent_GetProperties(boost)
|
|
if(NOT boost_POPULATED)
|
|
set(BOOST_INCLUDE_LIBRARIES asio beast)
|
|
|
|
set(Boost_USE_STATIC_LIBS
|
|
ON
|
|
CACHE BOOL "")
|
|
|
|
FetchContent_MakeAvailable(boost)
|
|
endif()
|
|
endif()
|