From 13ef99ec574e99b959438066354ec402bbd19aaa Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Thu, 7 Aug 2025 12:39:42 +0200 Subject: [PATCH 1/3] Bump local version of GNSSTk to v15.0.0 Silence warnings related to gnsstk --- CMakeLists.txt | 2 +- tests/CMakeLists.txt | 7 ++----- ...nsstk_static14.patch => gnsstk_static15.patch} | 9 +++++++++ utils/rinex-tools/CMakeLists.txt | 15 ++------------- utils/rinex2assist/CMakeLists.txt | 15 ++------------- utils/rinex2assist/main.cc | 6 ++++-- 6 files changed, 20 insertions(+), 34 deletions(-) rename tests/data/{gnsstk_static14.patch => gnsstk_static15.patch} (80%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 635decd1a..f1b8f5b48 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -363,7 +363,7 @@ set(GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION "31.1") set(GNSSSDR_PUGIXML_LOCAL_VERSION "1.15") set(GNSSSDR_GTEST_LOCAL_VERSION "1.17.0") set(GNSSSDR_GNSS_SIM_LOCAL_VERSION "origin/master") -set(GNSSSDR_GNSSTK_LOCAL_VERSION "14.3.0") +set(GNSSSDR_GNSSTK_LOCAL_VERSION "15.0.0") set(GNSSSDR_BENCHMARK_LOCAL_VERSION "1.9.4") set(GNSSSDR_MATHJAX_EXTERNAL_VERSION "2.7.7") set(GNSSSDR_ABSL_LOCAL_VERSION "origin/master") # live at head (see https://abseil.io/about/releases) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 4d93fcf01..de089d9dd 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -366,8 +366,7 @@ if(ENABLE_UNIT_TESTING_EXTRA OR ENABLE_SYSTEM_TESTING_EXTRA OR ENABLE_FPGA) if(CMAKE_VERSION VERSION_GREATER 3.17.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}/CMakeLists.txt < ${GNSSSDR_SOURCE_DIR}/tests/data/gnsstk_static14.patch && - ${Patch_EXECUTABLE} ${GNSSSDR_BINARY_DIR}/thirdparty/gnsstk-${GNSSSDR_GNSSTK_LOCAL_VERSION}/core/lib/GNSSCore/ObsID.hpp < ${GNSSSDR_SOURCE_DIR}/tests/data/gnsstk_gcc13.patch + ${Patch_EXECUTABLE} ${GNSSSDR_BINARY_DIR}/thirdparty/gnsstk-${GNSSSDR_GNSSTK_LOCAL_VERSION}/CMakeLists.txt < ${GNSSSDR_SOURCE_DIR}/tests/data/gnsstk_static15.patch ) else() set(GNSSTK_PATCH_COMMAND @@ -407,9 +406,7 @@ if(ENABLE_UNIT_TESTING_EXTRA OR ENABLE_SYSTEM_TESTING_EXTRA OR ENABLE_FPGA) set(GNSSTK_PARALLEL_BUILD "-j${NUMBER_OF_PROCESSORS}") endif() endif() - if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - set(GNSSTK_FLAGS "-DCMAKE_CXX_FLAGS:STRING=-w") # Fix for clang in aarch64 - endif() + set(GNSSTK_FLAGS "-DCMAKE_CXX_FLAGS:STRING=-w") if(CMAKE_VERSION VERSION_GREATER 3.17.0) set(GNSSTK_CXX_STANDARD 17) if((${CMAKE_SYSTEM_NAME} MATCHES "Darwin") AND ("${DARWIN_VERSION}" VERSION_GREATER_EQUAL "14")) diff --git a/tests/data/gnsstk_static14.patch b/tests/data/gnsstk_static15.patch similarity index 80% rename from tests/data/gnsstk_static14.patch rename to tests/data/gnsstk_static15.patch index bc83c97cb..1f61a5335 100644 --- a/tests/data/gnsstk_static14.patch +++ b/tests/data/gnsstk_static15.patch @@ -2,6 +2,15 @@ SPDX-License-Identifier: GPL-3.0-or-later SPDX-FileCopyrightText: 2022 Carles Fernandez-Prades --- CMakeLists.txt 2022-12-19 11:40:38.000000000 +0100 +++ CMakeLists.txt 2022-12-19 11:56:49.000000000 +0100 +@@ -6,7 +6,7 @@ + # Is dependend on by $GNSSTK/build.sh + #============================================================ + +-cmake_minimum_required( VERSION 3.7.2 ) ++cmake_minimum_required( VERSION 3.7.2...3.10 ) + + project( GNSSTK ) + set( GNSSTK_VERSION_MAJOR "15" ) @@ -21,6 +21,16 @@ # This sets up variables contining GNU standard installation locations. diff --git a/utils/rinex-tools/CMakeLists.txt b/utils/rinex-tools/CMakeLists.txt index 84d361d40..e6fbc5816 100644 --- a/utils/rinex-tools/CMakeLists.txt +++ b/utils/rinex-tools/CMakeLists.txt @@ -37,19 +37,8 @@ if("${ARMADILLO_VERSION_STRING}" VERSION_GREATER "9.800" OR (NOT ARMADILLO_FOUND if(GNSSTK_VERSION AND "${GNSSTK_VERSION}" VERSION_LESS 3.0.1) set_property(TARGET obsdiff PROPERTY CXX_STANDARD 14) # Required by GPSTk v3.0.0 endif() - # Do not show warnings raised by GPSTk v3.0.0 - if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - target_compile_options(obsdiff - PRIVATE - -Wno-deprecated -Wno-unused-parameter -Wno-sign-compare -Wno-reorder -Wno-deprecated-copy -Wno-extra -Wno-unused-but-set-variable -Wno-unknown-pragmas - ) - endif() - if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - target_compile_options(obsdiff - PRIVATE - -Wno-deprecated -Wno-unused-parameter -Wno-sign-compare -Wno-reorder - ) - endif() + # Do not show warnings raised by GPSTk / GNSSTk + target_compile_options(obsdiff PRIVATE -w) if(NOT ARMADILLO_FOUND OR ENABLE_OWN_ARMADILLO) add_dependencies(obsdiff armadillo-${armadillo_RELEASE}) diff --git a/utils/rinex2assist/CMakeLists.txt b/utils/rinex2assist/CMakeLists.txt index f4cabcd3d..03f2c151a 100644 --- a/utils/rinex2assist/CMakeLists.txt +++ b/utils/rinex2assist/CMakeLists.txt @@ -73,19 +73,8 @@ if(TARGET Boost::iostreams AND TARGET Boost::serialization) set_property(TARGET rinex2assist PROPERTY CXX_STANDARD 14) # Required by GPSTk v3.0.0 endif() - # Do not show warnings raised by GPSTk v3.0.0 - if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - target_compile_options(rinex2assist - PRIVATE - -Wno-deprecated -Wno-unused-parameter -Wno-sign-compare -Wno-type-limits -Wno-unused-but-set-variable -Wno-deprecated-copy -Wno-extra - ) - endif() - if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - target_compile_options(rinex2assist - PRIVATE - -Wno-deprecated -Wno-unused-parameter -Wno-sign-compare -Wno-switch -Wno-inconsistent-missing-override - ) - endif() + # Do not show warnings raised by GPSTk / GNSSTk + target_compile_options(rinex2assist PRIVATE -w) target_link_libraries(rinex2assist PRIVATE diff --git a/utils/rinex2assist/main.cc b/utils/rinex2assist/main.cc index 7ae45a286..cce755f9f 100644 --- a/utils/rinex2assist/main.cc +++ b/utils/rinex2assist/main.cc @@ -31,12 +31,14 @@ #include #include #if GNSSTK_USES_GPSTK_NAMESPACE +#include #include #include #include #include namespace gnsstk = gpstk; #else +#include #include #include #include @@ -206,7 +208,7 @@ int main(int argc, char** argv) gps_utc_model.tot = hdr.mapTimeCorr["GPUT"].refSOW; gps_utc_model.WN_T = hdr.mapTimeCorr["GPUT"].refWeek; #else - if (hdr.mapTimeCorr["GPUT"].refTime != gnsstk::CommonTime::BEGINNING_OF_TIME) + if (hdr.mapTimeCorr["GPUT"].refTime != gnsstk::Epoch(gnsstk::CommonTime::BEGINNING_OF_TIME)) { gnsstk::GPSWeekSecond gws(hdr.mapTimeCorr["GPUT"].refTime); gps_utc_model.tot = gws.getSOW(); @@ -238,7 +240,7 @@ int main(int argc, char** argv) gal_utc_model.tot = hdr.mapTimeCorr["GAUT"].refSOW; gal_utc_model.WNot = hdr.mapTimeCorr["GAUT"].refWeek; #else - if (hdr.mapTimeCorr["GAUT"].refTime != gnsstk::CommonTime::BEGINNING_OF_TIME) + if (hdr.mapTimeCorr["GAUT"].refTime != gnsstk::Epoch(gnsstk::CommonTime::BEGINNING_OF_TIME)) { gnsstk::GPSWeekSecond gws(hdr.mapTimeCorr["GAUT"].refTime); gal_utc_model.tot = gws.getSOW(); From 4d616a006e6910fc614aabb5aa6d7e91718a65ac Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Thu, 7 Aug 2025 13:33:12 +0200 Subject: [PATCH 2/3] Move patch files of external tools to their own folder --- CMakeLists.txt | 2 +- tests/CMakeLists.txt | 10 ++++++---- {tests/data => utils/patches}/gnsstk_gcc13.patch | 0 {tests/data => utils/patches}/gnsstk_static13.patch | 0 {tests/data => utils/patches}/gnsstk_static15.patch | 6 +++--- .../patches}/ion_gnss_standard_cmake.patch | 0 utils/rinex-tools/CMakeLists.txt | 4 +++- utils/rinex2assist/CMakeLists.txt | 4 +++- 8 files changed, 16 insertions(+), 10 deletions(-) rename {tests/data => utils/patches}/gnsstk_gcc13.patch (100%) rename {tests/data => utils/patches}/gnsstk_static13.patch (100%) rename {tests/data => utils/patches}/gnsstk_static15.patch (87%) rename {tests/data => utils/patches}/ion_gnss_standard_cmake.patch (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index f1b8f5b48..7b8db538a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3364,7 +3364,7 @@ if(ENABLE_ION) message(FATAL_ERROR "The patch command is not found. It is required to build the ION GNSS-SDR Metadata Standard. Please check your OS documentation and install the patch command.") endif() set(ION_METADATA_PATCH_COMMAND - ${Patch_EXECUTABLE} -p0 -i ${GNSSSDR_SOURCE_DIR}/tests/data/ion_gnss_standard_cmake.patch + ${Patch_EXECUTABLE} -p0 -i ${GNSSSDR_SOURCE_DIR}/utils/patches/ion_gnss_standard_cmake.patch ) endif() # Patch only once diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index de089d9dd..18217f25a 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -366,13 +366,13 @@ if(ENABLE_UNIT_TESTING_EXTRA OR ENABLE_SYSTEM_TESTING_EXTRA OR ENABLE_FPGA) if(CMAKE_VERSION VERSION_GREATER 3.17.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}/CMakeLists.txt < ${GNSSSDR_SOURCE_DIR}/tests/data/gnsstk_static15.patch + ${Patch_EXECUTABLE} ${GNSSSDR_BINARY_DIR}/thirdparty/gnsstk-${GNSSSDR_GNSSTK_LOCAL_VERSION}/CMakeLists.txt < ${GNSSSDR_SOURCE_DIR}/tests/common-files/gnsstk_static15.patch ) 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}/tests/data/gnsstk_static13.patch && - ${Patch_EXECUTABLE} ${GNSSSDR_BINARY_DIR}/thirdparty/gnsstk-${GNSSSDR_GNSSTK_LOCAL_VERSION}/core/lib/GNSSCore/ObsID.hpp < ${GNSSSDR_SOURCE_DIR}/tests/data/gnsstk_gcc13.patch + ${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 ) endif() # Patch only once @@ -406,7 +406,9 @@ if(ENABLE_UNIT_TESTING_EXTRA OR ENABLE_SYSTEM_TESTING_EXTRA OR ENABLE_FPGA) set(GNSSTK_PARALLEL_BUILD "-j${NUMBER_OF_PROCESSORS}") endif() endif() - set(GNSSTK_FLAGS "-DCMAKE_CXX_FLAGS:STRING=-w") + if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang" AND NOT WIN32) + set(GNSSTK_FLAGS "-DCMAKE_CXX_FLAGS:STRING=-w") + endif() if(CMAKE_VERSION VERSION_GREATER 3.17.0) set(GNSSTK_CXX_STANDARD 17) if((${CMAKE_SYSTEM_NAME} MATCHES "Darwin") AND ("${DARWIN_VERSION}" VERSION_GREATER_EQUAL "14")) diff --git a/tests/data/gnsstk_gcc13.patch b/utils/patches/gnsstk_gcc13.patch similarity index 100% rename from tests/data/gnsstk_gcc13.patch rename to utils/patches/gnsstk_gcc13.patch diff --git a/tests/data/gnsstk_static13.patch b/utils/patches/gnsstk_static13.patch similarity index 100% rename from tests/data/gnsstk_static13.patch rename to utils/patches/gnsstk_static13.patch diff --git a/tests/data/gnsstk_static15.patch b/utils/patches/gnsstk_static15.patch similarity index 87% rename from tests/data/gnsstk_static15.patch rename to utils/patches/gnsstk_static15.patch index 1f61a5335..686d7de31 100644 --- a/tests/data/gnsstk_static15.patch +++ b/utils/patches/gnsstk_static15.patch @@ -1,7 +1,7 @@ SPDX-License-Identifier: GPL-3.0-or-later -SPDX-FileCopyrightText: 2022 Carles Fernandez-Prades ---- CMakeLists.txt 2022-12-19 11:40:38.000000000 +0100 -+++ CMakeLists.txt 2022-12-19 11:56:49.000000000 +0100 +SPDX-FileCopyrightText: 2025 Carles Fernandez-Prades +--- CMakeLists.txt 2025-08-07 11:40:38.000000000 +0100 ++++ CMakeLists.txt 2025-08-07 11:56:49.000000000 +0100 @@ -6,7 +6,7 @@ # Is dependend on by $GNSSTK/build.sh #============================================================ diff --git a/tests/data/ion_gnss_standard_cmake.patch b/utils/patches/ion_gnss_standard_cmake.patch similarity index 100% rename from tests/data/ion_gnss_standard_cmake.patch rename to utils/patches/ion_gnss_standard_cmake.patch diff --git a/utils/rinex-tools/CMakeLists.txt b/utils/rinex-tools/CMakeLists.txt index e6fbc5816..d7fb0c80a 100644 --- a/utils/rinex-tools/CMakeLists.txt +++ b/utils/rinex-tools/CMakeLists.txt @@ -38,7 +38,9 @@ if("${ARMADILLO_VERSION_STRING}" VERSION_GREATER "9.800" OR (NOT ARMADILLO_FOUND set_property(TARGET obsdiff PROPERTY CXX_STANDARD 14) # Required by GPSTk v3.0.0 endif() # Do not show warnings raised by GPSTk / GNSSTk - target_compile_options(obsdiff PRIVATE -w) + if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang" AND NOT WIN32) + target_compile_options(obsdiff PRIVATE -w) + endif() if(NOT ARMADILLO_FOUND OR ENABLE_OWN_ARMADILLO) add_dependencies(obsdiff armadillo-${armadillo_RELEASE}) diff --git a/utils/rinex2assist/CMakeLists.txt b/utils/rinex2assist/CMakeLists.txt index 03f2c151a..e8a44f889 100644 --- a/utils/rinex2assist/CMakeLists.txt +++ b/utils/rinex2assist/CMakeLists.txt @@ -74,7 +74,9 @@ if(TARGET Boost::iostreams AND TARGET Boost::serialization) endif() # Do not show warnings raised by GPSTk / GNSSTk - target_compile_options(rinex2assist PRIVATE -w) + if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang" AND NOT WIN32) + target_compile_options(rinex2assist PRIVATE -w) + endif() target_link_libraries(rinex2assist PRIVATE From b6f911fa4607171d85f2f42f45fffb3d1c24d1c4 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Thu, 7 Aug 2025 16:14:32 +0200 Subject: [PATCH 3/3] Fix patch path --- tests/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 18217f25a..a3ef8b8db 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -366,7 +366,7 @@ if(ENABLE_UNIT_TESTING_EXTRA OR ENABLE_SYSTEM_TESTING_EXTRA OR ENABLE_FPGA) if(CMAKE_VERSION VERSION_GREATER 3.17.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}/CMakeLists.txt < ${GNSSSDR_SOURCE_DIR}/tests/common-files/gnsstk_static15.patch + ${Patch_EXECUTABLE} ${GNSSSDR_BINARY_DIR}/thirdparty/gnsstk-${GNSSSDR_GNSSTK_LOCAL_VERSION}/CMakeLists.txt < ${GNSSSDR_SOURCE_DIR}/utils/patches/gnsstk_static15.patch ) else() set(GNSSTK_PATCH_COMMAND