mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-09-10 14:56:03 +00:00
Fix building of the ION GNSS Metadata Standard with CMake 4.0
This commit is contained in:
@@ -3350,11 +3350,27 @@ endif()
|
|||||||
if(ENABLE_ION)
|
if(ENABLE_ION)
|
||||||
include(FetchContent)
|
include(FetchContent)
|
||||||
set(CMAKE_POLICY_DEFAULT_CMP0063 NEW)
|
set(CMAKE_POLICY_DEFAULT_CMP0063 NEW)
|
||||||
|
# Fix for CMake 4.0
|
||||||
|
set(ION_METADATA_PATCH_COMMAND "")
|
||||||
|
if(NOT CMAKE_VERSION VERSION_LESS 4.0)
|
||||||
|
find_program(Patch_EXECUTABLE NAME patch PATHS ENV PATH)
|
||||||
|
if(NOT Patch_EXECUTABLE)
|
||||||
|
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
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
# Patch only once
|
||||||
|
if(EXISTS ${GNSSSDR_BINARY_DIR}/thirdparty/gnss-metadata-standard/CMakeLists.txt)
|
||||||
|
set(ION_METADATA_PATCH_COMMAND "")
|
||||||
|
endif()
|
||||||
FetchContent_Declare(
|
FetchContent_Declare(
|
||||||
gnss_metadata_standard
|
gnss_metadata_standard
|
||||||
GIT_REPOSITORY https://github.com/IonMetadataWorkingGroup/GNSS-Metadata-Standard
|
GIT_REPOSITORY https://github.com/IonMetadataWorkingGroup/GNSS-Metadata-Standard
|
||||||
GIT_TAG 220d116e10db5e403e21b77a1fa25aa35feda198
|
GIT_TAG 220d116e10db5e403e21b77a1fa25aa35feda198
|
||||||
SOURCE_DIR ${GNSSSDR_BINARY_DIR}/thirdparty/gnss-metadata-standard
|
SOURCE_DIR ${GNSSSDR_BINARY_DIR}/thirdparty/gnss-metadata-standard
|
||||||
|
PATCH_COMMAND ${ION_METADATA_PATCH_COMMAND}
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${GNSSSDR_BINARY_DIR}/gnss-metadata-standard
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${GNSSSDR_BINARY_DIR}/gnss-metadata-standard
|
||||||
BINARY_DIR ${GNSSSDR_BINARY_DIR}/gnss-metadata-standard
|
BINARY_DIR ${GNSSSDR_BINARY_DIR}/gnss-metadata-standard
|
||||||
)
|
)
|
||||||
|
13
tests/data/ion_gnss_standard_cmake.patch
Normal file
13
tests/data/ion_gnss_standard_cmake.patch
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
SPDX-FileCopyrightText: 2025 Carles Fernandez-Prades <carles.fernandez@cttc.es>
|
||||||
|
--- CMakeLists.txt 2025-04-14 09:40:38.000000000 +0100
|
||||||
|
+++ CMakeLists.txt 2025-04-14 09:56:49.000000000 +0100
|
||||||
|
@@ -29,7 +29,7 @@
|
||||||
|
message(WARNING "In-tree build is bad practice. Try 'cd build && cmake ../' ")
|
||||||
|
endif(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
|
||||||
|
|
||||||
|
-cmake_minimum_required(VERSION 2.8)
|
||||||
|
+cmake_minimum_required(VERSION 2.8.12...3.5)
|
||||||
|
project(GNSS_METADATA_STANDARD CXX C)
|
||||||
|
|
||||||
|
file(RELATIVE_PATH RELATIVE_CMAKE_CALL ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
|
Reference in New Issue
Block a user