mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-12-15 12:40:35 +00:00
Fix for Armadillo older than 9.800
This commit is contained in:
parent
61557a8c2c
commit
054ca06917
@ -373,6 +373,7 @@ if(ENABLE_UNIT_TESTING_EXTRA OR ENABLE_SYSTEM_TESTING_EXTRA OR ENABLE_FPGA)
|
|||||||
IMPORTED_LOCATION "${GPSTK_LIBRARY}"
|
IMPORTED_LOCATION "${GPSTK_LIBRARY}"
|
||||||
INTERFACE_INCLUDE_DIRECTORIES "${GPSTK_INCLUDE_DIRS};${GPSTK_INCLUDE_DIRS}/gpstk"
|
INTERFACE_INCLUDE_DIRECTORIES "${GPSTK_INCLUDE_DIRS};${GPSTK_INCLUDE_DIRS}/gpstk"
|
||||||
INTERFACE_LINK_LIBRARIES "${GPSTK_LIBRARY}"
|
INTERFACE_LINK_LIBRARIES "${GPSTK_LIBRARY}"
|
||||||
|
CXX_STANDARD 14
|
||||||
)
|
)
|
||||||
else()
|
else()
|
||||||
set(GPSTK_BINDIR ${GPSTK_INCLUDE_DIR}/../bin/)
|
set(GPSTK_BINDIR ${GPSTK_INCLUDE_DIR}/../bin/)
|
||||||
|
@ -7,46 +7,51 @@
|
|||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
#
|
#
|
||||||
|
|
||||||
find_package(GPSTK QUIET)
|
if("${ARMADILLO_VERSION_STRING}" VERSION_GREATER "9.800" OR (NOT ARMADILLO_FOUND) OR ENABLE_OWN_ARMADILLO) # requires back(), introduced in Armadillo 9.800
|
||||||
if(NOT GPSTK_FOUND OR ENABLE_OWN_GPSTK)
|
find_package(GPSTK QUIET)
|
||||||
include(GNUInstallDirs)
|
if(NOT GPSTK_FOUND OR ENABLE_OWN_GPSTK)
|
||||||
set(GPSTK_LIBRARY ${CMAKE_CURRENT_SOURCE_DIR}/../../../thirdparty/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}/install/${CMAKE_INSTALL_LIBDIR}/${CMAKE_FIND_LIBRARY_PREFIXES}gpstk${CMAKE_SHARED_LIBRARY_SUFFIX})
|
include(GNUInstallDirs)
|
||||||
set(GPSTK_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../thirdparty/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}/install/include)
|
set(GPSTK_LIBRARY ${CMAKE_CURRENT_SOURCE_DIR}/../../../thirdparty/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}/install/${CMAKE_INSTALL_LIBDIR}/${CMAKE_FIND_LIBRARY_PREFIXES}gpstk${CMAKE_SHARED_LIBRARY_SUFFIX})
|
||||||
|
set(GPSTK_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../thirdparty/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}/install/include)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(obsdiff_HEADERS obsdiff_flags.h)
|
||||||
|
source_group(Headers FILES ${obsdiff_HEADERS})
|
||||||
|
|
||||||
|
add_executable(obsdiff ${CMAKE_CURRENT_SOURCE_DIR}/obsdiff.cc ${obsdiff_HEADERS})
|
||||||
|
set_property(TARGET obsdiff PROPERTY CXX_STANDARD 14) # Required by GPSTk
|
||||||
|
target_include_directories(obsdiff PUBLIC ${CMAKE_SOURCE_DIR}/src/tests/common-files)
|
||||||
|
|
||||||
|
if(NOT GPSTK_FOUND OR ENABLE_OWN_GPSTK)
|
||||||
|
add_dependencies(obsdiff gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION})
|
||||||
|
endif()
|
||||||
|
if(NOT ARMADILLO_FOUND OR ENABLE_OWN_ARMADILLO)
|
||||||
|
add_dependencies(obsdiff armadillo-${armadillo_RELEASE})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
target_link_libraries(obsdiff
|
||||||
|
PUBLIC
|
||||||
|
Armadillo::armadillo
|
||||||
|
Threads::Threads
|
||||||
|
Gflags::gflags
|
||||||
|
Matio::matio
|
||||||
|
core_system_parameters
|
||||||
|
${GPSTK_LIBRARY}
|
||||||
|
)
|
||||||
|
|
||||||
|
target_include_directories(obsdiff
|
||||||
|
PUBLIC
|
||||||
|
${GPSTK_INCLUDE_DIR}/gpstk
|
||||||
|
${GPSTK_INCLUDE_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
add_custom_command(TARGET obsdiff POST_BUILD
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:obsdiff>
|
||||||
|
${CMAKE_SOURCE_DIR}/install/$<TARGET_FILE_NAME:obsdiff>
|
||||||
|
)
|
||||||
|
|
||||||
|
install(TARGETS obsdiff
|
||||||
|
RUNTIME DESTINATION bin
|
||||||
|
COMPONENT "obsdiff"
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(obsdiff_HEADERS obsdiff_flags.h)
|
|
||||||
source_group(Headers FILES ${obsdiff_HEADERS})
|
|
||||||
|
|
||||||
add_executable(obsdiff ${CMAKE_CURRENT_SOURCE_DIR}/obsdiff.cc ${obsdiff_HEADERS})
|
|
||||||
set_property(TARGET obsdiff PROPERTY CXX_STANDARD 14) # Required by GPSTk
|
|
||||||
target_include_directories(obsdiff PUBLIC ${CMAKE_SOURCE_DIR}/src/tests/common-files)
|
|
||||||
|
|
||||||
if(NOT GPSTK_FOUND OR ENABLE_OWN_GPSTK)
|
|
||||||
add_dependencies(obsdiff gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
target_link_libraries(obsdiff
|
|
||||||
PUBLIC
|
|
||||||
Armadillo::armadillo
|
|
||||||
Threads::Threads
|
|
||||||
Gflags::gflags
|
|
||||||
Matio::matio
|
|
||||||
core_system_parameters
|
|
||||||
${GPSTK_LIBRARY}
|
|
||||||
)
|
|
||||||
|
|
||||||
target_include_directories(obsdiff
|
|
||||||
PUBLIC
|
|
||||||
${GPSTK_INCLUDE_DIR}/gpstk
|
|
||||||
${GPSTK_INCLUDE_DIR}
|
|
||||||
)
|
|
||||||
|
|
||||||
add_custom_command(TARGET obsdiff POST_BUILD
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:obsdiff>
|
|
||||||
${CMAKE_SOURCE_DIR}/install/$<TARGET_FILE_NAME:obsdiff>
|
|
||||||
)
|
|
||||||
|
|
||||||
install(TARGETS obsdiff
|
|
||||||
RUNTIME DESTINATION bin
|
|
||||||
COMPONENT "obsdiff"
|
|
||||||
)
|
|
||||||
|
@ -13,6 +13,11 @@ This program computes single-differences and double-differences from RINEX obser
|
|||||||
|
|
||||||
### Building
|
### Building
|
||||||
|
|
||||||
|
Requirements:
|
||||||
|
* [GPSTK](https://github.com/SGL-UT/GPSTk): The GPS Toolkit. If not found in your system, the latest version will be downloaded, built and linked for you at building time.
|
||||||
|
* [Armadillo](http://arma.sourceforge.net/): A C++ library for linear algebra and scientific computing. This program requires version 9.800 or higher. If your installed Armadillo version is older, see below.
|
||||||
|
|
||||||
|
|
||||||
This program is built along with GNSS-SDR if the options `ENABLE_UNIT_TESTING_EXTRA` or `ENABLE_SYSTEM_TESTING_EXTRA` are set to `ON` when calling CMake:
|
This program is built along with GNSS-SDR if the options `ENABLE_UNIT_TESTING_EXTRA` or `ENABLE_SYSTEM_TESTING_EXTRA` are set to `ON` when calling CMake:
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -23,6 +28,13 @@ $ sudo make install
|
|||||||
|
|
||||||
The last step is optional. Without it, you still will get the executable at `../install/obsdiff`.
|
The last step is optional. Without it, you still will get the executable at `../install/obsdiff`.
|
||||||
|
|
||||||
|
This program requires Armadillo 9.800 or higher. If the available Armadillo version is older, this program will not be built. If your local Armadillo installed version is older, you can force CMake to download, build and link a recent one:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cmake -DENABLE_SYSTEM_TESTING_EXTRA=ON -DENABLE_OWN_ARMADILLO=ON ..
|
||||||
|
$ make obsdiff
|
||||||
|
$ sudo make install
|
||||||
|
```
|
||||||
|
|
||||||
### Usage
|
### Usage
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user