mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-05-13 04:44:09 +00:00
Fix building of the ION GNSS Metadata Standard with CMake 4.0
This commit is contained in:
parent
2e1f24ee7c
commit
fa491bbf33
@ -3350,11 +3350,27 @@ endif()
|
||||
if(ENABLE_ION)
|
||||
include(FetchContent)
|
||||
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(
|
||||
gnss_metadata_standard
|
||||
GIT_REPOSITORY https://github.com/IonMetadataWorkingGroup/GNSS-Metadata-Standard
|
||||
GIT_TAG 220d116e10db5e403e21b77a1fa25aa35feda198
|
||||
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
|
||||
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})
|
Loading…
x
Reference in New Issue
Block a user