diff --git a/CMakeLists.txt b/CMakeLists.txt index ea69b9e71..8f7a9e0bd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -717,45 +717,16 @@ 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'. ") - # 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) - if(NOT PATCH_EXECUTABLE) - message(" The patch command has not been found.") - message(" You can try to install it by typing:") - if(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat") - message(" sudo yum install patch") - elseif(${LINUX_DISTRIBUTION} MATCHES "openSUSE") - message(" sudo zypper install patch") - else(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat") - message(" sudo apt-get install patch") - endif(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat") - message(FATAL_ERROR "The patch command is required to download and build armadillo") - endif(NOT PATCH_EXECUTABLE) - set(armadillo_RELEASE 4.450.0) - set(armadillo_MD5 "2e13f5d0a666a67fb44e375722479629") - 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_enable_lapack.patch) - file(WRITE ${ARMADILLO_PATCH_FILE} -"12c12 -< // #define ARMA_USE_LAPACK ---- -> #define ARMA_USE_LAPACK -19c19 -< // #define ARMA_USE_BLAS ---- -> #define ARMA_USE_BLAS -") - endif(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/download/armadillo-${armadillo_RELEASE}/armadillo-${armadillo_RELEASE}.tar.gz) + + set(armadillo_RELEASE 4.600.2) + set(armadillo_MD5 "cfa4962bfa48bf3953d012b2f8fcfa35") + ExternalProject_Add( armadillo-${armadillo_RELEASE} PREFIX ${CMAKE_CURRENT_BINARY_DIR}/armadillo-${armadillo_RELEASE} 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 /include/armadillo_bits/config.hpp ${ARMADILLO_PATCH_FILE} CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DBUILD_SHARED_LIBS=OFF BUILD_IN_SOURCE 1 BUILD_COMMAND make diff --git a/README.md b/README.md index 74307ceed..e8f43bf1f 100644 --- a/README.md +++ b/README.md @@ -95,9 +95,9 @@ $ sudo apt-get install libopenblas-dev liblapack-dev gfortran # For Debian/Ubu $ 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-4.450.0.tar.gz -$ tar xvfz armadillo-4.450.0.tar.gz -$ cd armadillo-4.450.0 +$ wget http://sourceforge.net/projects/arma/files/armadillo-4.600.2.tar.gz +$ tar xvfz armadillo-4.600.2.tar.gz +$ cd armadillo-4.600.2 $ cmake . $ make $ sudo make install @@ -972,9 +972,9 @@ For LaTeX users, these are the BibTeX cites for your convenience: Ok, now what? ============= -In order to start using GNSS-SDR, you may want to populate ```gnss-sdr/data``` folder (or anywhere else on your system) with raw data files. By "raw data" we mean the output of a Radio Frequency front-end's Analog-to-Digital converter. GNSS-SDR needs signal samples already in baseband or in passband, at a suitable intemediate frequency (on the order of MHz). Prepare your configuration file, and then you are ready for going to the ```gnss-sdr/install``` folder, running ```./gnss-sdr```, and seeing how the file is processed. +In order to start using GNSS-SDR, you may want to populate ```gnss-sdr/data``` folder (or anywhere else on your system) with raw data files. By "raw data" we mean the output of a Radio Frequency front-end's Analog-to-Digital converter. GNSS-SDR needs signal samples already in baseband or in passband, at a suitable intemediate frequency (on the order of MHz). Prepare your configuration file, and then you are ready for running ```gnss-sdr --config_file=your_configuration.conf```, and seeing how the file is processed. -Another interesting option is working in real-time with a RF front-end. We provide drivers for UHD-compatible hardware such as the [USRP family](http://www.ettus.com/product), for the GN3S v2 USB dongle and for some DVB-T USB dongles. Start with a low number of channels and then increase it in order to test how many channels your processor can handle in real-time. +Another interesting option is working in real-time with a RF front-end. We provide drivers for UHD-compatible hardware such as the [USRP family](http://www.ettus.com/product), for OsmoSDR and other front-ends (HackRF, bladeRF), for the GN3S v2 USB dongle and for some DVB-T USB dongles. Start with a low number of channels and then increase it in order to test how many channels your processor can handle in real-time. You can find more information at the [GNSS-SDR Documentation page](http://gnss-sdr.org/documents) or directly asking to the [GNSS-SDR Developers mailing list](http://lists.sourceforge.net/lists/listinfo/gnss-sdr-developers).