1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-06-24 05:53:16 +00:00
This commit is contained in:
Carles Fernandez 2016-12-20 09:41:41 +01:00
commit 8b0d51a965
5 changed files with 61 additions and 19 deletions

View File

@ -293,7 +293,11 @@ endif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
# Check if the compiler defines the architecture as ARM
################################################################################
if(NOT OS_IS_MACOSX)
include(TestForARM)
if(CMAKE_CROSSCOMPILING)
set(IS_ARM TRUE)
else(CMAKE_CROSSCOMPILING)
include(TestForARM)
endif(CMAKE_CROSSCOMPILING)
endif(NOT OS_IS_MACOSX)
@ -365,7 +369,7 @@ set(Boost_ADDITIONAL_VERSIONS
)
set(Boost_USE_MULTITHREAD ON)
set(Boost_USE_STATIC_LIBS OFF)
find_package(Boost COMPONENTS date_time system filesystem thread serialization chrono REQUIRED)
find_package(Boost COMPONENTS date_time system filesystem thread serialization chrono unit_test_framework program_options REQUIRED)
if(NOT Boost_FOUND)
message(FATAL_ERROR "Fatal error: Boost (version >=1.45.0) required.")
endif(NOT Boost_FOUND)
@ -458,8 +462,12 @@ if(NOT VOLK_GNSSSDR_FOUND)
message(STATUS " volk_gnsssdr will be built along with gnss-sdr when doing 'make'")
set(CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(C_FLAGS "${CMAKE_C_FLAGS} -std=c11")
set(VOLK_GNSSSDR_CMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
if(CMAKE_CROSSCOMPILING)
set(VOLK_GNSSSDR_COMPILER "")
else(CMAKE_CROSSCOMPILING)
set(VOLK_GNSSSDR_COMPILER -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER})
endif(CMAKE_CROSSCOMPILING)
set(VOLK_GNSSSDR_CMAKE_ARGS ${VOLK_GNSSSDR_COMPILER}
-DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_module/install
-DENABLE_STATIC_LIBS=ON
-DENABLE_PROFILING=${ENABLE_PROFILING}
@ -467,9 +475,12 @@ if(NOT VOLK_GNSSSDR_FOUND)
-DCMAKE_C_FLAGS=${C_FLAGS}
${STRIP_VOLK_GNSSSDR_PROFILE}
${USE_THIS_PYTHON} )
if(CMAKE_TOOLCHAIN_FILE)
set(VOLK_GNSSSDR_CMAKE_ARGS ${VOLK_GNSSSDR_CMAKE_ARGS} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE})
endif(CMAKE_TOOLCHAIN_FILE)
if(EXISTS $ENV{OECORE_TARGET_SYSROOT})
set(VOLK_GNSSSDR_CMAKE_ARGS ${VOLK_GNSSSDR_CMAKE_ARGS}
-DENABLE_ORC=OFF
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_CURRENT_SOURCE_DIR}/cmake/Toolchains/oe-sdk_cross.cmake
-DCROSSCOMPILE_MULTILIB=TRUE )
endif(EXISTS $ENV{OECORE_TARGET_SYSROOT})
ExternalProject_Add(volk_gnsssdr_module
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_module
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr
@ -701,7 +712,12 @@ if(OS_IS_LINUX)
else(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
message(" sudo apt-get install liblapack-dev")
endif(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
message(FATAL_ERROR "LAPACK is required to build gnss-sdr")
if(IS_ARM)
message(WARNING "LAPACK is recommended to build gnss-sdr")
set(LAPACK "")
else(IS_ARM)
message(FATAL_ERROR "LAPACK is required to build gnss-sdr")
endif(IS_ARM)
endif(NOT LAPACK)
#############################################################################
# Check that BLAS is found in the system
@ -717,7 +733,12 @@ if(OS_IS_LINUX)
else(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
message(" sudo apt-get install libopenblas-dev")
endif(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
message(FATAL_ERROR "BLAS is required to build gnss-sdr")
if(IS_ARM)
message(WARNING "BLAS is recommended to build gnss-sdr")
set(BLAS "")
else(IS_ARM)
message(FATAL_ERROR "BLAS is required to build gnss-sdr")
endif(IS_ARM)
endif(NOT BLAS)
#############################################
# Check if GFORTRAN is found in the system
@ -823,8 +844,8 @@ if(NOT ARMADILLO_FOUND)
set(armadillo_MD5 "8116185e1d7391eed3bf6c500f81b4d8")
set(ARMA_FILE_EXTENSION "gz")
else(CMAKE_VERSION VERSION_LESS 3.1)
set(armadillo_RELEASE 7.500.2)
set(armadillo_MD5 "c7dc07d6d2d9f92432cf06d44b6508b2")
set(armadillo_RELEASE 7.600.1)
set(armadillo_MD5 "7edc68972ad5f0121efcd1173551d9a1")
set(ARMA_FILE_EXTENSION "xz")
endif(CMAKE_VERSION VERSION_LESS 3.1)
@ -1193,12 +1214,14 @@ if (NOT ARCH_COMPILER_FLAGS)
else(OS_IS_MACOSX)
if(NOT ${ENABLE_GENERIC_ARCH})
if(IS_ARM) # ARM-specific options (https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html)
if(ARM_VERSION STREQUAL "arm")
# Unknown arm version - try our best to detect
set(ARCH_COMPILER_FLAGS "-mcpu=native")
else(ARM_VERSION STREQUAL "arm")
set(ARCH_COMPILER_FLAGS "-march=${ARM_VERSION}")
endif(ARM_VERSION STREQUAL "arm")
if(NOT CMAKE_CROSSCOMPILING)
if(ARM_VERSION STREQUAL "arm")
# Unknown arm version - try our best to detect
set(ARCH_COMPILER_FLAGS "-mcpu=native")
else(ARM_VERSION STREQUAL "arm")
set(ARCH_COMPILER_FLAGS "-march=${ARM_VERSION}")
endif(ARM_VERSION STREQUAL "arm")
endif(NOT CMAKE_CROSSCOMPILING)
else(IS_ARM)
set(ARCH_COMPILER_FLAGS "-march=native -mfpmath=sse")
endif(IS_ARM)

View File

@ -17,7 +17,7 @@ This section describes how to set up the compilation environment in GNU/Linux or
GNU/Linux
----------
* Tested distributions: Ubuntu from 14.04 LTS to 16.04 LTS, Debian 8.0 "jessie", Linaro 15.03
* Tested distributions: Ubuntu from 14.04 LTS to 16.10, Debian 8.0 "jessie", Linaro 15.03
* Known to work but not continually tested: Arch Linux, Fedora, and openSUSE
* Supported microprocessor architectures:
* i386: Intel x86 instruction set (32-bit microprocessors).

View File

@ -177,6 +177,7 @@ bool gps_l1_ca_ls_pvt::get_PVT(std::map<int,Gnss_Synchro> gnss_pseudoranges_map,
//ToDo: Find an Observables/PVT random bug with some satellite configurations that gives an erratic PVT solution (i.e. height>50 km)
if (d_height_m > 50000)
{
DLOG(INFO)<<"LS: bad height\n";
b_valid_position = false;
return false;
}

View File

@ -497,6 +497,18 @@ std::string Gnss_Satellite::what_block(const std::string& system_, unsigned int
case 2:
block_ = std::string("FOC-FM11"); // Galileo Full Operational Capability (FOC) satellite FM11 / GSAT-0211, launched on May 24, 2016
break;
case 3:
block_ = std::string("FOC-FM12"); // Galileo Full Operational Capability (FOC) satellite FM12 / GSAT-0212, launched on November 17, 2016
break;
case 4:
block_ = std::string("FOC-FM13"); // Galileo Full Operational Capability (FOC) satellite FM13 / GSAT-0213, launched on November 17, 2016
break;
case 5:
block_ = std::string("FOC-FM14"); // Galileo Full Operational Capability (FOC) satellite FM14 / GSAT-0214, launched on November 17, 2016
break;
case 7:
block_ = std::string("FOC-FM7"); // Galileo Full Operational Capability (FOC) satellite FM7 / GSAT-0207, launched on November 17, 2016
break;
case 8:
block_ = std::string("FOC-FM8"); // Galileo Full Operational Capability (FOC) satellite FM8 / GSAT0208, launched on December 17, 2015
break;

View File

@ -38,13 +38,19 @@ endif(GTEST_INCLUDE_DIRS)
if(NOT ${GTEST_DIR_LOCAL})
# if GTEST_DIR is not defined, we download and build it
set(gtest_RELEASE 1.8.0)
set(TOOLCHAIN_ARG "")
set(GTEST_COMPILER -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER})
if(EXISTS $ENV{OECORE_TARGET_SYSROOT})
set(GTEST_COMPILER "")
set(TOOLCHAIN_ARG -DCMAKE_TOOLCHAIN_FILE=${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/Toolchains/oe-sdk_cross.cmake)
endif(EXISTS $ENV{OECORE_TARGET_SYSROOT})
ExternalProject_Add(
gtest-${gtest_RELEASE}
GIT_REPOSITORY https://github.com/google/googletest
GIT_TAG release-${gtest_RELEASE}
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gtest/gtest-${gtest_RELEASE}
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/../../gtest-${gtest_RELEASE}
CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DBUILD_GTEST=ON -DBUILD_GMOCK=OFF
CMAKE_ARGS ${GTEST_COMPILER} -DBUILD_GTEST=ON -DBUILD_GMOCK=OFF ${TOOLCHAIN_ARG}
UPDATE_COMMAND ""
PATCH_COMMAND ""
INSTALL_COMMAND ""