mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2026-09-21 16:28:45 +00:00
Improve handling of Boost 1.89
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
# SPDX-FileCopyrightText: 2021 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
cmake_minimum_required(VERSION 3.9...3.30)
|
||||
cmake_minimum_required(VERSION 3.9...4.0)
|
||||
project(nav-msg-listener CXX)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
@@ -12,8 +12,45 @@ set(CMAKE_CXX_STANDARD 11)
|
||||
set(NAVLISTENER_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) # allows this to be a sub-project
|
||||
set(NAVLISTENER_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
# Workaround for Macports
|
||||
if(NOT BOOST_ROOT)
|
||||
set(MACOS_PACKAGES_PREFIX "")
|
||||
# Detect if MacPorts is installed on this system; if so, return base path and version
|
||||
execute_process(COMMAND which port RESULT_VARIABLE DETECT_MACPORTS OUTPUT_VARIABLE MACPORTS_PREFIX ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
if(${DETECT_MACPORTS} EQUAL 0)
|
||||
# "/opt/local/bin/port", so we get the parent directory
|
||||
get_filename_component(MACPORTS_PREFIX ${MACPORTS_PREFIX} DIRECTORY)
|
||||
# "/opt/local/bin", so we get the parent directory
|
||||
get_filename_component(MACPORTS_PREFIX ${MACPORTS_PREFIX} DIRECTORY)
|
||||
execute_process(COMMAND port version RESULT_VARIABLE DETECT_MACPORTS_VERSION OUTPUT_VARIABLE MACPORTS_VERSION ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" MACPORTS_VERSION "${MACPORTS_VERSION}")
|
||||
set(MACOS_PACKAGES_PREFIX ${MACPORTS_PREFIX})
|
||||
endif()
|
||||
if(EXISTS "${MACPORTS_PREFIX}/libexec/boost/1.88")
|
||||
set(BOOST_ROOT "${MACPORTS_PREFIX}/libexec/boost/1.88")
|
||||
elseif(EXISTS "${MACPORTS_PREFIX}/libexec/boost/1.87")
|
||||
set(BOOST_ROOT "${MACPORTS_PREFIX}/libexec/boost/1.87")
|
||||
elseif(EXISTS "${MACPORTS_PREFIX}/libexec/boost/1.81")
|
||||
set(BOOST_ROOT "${MACPORTS_PREFIX}/libexec/boost/1.81")
|
||||
elseif(EXISTS "${MACPORTS_PREFIX}/libexec/boost/1.78")
|
||||
set(BOOST_ROOT "${MACPORTS_PREFIX}/libexec/boost/1.78")
|
||||
elseif(EXISTS "${MACPORTS_PREFIX}/libexec/boost/1.76")
|
||||
set(BOOST_ROOT "${MACPORTS_PREFIX}/libexec/boost/1.76")
|
||||
elseif(EXISTS "${MACPORTS_PREFIX}/libexec/boost/1.71")
|
||||
set(BOOST_ROOT "${MACPORTS_PREFIX}/libexec/boost/1.71")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(Boost_USE_STATIC_LIBS OFF)
|
||||
find_package(Boost COMPONENTS system REQUIRED)
|
||||
find_package(Boost COMPONENTS system)
|
||||
|
||||
if(Boost_VERSION_STRING VERSION_GREATER "1.88.99")
|
||||
set(NEED_BOOST_SYSTEM OFF)
|
||||
else()
|
||||
set(NEED_BOOST_SYSTEM ON)
|
||||
endif()
|
||||
|
||||
find_package(Protobuf REQUIRED)
|
||||
if(${Protobuf_VERSION} VERSION_LESS "3.0.0")
|
||||
@@ -26,8 +63,8 @@ add_library(navmsg_lib ${NAVLISTENER_SOURCE_DIR}/nav_msg_udp_listener.cc ${PROTO
|
||||
|
||||
target_link_libraries(navmsg_lib
|
||||
PUBLIC
|
||||
Boost::boost
|
||||
Boost::system
|
||||
Boost::headers
|
||||
$<$<BOOL:${NEED_BOOST_SYSTEM}>:Boost::system>
|
||||
protobuf::libprotobuf
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user