1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2025-04-18 16:53:15 +00:00

Improve report of Homebrew / Macports detection

Improve Boost finding if using Macports
Update changelog
Bump Pugixml local version to 1.15 and Protocol Buffers to 29.3
This commit is contained in:
Carles Fernandez 2025-01-22 22:14:33 +01:00
parent b82332cd33
commit 25b1861405
No known key found for this signature in database
GPG Key ID: 4C583C52B0C3877D
4 changed files with 45 additions and 3 deletions
CMakeLists.txt
cmake/Modules
docs
tests/unit-tests/signal-processing-blocks/osnma

@ -360,8 +360,8 @@ set(GNSSSDR_ARMADILLO_LOCAL_VERSION "14.2.x")
set(GNSSSDR_GFLAGS_LOCAL_VERSION "2.2.2")
set(GNSSSDR_GLOG_LOCAL_VERSION "0.7.1")
set(GNSSSDR_MATIO_LOCAL_VERSION "1.5.28")
set(GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION "29.2")
set(GNSSSDR_PUGIXML_LOCAL_VERSION "1.14")
set(GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION "29.3")
set(GNSSSDR_PUGIXML_LOCAL_VERSION "1.15")
set(GNSSSDR_GTEST_LOCAL_VERSION "1.15.2")
set(GNSSSDR_GNSS_SIM_LOCAL_VERSION "origin/master")
set(GNSSSDR_GNSSTK_LOCAL_VERSION "14.3.0")
@ -752,6 +752,18 @@ endif()
if(UNIX AND EXISTS "/usr/lib64")
list(APPEND BOOST_LIBRARYDIR "/usr/lib64") # Fedora 64-bit fix
endif()
if(NOT BOOST_ROOT)
# Workaround for Macports
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin" AND (${DETECT_MACPORTS} EQUAL 0))
if(EXISTS "${MACPORTS_PREFIX}/libexec/boost/1.81")
set(BOOST_ROOT "${MACPORTS_PREFIX}/libexec/boost/1.81")
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()
# Boost_ADDITIONAL_VERSIONS is only used internally by cmake to know the
# formation of newer versions. No need to increase, not used anymore since newer
# Boost provides its own CMake configuration files.
@ -771,7 +783,10 @@ if(CMAKE_VERSION VERSION_LESS 3.30)
find_package(Boost ${GNSSSDR_BOOST_MIN_VERSION} COMPONENTS ${BOOST_COMPONENTS} REQUIRED)
else()
find_package(Boost ${GNSSSDR_BOOST_MIN_VERSION} COMPONENTS ${BOOST_COMPONENTS})
if(NOT Boost_FOUND)
if(Boost_FOUND)
get_filename_component(BOOST_PREFIX ${Boost_INCLUDE_DIRS} DIRECTORY)
message(STATUS "Found Boost v${Boost_VERSION_STRING} at ${BOOST_PREFIX}")
else()
message(STATUS "Trying deprecated FindBoost Module ...")
if(POLICY CMP0167)
cmake_policy(SET CMP0167 OLD)
@ -3696,6 +3711,12 @@ else()
endif()
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
message(STATUS "Building on ${MACOS_DISTRIBUTION}")
if(${DETECT_MACPORTS} EQUAL 0)
message(STATUS "Found Macports v${MACPORTS_VERSION} installed at ${MACPORTS_PREFIX}")
endif()
if(${DETECT_HOMEBREW} EQUAL 0)
message(STATUS "Found Homebrew v${HOMEBREW_VERSION} installed at ${HOMEBREW_PREFIX}")
endif()
endif()
endif()
message(STATUS "CMake version: ${CMAKE_VERSION}")

@ -77,3 +77,21 @@ endif()
if(NOT MACOS_DISTRIBUTION)
set(MACOS_DISTRIBUTION "macOS (Unknown version)")
endif()
# 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}")
endif()
# Detect if Homebrew is installed on this system; if so, return base path and version
execute_process(COMMAND brew --prefix RESULT_VARIABLE DETECT_HOMEBREW OUTPUT_VARIABLE HOMEBREW_PREFIX ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
if(${DETECT_HOMEBREW} EQUAL 0)
execute_process(COMMAND brew --version RESULT_VARIABLE DETECT_HOMEBREW_VERSION OUTPUT_VARIABLE HOMEBREW_VERSION ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" HOMEBREW_VERSION "${HOMEBREW_VERSION}")
endif()

@ -57,6 +57,7 @@ All notable changes to GNSS-SDR will be documented in this file.
[Osmosdr_Signal_Source](https://gnss-sdr.org/docs/sp-blocks/signal-source/#implementation-osmosdr_signal_source)
has gained two new optional configuration parameters: `iq_balance_mode` and
`dc_offset_mode`, both of which are set to Automatic by default.
- Implemented missing GPS almanac decoding.
### Improvements in Maintainability:

@ -21,8 +21,10 @@
#include "osnma_helper.h"
#include "osnma_msg_receiver.h"
#include <gtest/gtest.h>
#include <array>
#include <bitset>
#include <chrono>
#include <cstdint>
#include <fstream>
#include <vector>