Automatic building of Armadillo upgraded to version 4.000.0. Updated links to new BeiDou ICD and Performance documents.

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@472 64b25241-fba3-4117-9849-534c7e92360d
This commit is contained in:
Carles Fernandez 2014-01-07 12:55:09 +00:00
parent a4814362c5
commit 6f51292e17
3 changed files with 31 additions and 18 deletions

View File

@ -1,4 +1,4 @@
# Copyright (C) 2010-2013 (see AUTHORS file for a list of contributors)
# Copyright (C) 2010-2014 (see AUTHORS file for a list of contributors)
#
# This file is part of GNSS-SDR.
#
@ -535,23 +535,34 @@ if(NOT ARMADILLO_FOUND)
message (STATUS " Armadillo has not been found.")
message (STATUS " Armadillo will be downloaded and built automatically ")
message (STATUS " when doing 'make'. ")
set(armadillo_RELEASE 3.930.2)
set(armadillo_MD5 "eef486a0fdde9a23b1067e9c57f146e4")
set(armadillo_RELEASE 4.000.0)
set(armadillo_MD5 "3110e2030ebf61ac61ba0d0423816790")
if(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/download/armadillo-${armadillo_RELEASE}/armadillo-${armadillo_RELEASE}.tar.gz)
set(ARMADILLO_PATCH_FILE ${CMAKE_CURRENT_BINARY_DIR}/armadillo-${armadillo_RELEASE}/armadillo_no.patch)
file(WRITE ${ARMADILLO_PATCH_FILE} "")
else(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/download/armadillo-${armadillo_RELEASE}/armadillo-${armadillo_RELEASE}.tar.gz)
set(ARMADILLO_PATCH_FILE ${CMAKE_CURRENT_BINARY_DIR}/armadillo-${armadillo_RELEASE}/armadillo_staticlib.patch)
set(ARMADILLO_PATCH_FILE2 ${CMAKE_CURRENT_BINARY_DIR}/armadillo-${armadillo_RELEASE}/armadillo_enable_lapack.patch)
file(WRITE ${ARMADILLO_PATCH_FILE}
"35c35
< set(ARMA_USE_WRAPPER true )
"30c30
< set(ARMA_USE_LAPACK false)
---
> set(ARMA_USE_LAPACK true)
36c36
< set(ARMA_USE_WRAPPER true )
---
> set(ARMA_USE_WRAPPER false)
343c343
< add_library( armadillo SHARED src/wrapper )
318c318
< add_library( armadillo SHARED \${PROJECT_SOURCE_DIR}/src/wrapper.cpp )
---
> add_library( armadillo STATIC src/wrapper )
")
> add_library( armadillo STATIC \${PROJECT_SOURCE_DIR}/src/wrapper.cpp )
")
file(WRITE ${ARMADILLO_PATCH_FILE2}
"12c12
< // #define ARMA_USE_LAPACK
---
> #define ARMA_USE_LAPACK
")
endif(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/download/armadillo-${armadillo_RELEASE}/armadillo-${armadillo_RELEASE}.tar.gz)
# Check if the patch command is available (does not come by default on Fedora or openSUSE)
find_program(PATCH_EXECUTABLE NAME patch PATHS ENV PATH)
@ -573,7 +584,7 @@ if(NOT ARMADILLO_FOUND)
URL http://sourceforge.net/projects/arma/files/armadillo-${armadillo_RELEASE}.tar.gz
DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR}/download/armadillo-${armadillo_RELEASE}
URL_MD5 ${armadillo_MD5}
PATCH_COMMAND patch -N <BINARY_DIR>/CMakeLists.txt ${ARMADILLO_PATCH_FILE}
PATCH_COMMAND patch -N <BINARY_DIR>/CMakeLists.txt ${ARMADILLO_PATCH_FILE} && patch -N <BINARY_DIR>/include/armadillo_bits/config.hpp ${ARMADILLO_PATCH_FILE2}
BUILD_IN_SOURCE 1
BUILD_COMMAND make
UPDATE_COMMAND ""
@ -584,7 +595,7 @@ if(NOT ARMADILLO_FOUND)
set(ARMADILLO_INCLUDE_DIRS ${binary_dir}/include )
find_library(lapack NAMES lapack HINTS /usr/lib /usr/local/lib /usr/lib64)
find_library(blas NAMES blas HINTS /usr/lib /usr/local/lib /usr/lib64)
set(ARMADILLO_LIBRARIES ${binary_dir}/${CMAKE_FIND_LIBRARY_PREFIXES}armadillo.a ${lapack} ${blas} gfortran)
set(ARMADILLO_LIBRARIES ${lapack} ${blas} gfortran ${binary_dir}/${CMAKE_FIND_LIBRARY_PREFIXES}armadillo.a)
set(LOCAL_ARMADILLO true)
# Save a copy at the thirdparty folder
file(COPY ${CMAKE_CURRENT_BINARY_DIR}/armadillo-${armadillo_RELEASE}

11
README
View File

@ -5,7 +5,7 @@ This document describes how to set up the compilation environment and build GNSS
GNU/Linux
-----------------------------------------------------------
Tested distributions: Ubuntu 12.04, 12.10, 13.04 and 13.10 (32 and 64 bits), Debian 6.0.6 and 7.2, Fedora 18, 10 and 20 (newer versions should work, too)
Tested distributions: Ubuntu 12.04, 12.10, 13.04 and 13.10 (32 and 64 bits), Debian 6.0.6 and 7.2, Fedora 18, 10 and 20 and openSUSE 13.1 (newer versions should work, too)
* Install GNU Radio:
@ -23,7 +23,7 @@ You can safely accept the default options but for prefix. We recommend to put /u
gituser = username
prefix = /usr/local
satisfy_order = deb,src # For Debian/Ubuntu/LinuxMint
satisfy_order = rpm,src # For Fedora/CentOS/RHEL
satisfy_order = rpm,src # For Fedora/CentOS/RHEL/openSUSE
forcepkgs =
timeout = 30
cmakebuildtype = RelWithDebInfo
@ -43,10 +43,11 @@ In case you do not want to use PyBOMBS and prefer to build and install GNU Radio
$ sudo apt-get install libblas-dev liblapack-dev gfortran # For Debian/Ubuntu/LinuxMint
$ sudo yum install lapack-devel blas-devel gcc-fortran # For Fedora/CentOS/RHEL
$ sudo zypper install lapack-devel blas-devel gcc-fortran # For OpenSUSE
$ wget http://sourceforge.net/projects/arma/files/armadillo-3.930.2.tar.gz
$ tar xvfz armadillo-3.930.2.tar.gz
$ cd armadillo-3.930.2
$ wget http://sourceforge.net/projects/arma/files/armadillo-4.000.0.tar.gz
$ tar xvfz armadillo-4.000.0.tar.gz
$ cd armadillo-4.000.0
$ cmake .
$ make
$ sudo make install

View File

@ -49,9 +49,10 @@ to use the future Galileo system and what they can expect in terms of performanc
\subsection beidou BeiDou
Official webpage at <a href="http://en.beidou.gov.cn/" target="_blank">beidou.gov.cn</a>
\li BeiDou Navigation Satellite System Signal In Space <a href="http://interact.beidou.gov.cn/interact/download.service?attachment=2012/12/27/201212273da29c5eb8274deb8cd2b178228ba2bd.pdf" target="_blank"><b>Interface Control Document
Open Service Signal B1I (Version 1.0)</b></a>. China Satellite Navigation Office, December 2012.
\li <a href="http://www2.unb.ca/gge/Resources/beidou_icd_english_ver2.0.pdf" target="_blank"><b>BeiDou Navigation Satellite System Signal In Space Interface Control Document</b></a>.
Open Service Signal (Version 2.0). China Satellite Navigation Office, December 2013.
\li <a href="http://www2.unb.ca/gge/Resources/beidou_open_service_performance_standard_ver1.0.pdf" target="_blank"><b>BeiDou Navigation Satellite System Open Service Performance Standard</b></a>. (Version 1.0). China Satellite Navigation Office, December 2013.
\subsection sbas Satellite Based Augmentation Systems (SBAS)