mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-07-06 20:12:55 +00:00
Improve detection of Gnuplot and gnss_sim when cross-compiling
This commit is contained in:
parent
75eafeb44c
commit
b4b9c31182
@ -1,7 +1,7 @@
|
|||||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||||
# This file is part of GNSS-SDR.
|
# This file is part of GNSS-SDR.
|
||||||
#
|
#
|
||||||
# SPDX-FileCopyrightText: 2011-2020 C. Fernandez-Prades cfernandez(at)cttc.es
|
# SPDX-FileCopyrightText: 2011-2021 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
|
||||||
if(GNSSSIMULATOR_ROOT)
|
if(GNSSSIMULATOR_ROOT)
|
||||||
@ -27,8 +27,17 @@ find_program(SW_GENERATOR_BIN gnss_sim
|
|||||||
/usr/local
|
/usr/local
|
||||||
/opt/local
|
/opt/local
|
||||||
PATH_SUFFIXES bin
|
PATH_SUFFIXES bin
|
||||||
|
ONLY_CMAKE_FIND_ROOT_PATH
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(SW_GENERATOR_BIN AND CMAKE_CROSSCOMPILING)
|
||||||
|
if(CMAKE_SYSROOT)
|
||||||
|
string(REGEX REPLACE "${CMAKE_SYSROOT}" "" SW_GENERATOR_BIN "${SW_GENERATOR_BIN}")
|
||||||
|
elseif(DEFINED ENV{OECORE_TARGET_SYSROOT})
|
||||||
|
string(REGEX REPLACE "$ENV{OECORE_TARGET_SYSROOT}" "" SW_GENERATOR_BIN "${SW_GENERATOR_BIN}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
include(FindPackageHandleStandardArgs)
|
||||||
find_package_handle_standard_args(GNSSSIMULATOR DEFAULT_MSG SW_GENERATOR_BIN)
|
find_package_handle_standard_args(GNSSSIMULATOR DEFAULT_MSG SW_GENERATOR_BIN)
|
||||||
mark_as_advanced(SW_GENERATOR_BIN)
|
mark_as_advanced(SW_GENERATOR_BIN)
|
||||||
|
45
cmake/Modules/FindGNUPLOT.cmake
Normal file
45
cmake/Modules/FindGNUPLOT.cmake
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# SPDX-FileCopyrightText: 2021 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||||
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
|
||||||
|
|
||||||
|
find_program(GNUPLOT_EXECUTABLE
|
||||||
|
NAMES
|
||||||
|
gnuplot
|
||||||
|
pgnuplot
|
||||||
|
PATHS
|
||||||
|
/usr/bin
|
||||||
|
/usr/local/bin
|
||||||
|
/opt/local/bin
|
||||||
|
ONLY_CMAKE_FIND_ROOT_PATH
|
||||||
|
)
|
||||||
|
|
||||||
|
if(NOT CMAKE_CROSSCOMPILING)
|
||||||
|
if(GNUPLOT_EXECUTABLE)
|
||||||
|
execute_process(COMMAND "${GNUPLOT_EXECUTABLE}" --version
|
||||||
|
OUTPUT_VARIABLE GNUPLOT_OUTPUT_VARIABLE
|
||||||
|
ERROR_QUIET
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
)
|
||||||
|
string(REGEX REPLACE "^gnuplot ([0-9\\.]+)( patchlevel )?" "\\1." GNUPLOT_VERSION_STRING "${GNUPLOT_OUTPUT_VARIABLE}")
|
||||||
|
string(REGEX REPLACE "\\.$" "" GNUPLOT_VERSION_STRING "${GNUPLOT_VERSION_STRING}")
|
||||||
|
unset(GNUPLOT_OUTPUT_VARIABLE)
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
if(GNUPLOT_EXECUTABLE)
|
||||||
|
if(CMAKE_SYSROOT)
|
||||||
|
string(REGEX REPLACE "${CMAKE_SYSROOT}" "" GNUPLOT_EXECUTABLE "${GNUPLOT_EXECUTABLE}")
|
||||||
|
elseif(DEFINED ENV{OECORE_TARGET_SYSROOT})
|
||||||
|
string(REGEX REPLACE "$ENV{OECORE_TARGET_SYSROOT}" "" GNUPLOT_EXECUTABLE "${GNUPLOT_EXECUTABLE}")
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
message(STATUS "Warning: Gnuplot is not found, you can install it later.")
|
||||||
|
message(STATUS " Setting default path to /usr/bin/gnuplot")
|
||||||
|
set(GNUPLOT_EXECUTABLE "/usr/bin/gnuplot")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(GNUPLOT DEFAULT_MSG GNUPLOT_EXECUTABLE)
|
@ -74,6 +74,7 @@ All notable changes to GNSS-SDR will be documented in this file.
|
|||||||
- Added support for Apple M1 AArch64 architecture processor and for FreeBSD on
|
- Added support for Apple M1 AArch64 architecture processor and for FreeBSD on
|
||||||
x86, improved AMD microarchitecture detection.
|
x86, improved AMD microarchitecture detection.
|
||||||
- CMake now selects the C++23 standard if the environment allows for it.
|
- CMake now selects the C++23 standard if the environment allows for it.
|
||||||
|
- Improved detection of Gnuplot and `gnss_sim` when cross-compiling.
|
||||||
|
|
||||||
### Improvements in Reliability
|
### Improvements in Reliability
|
||||||
|
|
||||||
|
@ -248,21 +248,21 @@ if(has_std_plus_void)
|
|||||||
add_definitions(-DCOMPILER_HAS_STD_PLUS_VOID=1)
|
add_definitions(-DCOMPILER_HAS_STD_PLUS_VOID=1)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_package(Gnuplot)
|
find_package(GNUPLOT)
|
||||||
if(GNUPLOT_FOUND)
|
if(GNUPLOT_FOUND)
|
||||||
add_definitions(-DGNUPLOT_EXECUTABLE="${GNUPLOT_EXECUTABLE}")
|
add_definitions(-DGNUPLOT_EXECUTABLE="${GNUPLOT_EXECUTABLE}")
|
||||||
endif()
|
endif()
|
||||||
set_package_properties(Gnuplot PROPERTIES
|
set_package_properties(GNUPLOT PROPERTIES
|
||||||
URL "http://www.gnuplot.info"
|
URL "http://www.gnuplot.info"
|
||||||
PURPOSE "Used to generate plots in some tests."
|
PURPOSE "Used to generate plots in some tests."
|
||||||
TYPE OPTIONAL
|
TYPE OPTIONAL
|
||||||
)
|
)
|
||||||
if(GNUPLOT_FOUND AND GNUPLOT_VERSION_STRING)
|
if(GNUPLOT_FOUND AND GNUPLOT_VERSION_STRING)
|
||||||
set_package_properties(Gnuplot PROPERTIES
|
set_package_properties(GNUPLOT PROPERTIES
|
||||||
DESCRIPTION "A portable command-line driven graphing utility (found: v${GNUPLOT_VERSION_STRING})"
|
DESCRIPTION "A portable command-line driven graphing utility (found: v${GNUPLOT_VERSION_STRING})"
|
||||||
)
|
)
|
||||||
else()
|
else()
|
||||||
set_package_properties(Gnuplot PROPERTIES
|
set_package_properties(GNUPLOT PROPERTIES
|
||||||
DESCRIPTION "A portable command-line driven graphing utility"
|
DESCRIPTION "A portable command-line driven graphing utility"
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
@ -287,6 +287,12 @@ if(ENABLE_UNIT_TESTING_EXTRA OR ENABLE_SYSTEM_TESTING_EXTRA OR ENABLE_FPGA)
|
|||||||
endif()
|
endif()
|
||||||
find_package(GNSSSIMULATOR QUIET)
|
find_package(GNSSSIMULATOR QUIET)
|
||||||
if(GNSSSIMULATOR_FOUND OR NOT ENABLE_GNSS_SIM_INSTALL)
|
if(GNSSSIMULATOR_FOUND OR NOT ENABLE_GNSS_SIM_INSTALL)
|
||||||
|
if(NOT GNSSSIMULATOR_FOUND)
|
||||||
|
message(STATUS "Warning: gnss_sim has not been found, you can install it later.")
|
||||||
|
message(STATUS " See https://bitbucket.org/jarribas/gnss-simulator")
|
||||||
|
message(STATUS " It is expected at /usr/bin/gnss_sim")
|
||||||
|
set(SW_GENERATOR_BIN "/usr/bin/gnss_sim")
|
||||||
|
endif()
|
||||||
add_definitions(-DSW_GENERATOR_BIN="${SW_GENERATOR_BIN}")
|
add_definitions(-DSW_GENERATOR_BIN="${SW_GENERATOR_BIN}")
|
||||||
add_definitions(-DDEFAULT_RINEX_NAV="${CMAKE_INSTALL_PREFIX}/share/gnss-sim/brdc3540.14n")
|
add_definitions(-DDEFAULT_RINEX_NAV="${CMAKE_INSTALL_PREFIX}/share/gnss-sim/brdc3540.14n")
|
||||||
add_definitions(-DDEFAULT_POSITION_FILE="${CMAKE_INSTALL_PREFIX}/share/gnss-sim/circle.csv")
|
add_definitions(-DDEFAULT_POSITION_FILE="${CMAKE_INSTALL_PREFIX}/share/gnss-sim/circle.csv")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user