From d8f9038fe339eb0d1cf05564e07ca0a54fa3ad56 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Sun, 24 Aug 2025 13:47:43 +0200 Subject: [PATCH] Fix building of GNSSTk with GCC 15 --- tests/CMakeLists.txt | 12 ++++++++++++ utils/patches/gnsstk_gcc15.patch | 11 +++++++++++ 2 files changed, 23 insertions(+) create mode 100644 utils/patches/gnsstk_gcc15.patch diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index a3ef8b8db..d559e6483 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -368,12 +368,24 @@ if(ENABLE_UNIT_TESTING_EXTRA OR ENABLE_SYSTEM_TESTING_EXTRA OR ENABLE_FPGA) cd ${GNSSSDR_BINARY_DIR}/thirdparty/gnsstk-${GNSSSDR_GNSSTK_LOCAL_VERSION} && ${Patch_EXECUTABLE} ${GNSSSDR_BINARY_DIR}/thirdparty/gnsstk-${GNSSSDR_GNSSTK_LOCAL_VERSION}/CMakeLists.txt < ${GNSSSDR_SOURCE_DIR}/utils/patches/gnsstk_static15.patch ) + if(NOT (${GNSSSDR_GNSSTK_LOCAL_VERSION} VERSION_LESS 14.0)) + set(GNSSTK_PATCH_COMMAND + cd ${GNSSSDR_BINARY_DIR}/thirdparty/gnsstk-${GNSSSDR_GNSSTK_LOCAL_VERSION} && + ${Patch_EXECUTABLE} ${GNSSSDR_BINARY_DIR}/thirdparty/gnsstk-${GNSSSDR_GNSSTK_LOCAL_VERSION}/core/lib/NewNav/GLOCNavHeader.hpp < ${GNSSSDR_SOURCE_DIR}/utils/patches/gnsstk_gcc15.patch + ) + endif() else() set(GNSSTK_PATCH_COMMAND cd ${GNSSSDR_BINARY_DIR}/thirdparty/gnsstk-${GNSSSDR_GNSSTK_LOCAL_VERSION} && ${Patch_EXECUTABLE} ${GNSSSDR_BINARY_DIR}/thirdparty/gnsstk-${GNSSSDR_GNSSTK_LOCAL_VERSION}/CMakeLists.txt < ${GNSSSDR_SOURCE_DIR}/utils/patches/gnsstk_static13.patch && ${Patch_EXECUTABLE} ${GNSSSDR_BINARY_DIR}/thirdparty/gnsstk-${GNSSSDR_GNSSTK_LOCAL_VERSION}/core/lib/GNSSCore/ObsID.hpp < ${GNSSSDR_SOURCE_DIR}/utils/patches/gnsstk_gcc13.patch ) + if(NOT (${GNSSSDR_GNSSTK_LOCAL_VERSION} VERSION_LESS 14.0)) + set(GNSSTK_PATCH_COMMAND + cd ${GNSSSDR_BINARY_DIR}/thirdparty/gnsstk-${GNSSSDR_GNSSTK_LOCAL_VERSION} && + ${Patch_EXECUTABLE} ${GNSSSDR_BINARY_DIR}/thirdparty/gnsstk-${GNSSSDR_GNSSTK_LOCAL_VERSION}/core/lib/NewNav/GLOCNavHeader.hpp < ${GNSSSDR_SOURCE_DIR}/utils/patches/gnsstk_gcc15.patch + ) + endif() endif() # Patch only once if(EXISTS ${GNSSSDR_BINARY_DIR}/thirdparty/gnsstk-${GNSSSDR_GNSSTK_LOCAL_VERSION}/CMakeLists.txt) diff --git a/utils/patches/gnsstk_gcc15.patch b/utils/patches/gnsstk_gcc15.patch new file mode 100644 index 000000000..c64b566c6 --- /dev/null +++ b/utils/patches/gnsstk_gcc15.patch @@ -0,0 +1,11 @@ +SPDX-License-Identifier: GPL-3.0-or-later +SPDX-FileCopyrightText: 2025 Carles Fernandez-Prades +--- GLOCNavHeader.hpp 2025-08-23 16:53:25.000000000 +0100 ++++ GLOCNavHeader.hpp 2025-08-23 16:55:14.000000000 +0100 +@@ -39,5 +39,6 @@ + #ifndef GNSSTK_GLOCNAVHEADER_HPP + #define GNSSTK_GLOCNAVHEADER_HPP + ++#include + #include "CommonTime.hpp" + #include "SVHealth.hpp" \ No newline at end of file