mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-12-15 12:40:35 +00:00
Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into fpga
This commit is contained in:
commit
9d7f8be4ef
@ -510,6 +510,7 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Check if the compiler defines the architecture as ARM
|
# Check if the compiler defines the architecture as ARM
|
||||||
################################################################################
|
################################################################################
|
||||||
@ -1335,6 +1336,9 @@ if(OS_IS_MACOSX)
|
|||||||
# Avoid using the implementation that comes with the Accelerate framework
|
# Avoid using the implementation that comes with the Accelerate framework
|
||||||
include(AvoidAccelerate)
|
include(AvoidAccelerate)
|
||||||
else()
|
else()
|
||||||
|
if(NOT BLA_VENDOR)
|
||||||
|
set(BLA_VENDOR "Generic")
|
||||||
|
endif()
|
||||||
find_package(BLAS)
|
find_package(BLAS)
|
||||||
set_package_properties(BLAS PROPERTIES
|
set_package_properties(BLAS PROPERTIES
|
||||||
URL "http://www.netlib.org/blas/"
|
URL "http://www.netlib.org/blas/"
|
||||||
@ -1542,7 +1546,13 @@ find_library(GNUTLS_OPENSSL_LIBRARY NAMES gnutls-openssl libgnutls-openssl.so.27
|
|||||||
/usr/lib/sh4-linux-gnu
|
/usr/lib/sh4-linux-gnu
|
||||||
)
|
)
|
||||||
if(NOT GNUTLS_OPENSSL_LIBRARY)
|
if(NOT GNUTLS_OPENSSL_LIBRARY)
|
||||||
|
if(GnuTLS_FOUND)
|
||||||
|
message(STATUS " But it was not built with openssl compatibility.")
|
||||||
|
endif()
|
||||||
message(STATUS " Looking for OpenSSL instead...")
|
message(STATUS " Looking for OpenSSL instead...")
|
||||||
|
if(OS_IS_MACOSX)
|
||||||
|
set(OPENSSL_ROOT_DIR /usr/local/opt/openssl) # Trick for Homebrew
|
||||||
|
endif()
|
||||||
find_package(OpenSSL)
|
find_package(OpenSSL)
|
||||||
set_package_properties(OpenSSL PROPERTIES
|
set_package_properties(OpenSSL PROPERTIES
|
||||||
URL "https://www.openssl.org"
|
URL "https://www.openssl.org"
|
||||||
@ -1564,11 +1574,12 @@ if(NOT GNUTLS_OPENSSL_LIBRARY)
|
|||||||
if(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
if(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
||||||
message(" sudo yum install openssl-devel")
|
message(" sudo yum install openssl-devel")
|
||||||
else()
|
else()
|
||||||
message(" sudo apt-get install libgnutls-openssl-dev")
|
message(" sudo apt-get install libgnutls28-dev")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
if(OS_IS_MACOSX)
|
if(OS_IS_MACOSX)
|
||||||
message(" sudo port install gnutls")
|
message(" 'sudo port install gnutls', if you are using Macports, or")
|
||||||
|
message(" 'brew install openssl', if you are using Homebrew.")
|
||||||
endif()
|
endif()
|
||||||
message(FATAL_ERROR "GnuTLS libraries with openssl compatibility are required to build gnss-sdr")
|
message(FATAL_ERROR "GnuTLS libraries with openssl compatibility are required to build gnss-sdr")
|
||||||
endif()
|
endif()
|
||||||
@ -2223,10 +2234,12 @@ endif()
|
|||||||
configure_file(
|
configure_file(
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in
|
${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
|
${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
|
||||||
@ONLY)
|
@ONLY
|
||||||
|
)
|
||||||
|
|
||||||
add_custom_target(uninstall
|
add_custom_target(uninstall
|
||||||
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
|
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
100
README.md
100
README.md
@ -35,7 +35,7 @@ This section describes how to set up the compilation environment in GNU/Linux or
|
|||||||
GNU/Linux
|
GNU/Linux
|
||||||
----------
|
----------
|
||||||
|
|
||||||
* Tested distributions: Ubuntu 14.04 LTS and above; Debian 8.0 "jessie" and above; Fedora 26 and above; CentOS 7; Arch Linux.
|
* Tested distributions: Ubuntu 14.04 LTS and above; Debian 8.0 "jessie" and above; Arch Linux; CentOS 7; Fedora 26 and above; OpenSUSE 42.3 and above.
|
||||||
* Supported microprocessor architectures:
|
* Supported microprocessor architectures:
|
||||||
* i386: Intel x86 instruction set (32-bit microprocessors).
|
* i386: Intel x86 instruction set (32-bit microprocessors).
|
||||||
* amd64: also known as x86-64, the 64-bit version of the x86 instruction set, originally created by AMD and implemented by AMD, Intel, VIA and others.
|
* amd64: also known as x86-64, the 64-bit version of the x86 instruction set, originally created by AMD and implemented by AMD, Intel, VIA and others.
|
||||||
@ -79,21 +79,19 @@ Please note that the required files from `libgtest-dev` were moved to `googletes
|
|||||||
|
|
||||||
Once you have installed these packages, you can jump directly to [download the source code and build GNSS-SDR](#download-and-build-linux).
|
Once you have installed these packages, you can jump directly to [download the source code and build GNSS-SDR](#download-and-build-linux).
|
||||||
|
|
||||||
|
#### Arch Linux
|
||||||
|
|
||||||
#### Fedora
|
If you are using Arch Linux:
|
||||||
|
|
||||||
If you are using Fedora 26 or above, the required software dependencies can be installed by doing:
|
|
||||||
|
|
||||||
~~~~~~
|
~~~~~~
|
||||||
$ sudo yum install make automake gcc gcc-c++ kernel-devel cmake git boost-devel \
|
$ pacman -S gcc make cmake git boost boost-libs log4cpp libvolk gnuradio \
|
||||||
boost-date-time boost-system boost-filesystem boost-thread boost-chrono \
|
gnuradio-osmosdr blas lapack gflags google-glog openssl pugixml \
|
||||||
boost-serialization log4cpp-devel gnuradio-devel gr-osmosdr-devel \
|
python-mako python-six libmatio libpcap gtest
|
||||||
blas-devel lapack-devel matio-devel armadillo-devel gflags-devel \
|
|
||||||
glog-devel openssl-devel libpcap-devel python-mako python-six pugixml-devel
|
|
||||||
~~~~~~
|
~~~~~~
|
||||||
|
|
||||||
Once you have installed these packages, you can jump directly to [download the source code and build GNSS-SDR](#download-and-build-linux).
|
Once you have installed these packages, you can jump directly to [download the source code and build GNSS-SDR](#download-and-build-linux).
|
||||||
|
|
||||||
|
|
||||||
#### CentOS
|
#### CentOS
|
||||||
|
|
||||||
If you are using CentOS 7, you can install the dependencies via Extra Packages for Enterprise Linux ([EPEL](https://fedoraproject.org/wiki/EPEL)):
|
If you are using CentOS 7, you can install the dependencies via Extra Packages for Enterprise Linux ([EPEL](https://fedoraproject.org/wiki/EPEL)):
|
||||||
@ -111,18 +109,39 @@ $ sudo yum install make automake gcc gcc-c++ kernel-devel libtool \
|
|||||||
|
|
||||||
Once you have installed these packages, you can jump directly to [download the source code and build GNSS-SDR](#download-and-build-linux).
|
Once you have installed these packages, you can jump directly to [download the source code and build GNSS-SDR](#download-and-build-linux).
|
||||||
|
|
||||||
#### Arch Linux
|
|
||||||
|
|
||||||
If you are using Arch Linux:
|
#### Fedora
|
||||||
|
|
||||||
|
If you are using Fedora 26 or above, the required software dependencies can be installed by doing:
|
||||||
|
|
||||||
~~~~~~
|
~~~~~~
|
||||||
$ pacman -S gcc make cmake git boost boost-libs log4cpp libvolk gnuradio \
|
$ sudo yum install make automake gcc gcc-c++ kernel-devel cmake git boost-devel \
|
||||||
gnuradio-osmosdr blas lapack gflags google-glog openssl pugixml \
|
boost-date-time boost-system boost-filesystem boost-thread boost-chrono \
|
||||||
python-mako python-six libmatio libpcap gtest
|
boost-serialization log4cpp-devel gnuradio-devel gr-osmosdr-devel \
|
||||||
|
blas-devel lapack-devel matio-devel armadillo-devel gflags-devel \
|
||||||
|
glog-devel openssl-devel libpcap-devel python-mako python-six pugixml-devel
|
||||||
~~~~~~
|
~~~~~~
|
||||||
|
|
||||||
Once you have installed these packages, you can jump directly to [download the source code and build GNSS-SDR](#download-and-build-linux).
|
Once you have installed these packages, you can jump directly to [download the source code and build GNSS-SDR](#download-and-build-linux).
|
||||||
|
|
||||||
|
|
||||||
|
#### openSUSE
|
||||||
|
|
||||||
|
If you are using openSUSE Leap:
|
||||||
|
|
||||||
|
~~~~~~
|
||||||
|
zypper install cmake git gcc-c++ boost-devel libboost_atomic-devel \
|
||||||
|
libboost_system-devel libboost_filesystem-devel libboost_date_time-devel \
|
||||||
|
libboost_thread-devel libboost_chrono-devel libboost_serialization-devel \
|
||||||
|
log4cpp-devel gtest gnuradio-devel pugixml-devel libpcap-devel \
|
||||||
|
armadillo-devel libtool automake hdf5-devel libopenssl-devel python-Mako \
|
||||||
|
python-six
|
||||||
|
~~~~~~
|
||||||
|
|
||||||
|
Once you have installed these packages, you can jump directly to [download the source code and build GNSS-SDR](#download-and-build-linux).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Alternative 2: Install dependencies using PyBOMBS
|
### Alternative 2: Install dependencies using PyBOMBS
|
||||||
|
|
||||||
This option is adequate if you are interested in development, in working with the most recent versions of software dependencies, want more fine tuning on the installed versions, or simply in building everything from the scratch just for the fun of it. In such cases, we recommend to use [PyBOMBS](https://github.com/gnuradio/pybombs "Python Build Overlay Managed Bundle System") (Python Build Overlay Managed Bundle System), GNU Radio's meta-package manager tool that installs software from source, or whatever the local package manager is, that automatically does all the work for you. Please take a look at the configuration options and general PyBOMBS usage at https://github.com/gnuradio/pybombs. Here we provide a quick step-by-step tutorial.
|
This option is adequate if you are interested in development, in working with the most recent versions of software dependencies, want more fine tuning on the installed versions, or simply in building everything from the scratch just for the fun of it. In such cases, we recommend to use [PyBOMBS](https://github.com/gnuradio/pybombs "Python Build Overlay Managed Bundle System") (Python Build Overlay Managed Bundle System), GNU Radio's meta-package manager tool that installs software from source, or whatever the local package manager is, that automatically does all the work for you. Please take a look at the configuration options and general PyBOMBS usage at https://github.com/gnuradio/pybombs. Here we provide a quick step-by-step tutorial.
|
||||||
@ -308,14 +327,14 @@ $ cd gnss-sdr/build
|
|||||||
Configure and build the application:
|
Configure and build the application:
|
||||||
|
|
||||||
~~~~~~
|
~~~~~~
|
||||||
$ cmake ../
|
$ cmake ..
|
||||||
$ make
|
$ make
|
||||||
~~~~~~
|
~~~~~~
|
||||||
|
|
||||||
By default, CMake will build the Release version, meaning that the compiler will generate a fast, optimized executable. This is the recommended build type when using an RF front-end and you need to attain real time. If working with a file (and thus without real-time constraints), you may want to obtain more information about the internals of the receiver, as well as more fine-grained logging. This can be done by building the Debug version, by doing:
|
By default, CMake will build the Release version, meaning that the compiler will generate a fast, optimized executable. This is the recommended build type when using an RF front-end and you need to attain real time. If working with a file (and thus without real-time constraints), you may want to obtain more information about the internals of the receiver, as well as more fine-grained logging. This can be done by building the Debug version, by doing:
|
||||||
|
|
||||||
~~~~~~
|
~~~~~~
|
||||||
$ cmake -DCMAKE_BUILD_TYPE=Debug ../
|
$ cmake -DCMAKE_BUILD_TYPE=Debug ..
|
||||||
$ make
|
$ make
|
||||||
~~~~~~
|
~~~~~~
|
||||||
|
|
||||||
@ -373,7 +392,7 @@ Install the GNU Radio module:
|
|||||||
~~~~~~
|
~~~~~~
|
||||||
$ git clone https://github.com/gnss-sdr/gr-gn3s
|
$ git clone https://github.com/gnss-sdr/gr-gn3s
|
||||||
$ cd gr-gn3s/build
|
$ cd gr-gn3s/build
|
||||||
$ cmake ../
|
$ cmake ..
|
||||||
$ make
|
$ make
|
||||||
$ sudo make install
|
$ sudo make install
|
||||||
$ sudo ldconfig
|
$ sudo ldconfig
|
||||||
@ -383,7 +402,7 @@ Then configure GNSS-SDR to build the `GN3S_Signal_Source` by:
|
|||||||
|
|
||||||
~~~~~~
|
~~~~~~
|
||||||
$ cd gnss-sdr/build
|
$ cd gnss-sdr/build
|
||||||
$ cmake -DENABLE_GN3S=ON ../
|
$ cmake -DENABLE_GN3S=ON ..
|
||||||
$ make
|
$ make
|
||||||
$ sudo make install
|
$ sudo make install
|
||||||
~~~~~~
|
~~~~~~
|
||||||
@ -406,16 +425,16 @@ $ git clone git://git.osmocom.org/osmo-sdr.git
|
|||||||
$ cd osmo-sdr/software/libosmosdr
|
$ cd osmo-sdr/software/libosmosdr
|
||||||
$ mkdir build
|
$ mkdir build
|
||||||
$ cd build/
|
$ cd build/
|
||||||
$ cmake ../
|
$ cmake ..
|
||||||
$ make
|
$ make
|
||||||
$ sudo make install
|
$ sudo make install
|
||||||
$ sudo ldconfig
|
$ sudo ldconfig
|
||||||
$ cd ../../
|
$ cd ../..
|
||||||
$ git clone git://git.osmocom.org/gr-osmosdr
|
$ git clone git://git.osmocom.org/gr-osmosdr
|
||||||
$ cd gr-osmosdr
|
$ cd gr-osmosdr
|
||||||
$ mkdir build
|
$ mkdir build
|
||||||
$ cd build
|
$ cd build
|
||||||
$ cmake ../ -Wno-dev
|
$ cmake .. -Wno-dev
|
||||||
$ make
|
$ make
|
||||||
$ sudo make install
|
$ sudo make install
|
||||||
$ sudo ldconfig
|
$ sudo ldconfig
|
||||||
@ -425,7 +444,7 @@ $ sudo ldconfig
|
|||||||
Then, configure GNSS-SDR to build the `Osmosdr_Signal_Source` by:
|
Then, configure GNSS-SDR to build the `Osmosdr_Signal_Source` by:
|
||||||
|
|
||||||
~~~~~~
|
~~~~~~
|
||||||
$ cmake -DENABLE_OSMOSDR=ON ../
|
$ cmake -DENABLE_OSMOSDR=ON ..
|
||||||
$ make
|
$ make
|
||||||
$ sudo make install
|
$ sudo make install
|
||||||
~~~~~~
|
~~~~~~
|
||||||
@ -465,14 +484,14 @@ Then configure GNSS-SDR to build the `Fmcomms2_Signal_Source` implementation:
|
|||||||
|
|
||||||
~~~~~~
|
~~~~~~
|
||||||
$ cd gnss-sdr/build
|
$ cd gnss-sdr/build
|
||||||
$ cmake -DENABLE_FMCOMMS2=ON ../
|
$ cmake -DENABLE_FMCOMMS2=ON ..
|
||||||
$ make
|
$ make
|
||||||
$ sudo make install
|
$ sudo make install
|
||||||
~~~~~~
|
~~~~~~
|
||||||
|
|
||||||
or configure it to build `Plutosdr_Signal_Source`:
|
or configure it to build `Plutosdr_Signal_Source`:
|
||||||
~~~~~~
|
~~~~~~
|
||||||
$ cmake -DENABLE_PLUTOSDR=ON ../
|
$ cmake -DENABLE_PLUTOSDR=ON ..
|
||||||
$ make
|
$ make
|
||||||
$ sudo make install
|
$ sudo make install
|
||||||
~~~~~~
|
~~~~~~
|
||||||
@ -484,7 +503,7 @@ With `Fmcomms2_Signal_Source` you can use any SDR hardware based on [FMCOMMS2](h
|
|||||||
In order to enable the building of blocks that use OpenCL, type:
|
In order to enable the building of blocks that use OpenCL, type:
|
||||||
|
|
||||||
~~~~~~
|
~~~~~~
|
||||||
$ cmake -DENABLE_OPENCL=ON ../
|
$ cmake -DENABLE_OPENCL=ON ..
|
||||||
$ make
|
$ make
|
||||||
$ sudo make install
|
$ sudo make install
|
||||||
~~~~~~
|
~~~~~~
|
||||||
@ -495,7 +514,7 @@ $ sudo make install
|
|||||||
In order to enable the building of blocks that use CUDA, NVIDIA's parallel programming model that enables graphics processing unit (GPU) acceleration for data-parallel computations, first you need to install the CUDA Toolkit from [NVIDIA Developers Download page](https://developer.nvidia.com/cuda-downloads "CUDA Downloads"). Make sure that the SDK samples build well. Then, build GNSS-SDR by doing:
|
In order to enable the building of blocks that use CUDA, NVIDIA's parallel programming model that enables graphics processing unit (GPU) acceleration for data-parallel computations, first you need to install the CUDA Toolkit from [NVIDIA Developers Download page](https://developer.nvidia.com/cuda-downloads "CUDA Downloads"). Make sure that the SDK samples build well. Then, build GNSS-SDR by doing:
|
||||||
|
|
||||||
~~~~~~
|
~~~~~~
|
||||||
$ cmake -DENABLE_CUDA=ON ../
|
$ cmake -DENABLE_CUDA=ON ..
|
||||||
$ make
|
$ make
|
||||||
$ sudo make install
|
$ sudo make install
|
||||||
~~~~~~
|
~~~~~~
|
||||||
@ -508,7 +527,7 @@ Of course, you will also need a GPU that [supports CUDA](https://developer.nvidi
|
|||||||
In order to build an executable that not depends on the specific SIMD instruction set that is present in the processor of the compiling machine, so other users can execute it in other machines without those particular sets, use:
|
In order to build an executable that not depends on the specific SIMD instruction set that is present in the processor of the compiling machine, so other users can execute it in other machines without those particular sets, use:
|
||||||
|
|
||||||
~~~~~~
|
~~~~~~
|
||||||
$ cmake -DENABLE_GENERIC_ARCH=ON ../
|
$ cmake -DENABLE_GENERIC_ARCH=ON ..
|
||||||
$ make
|
$ make
|
||||||
$ sudo make install
|
$ sudo make install
|
||||||
~~~~~~
|
~~~~~~
|
||||||
@ -544,16 +563,16 @@ In a terminal, type:
|
|||||||
~~~~~~
|
~~~~~~
|
||||||
$ sudo port selfupdate
|
$ sudo port selfupdate
|
||||||
$ sudo port upgrade outdated
|
$ sudo port upgrade outdated
|
||||||
$ sudo port install doxygen +docs
|
|
||||||
$ sudo port install gnuradio
|
$ sudo port install gnuradio
|
||||||
$ sudo port install lapack
|
$ sudo port install lapack
|
||||||
$ sudo port install armadillo
|
$ sudo port install armadillo
|
||||||
$ sudo port install gnutls
|
$ sudo port install gnutls
|
||||||
$ sudo port install google-glog +gflags
|
$ sudo port install google-glog +gflags
|
||||||
$ sudo port install py27-mako
|
|
||||||
$ sudo port install py27-six
|
|
||||||
$ sudo port install matio
|
$ sudo port install matio
|
||||||
$ sudo port install pugixml
|
$ sudo port install pugixml
|
||||||
|
$ sudo port install py27-mako
|
||||||
|
$ sudo port install py27-six
|
||||||
|
$ sudo port install doxygen +docs
|
||||||
~~~~~~
|
~~~~~~
|
||||||
|
|
||||||
You also might need to activate a Python installation. The list of installed versions can be retrieved with:
|
You also might need to activate a Python installation. The list of installed versions can be retrieved with:
|
||||||
@ -590,23 +609,18 @@ Install the required dependencies:
|
|||||||
$ brew install cmake
|
$ brew install cmake
|
||||||
$ brew install hdf5
|
$ brew install hdf5
|
||||||
$ brew install lapack
|
$ brew install lapack
|
||||||
$ brew install arpack superlu armadillo
|
$ brew install armadillo
|
||||||
$ brew install glog gflags
|
$ brew install gflags
|
||||||
|
$ brew install glog
|
||||||
$ brew install gnuradio
|
$ brew install gnuradio
|
||||||
$ brew install libmatio
|
$ brew install libmatio
|
||||||
$ brew install log4cpp
|
$ brew install log4cpp
|
||||||
|
$ brew install openssl
|
||||||
$ brew install pugixml
|
$ brew install pugixml
|
||||||
$ pip install mako
|
$ pip install mako
|
||||||
$ pip install six
|
$ pip install six
|
||||||
$ brew install openssl
|
|
||||||
~~~~~~
|
~~~~~~
|
||||||
|
|
||||||
In the last step, Homebrew installs OpenSSL but it does not link it to `/usr/local`. Thus, you must manually link it instead:
|
|
||||||
|
|
||||||
~~~~~~
|
|
||||||
$ ln -s /usr/local/opt/openssl/include/openssl /usr/local/include
|
|
||||||
$ ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib/
|
|
||||||
~~~~~~
|
|
||||||
|
|
||||||
|
|
||||||
#### Build GNSS-SDR
|
#### Build GNSS-SDR
|
||||||
@ -616,7 +630,7 @@ Finally, you are ready to clone the GNSS-SDR repository, configure and build the
|
|||||||
~~~~~~
|
~~~~~~
|
||||||
$ git clone https://github.com/gnss-sdr/gnss-sdr
|
$ git clone https://github.com/gnss-sdr/gnss-sdr
|
||||||
$ cd gnss-sdr/build
|
$ cd gnss-sdr/build
|
||||||
$ cmake ../
|
$ cmake ..
|
||||||
$ make
|
$ make
|
||||||
~~~~~~
|
~~~~~~
|
||||||
|
|
||||||
@ -647,18 +661,18 @@ GNSS-SDR comes with a library which is a module of the Vector-Optimized Library
|
|||||||
GNU Radio and other dependencies can also be installed using other package managers than Macports, such as [Fink](http://www.finkproject.org/ "Fink") or [Homebrew](https://brew.sh/ "Homebrew"). Since the version of Python that ships with OS X is great for learning but it is not good for development, you could have another Python executable in a non-standard location. If that is the case, you need to inform GNSS-SDR's configuration system by defining the `PYTHON_EXECUTABLE` variable as:
|
GNU Radio and other dependencies can also be installed using other package managers than Macports, such as [Fink](http://www.finkproject.org/ "Fink") or [Homebrew](https://brew.sh/ "Homebrew"). Since the version of Python that ships with OS X is great for learning but it is not good for development, you could have another Python executable in a non-standard location. If that is the case, you need to inform GNSS-SDR's configuration system by defining the `PYTHON_EXECUTABLE` variable as:
|
||||||
|
|
||||||
~~~~~~
|
~~~~~~
|
||||||
cmake -DPYTHON_EXECUTABLE=/path/to/bin/python ../
|
cmake -DPYTHON_EXECUTABLE=/path/to/bin/python ..
|
||||||
~~~~~~
|
~~~~~~
|
||||||
|
|
||||||
In case you have installed Macports in a non-standard location, you can use:
|
In case you have installed Macports in a non-standard location, you can use:
|
||||||
|
|
||||||
~~~~~~
|
~~~~~~
|
||||||
$ cmake -DCMAKE_PREFIX_PATH=/opt/local -DUSE_MACPORTS_PYTHON=/opt/local/bin/python ../
|
$ cmake -DCMAKE_PREFIX_PATH=/opt/local -DUSE_MACPORTS_PYTHON=/opt/local/bin/python ..
|
||||||
~~~~~~
|
~~~~~~
|
||||||
|
|
||||||
changing ```/opt/local``` by the base directory in which your software is installed.
|
changing ```/opt/local``` by the base directory in which your software is installed.
|
||||||
|
|
||||||
The CMake script will create Makefiles that download, build and link Armadillo, Gflags, Glog and Google Test on the fly at compile time if they are not detected in your machine.
|
The CMake script will create Makefiles that download, build and link Armadillo, Gflags, Glog, Matio, PugiXML and Google Test on the fly at compile time if they are not detected in your machine.
|
||||||
|
|
||||||
|
|
||||||
Other builds
|
Other builds
|
||||||
|
@ -8,10 +8,18 @@
|
|||||||
|
|
||||||
### Improvements in Efficiency
|
### Improvements in Efficiency
|
||||||
|
|
||||||
- Improved preamble detection implementation in the decoding of navigation messages (acceleration by x1.6 on average).
|
- Improved preamble detection implementation in the decoding of navigation messages (acceleration by x1.6 on average per channel).
|
||||||
|
- Shortened Acquisition to Tracking transition time.
|
||||||
- Applied clang-tidy checks and fixes related to performance: performance-faster-string-find, performance-inefficient-algorithm, performance-move-const-arg, performance-type-promotion-in-math-fn, performance-unnecessary-copy-initialization, performance-unnecessary-value-param, readability-string-compare.
|
- Applied clang-tidy checks and fixes related to performance: performance-faster-string-find, performance-inefficient-algorithm, performance-move-const-arg, performance-type-promotion-in-math-fn, performance-unnecessary-copy-initialization, performance-unnecessary-value-param, readability-string-compare.
|
||||||
|
|
||||||
|
|
||||||
|
### Improvements in Flexibility:
|
||||||
|
|
||||||
|
- New Tracking parameters allow the configuration of PLL and DLL filters order.
|
||||||
|
- Added parameter to enable FLL during pull-in time.
|
||||||
|
- Configurable pull-in time in the Tracking loops.
|
||||||
|
|
||||||
|
|
||||||
### Improvements in Interoperability:
|
### Improvements in Interoperability:
|
||||||
|
|
||||||
- Added the BeiDou B1I receiver chain.
|
- Added the BeiDou B1I receiver chain.
|
||||||
@ -30,7 +38,8 @@
|
|||||||
### Improvements in Portability:
|
### Improvements in Portability:
|
||||||
|
|
||||||
- Added interfaces for FPGA off-loading.
|
- Added interfaces for FPGA off-loading.
|
||||||
- CMake scripts now follow a modern approach (targets and properties) but still work in 2.8.12
|
- CMake scripts now follow a modern approach (targets and properties) but still work with 2.8.12.
|
||||||
|
- Improvements for macOS users using Homebrew.
|
||||||
|
|
||||||
|
|
||||||
### Improvements in Reliability
|
### Improvements in Reliability
|
||||||
|
@ -102,9 +102,9 @@ static inline void volk_gnsssdr_32fc_32f_high_dynamic_rotator_dot_prod_32fc_xn_g
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
tmp32_1 = *in_common++ * (*phase);
|
tmp32_1 = *in_common++ * (*phase);
|
||||||
|
|
||||||
phase_doppler *= phase_inc;
|
phase_doppler *= phase_inc;
|
||||||
phase_doppler_rate = cpowf(phase_inc_rate, lv_cmake(n * n, 0.0f));
|
phase_doppler_rate = cpowf(phase_inc_rate, lv_cmake(n * n, 0.0f));
|
||||||
|
phase_doppler_rate /= hypotf(lv_creal(phase_doppler_rate), lv_cimag(phase_doppler_rate));
|
||||||
(*phase) = phase_doppler * phase_doppler_rate;
|
(*phase) = phase_doppler * phase_doppler_rate;
|
||||||
|
|
||||||
for (n_vec = 0; n_vec < num_a_vectors; n_vec++)
|
for (n_vec = 0; n_vec < num_a_vectors; n_vec++)
|
||||||
@ -117,11 +117,13 @@ static inline void volk_gnsssdr_32fc_32f_high_dynamic_rotator_dot_prod_32fc_xn_g
|
|||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_GENERIC
|
#ifdef LV_HAVE_GENERIC
|
||||||
static inline void volk_gnsssdr_32fc_32f_high_dynamic_rotator_dot_prod_32fc_xn_generic_acc(lv_32fc_t* result, const lv_32fc_t* in_common, const lv_32fc_t phase_inc, const lv_32fc_t phase_inc_rate, lv_32fc_t* phase, const float** in_a, int num_a_vectors, unsigned int num_points)
|
static inline void volk_gnsssdr_32fc_32f_high_dynamic_rotator_dot_prod_32fc_xn_generic_arg(lv_32fc_t* result, const lv_32fc_t* in_common, const lv_32fc_t phase_inc, const lv_32fc_t phase_inc_rate, lv_32fc_t* phase, const float** in_a, int num_a_vectors, unsigned int num_points)
|
||||||
{
|
{
|
||||||
lv_32fc_t tmp32_1 = lv_cmake(0.0f, 0.0f);
|
lv_32fc_t tmp32_1;
|
||||||
lv_32fc_t phase_rate_acc = lv_cmake(1.0f, 0.0f);
|
lv_32fc_t phase_doppler_rate = lv_cmake(1.0f, 0.0f);
|
||||||
|
lv_32fc_t phase_doppler = (*phase);
|
||||||
int n_vec;
|
int n_vec;
|
||||||
|
const float arga = cargf(phase_inc_rate);
|
||||||
unsigned int n;
|
unsigned int n;
|
||||||
for (n_vec = 0; n_vec < num_a_vectors; n_vec++)
|
for (n_vec = 0; n_vec < num_a_vectors; n_vec++)
|
||||||
{
|
{
|
||||||
@ -138,8 +140,12 @@ static inline void volk_gnsssdr_32fc_32f_high_dynamic_rotator_dot_prod_32fc_xn_g
|
|||||||
(*phase) /= hypotf(lv_creal(*phase), lv_cimag(*phase));
|
(*phase) /= hypotf(lv_creal(*phase), lv_cimag(*phase));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
phase_rate_acc += phase_inc_rate;
|
tmp32_1 = *in_common++ * (*phase);
|
||||||
(*phase) *= lv_cmake(cosf(phase_rate_acc), sinf(phase_rate_acc));
|
phase_doppler *= phase_inc;
|
||||||
|
const float theta = (float)(n * n) * arga;
|
||||||
|
phase_doppler_rate = lv_cmake(cosf(theta), sinf(theta));
|
||||||
|
(*phase) = phase_doppler * phase_doppler_rate;
|
||||||
|
|
||||||
for (n_vec = 0; n_vec < num_a_vectors; n_vec++)
|
for (n_vec = 0; n_vec < num_a_vectors; n_vec++)
|
||||||
{
|
{
|
||||||
result[n_vec] += (tmp32_1 * in_a[n_vec][n]);
|
result[n_vec] += (tmp32_1 * in_a[n_vec][n]);
|
||||||
|
@ -49,11 +49,11 @@ static inline void volk_gnsssdr_32fc_32f_high_dynamic_rotator_dotprodxnpuppet_32
|
|||||||
float rem_carrier_phase_in_rad = 0.25;
|
float rem_carrier_phase_in_rad = 0.25;
|
||||||
float phase_step_rad = 0.1;
|
float phase_step_rad = 0.1;
|
||||||
lv_32fc_t phase[1];
|
lv_32fc_t phase[1];
|
||||||
phase[0] = lv_cmake(cos(rem_carrier_phase_in_rad), sin(rem_carrier_phase_in_rad));
|
phase[0] = lv_cmake(cosf(rem_carrier_phase_in_rad), sinf(rem_carrier_phase_in_rad));
|
||||||
lv_32fc_t phase_inc[1];
|
lv_32fc_t phase_inc[1];
|
||||||
phase_inc[0] = lv_cmake(cos(phase_step_rad), sin(phase_step_rad));
|
phase_inc[0] = lv_cmake(cosf(phase_step_rad), sinf(phase_step_rad));
|
||||||
lv_32fc_t phase_inc_rate[1];
|
lv_32fc_t phase_inc_rate[1];
|
||||||
phase_inc_rate[0] = lv_cmake(cos(phase_step_rad * 0.001), sin(phase_step_rad * 0.001));
|
phase_inc_rate[0] = lv_cmake(cosf(phase_step_rad * 0.001), sinf(phase_step_rad * 0.001));
|
||||||
int n;
|
int n;
|
||||||
int num_a_vectors = 3;
|
int num_a_vectors = 3;
|
||||||
float** in_a = (float**)volk_gnsssdr_malloc(sizeof(float*) * num_a_vectors, volk_gnsssdr_get_alignment());
|
float** in_a = (float**)volk_gnsssdr_malloc(sizeof(float*) * num_a_vectors, volk_gnsssdr_get_alignment());
|
||||||
@ -74,17 +74,17 @@ static inline void volk_gnsssdr_32fc_32f_high_dynamic_rotator_dotprodxnpuppet_32
|
|||||||
#endif // Generic
|
#endif // Generic
|
||||||
|
|
||||||
#ifdef LV_HAVE_GENERIC
|
#ifdef LV_HAVE_GENERIC
|
||||||
static inline void volk_gnsssdr_32fc_32f_high_dynamic_rotator_dotprodxnpuppet_32fc_generic_acc(lv_32fc_t* result, const lv_32fc_t* local_code, const float* in, unsigned int num_points)
|
static inline void volk_gnsssdr_32fc_32f_high_dynamic_rotator_dotprodxnpuppet_32fc_generic_arg(lv_32fc_t* result, const lv_32fc_t* local_code, const float* in, unsigned int num_points)
|
||||||
{
|
{
|
||||||
// phases must be normalized. Phase rotator expects a complex exponential input!
|
// phases must be normalized. Phase rotator expects a complex exponential input!
|
||||||
float rem_carrier_phase_in_rad = 0.25;
|
float rem_carrier_phase_in_rad = 0.25;
|
||||||
float phase_step_rad = 0.1;
|
float phase_step_rad = 0.1;
|
||||||
lv_32fc_t phase[1];
|
lv_32fc_t phase[1];
|
||||||
phase[0] = lv_cmake(cos(rem_carrier_phase_in_rad), sin(rem_carrier_phase_in_rad));
|
phase[0] = lv_cmake(cosf(rem_carrier_phase_in_rad), sinf(rem_carrier_phase_in_rad));
|
||||||
lv_32fc_t phase_inc[1];
|
lv_32fc_t phase_inc[1];
|
||||||
phase_inc[0] = lv_cmake(cos(phase_step_rad), sin(phase_step_rad));
|
phase_inc[0] = lv_cmake(cosf(phase_step_rad), sinf(phase_step_rad));
|
||||||
lv_32fc_t phase_inc_rate[1];
|
lv_32fc_t phase_inc_rate[1];
|
||||||
phase_inc_rate[0] = lv_cmake(cos(phase_step_rad * 0.001), sin(phase_step_rad * 0.001));
|
phase_inc_rate[0] = lv_cmake(cosf(phase_step_rad * 0.001), sinf(phase_step_rad * 0.001));
|
||||||
int n;
|
int n;
|
||||||
int num_a_vectors = 3;
|
int num_a_vectors = 3;
|
||||||
float** in_a = (float**)volk_gnsssdr_malloc(sizeof(float*) * num_a_vectors, volk_gnsssdr_get_alignment());
|
float** in_a = (float**)volk_gnsssdr_malloc(sizeof(float*) * num_a_vectors, volk_gnsssdr_get_alignment());
|
||||||
@ -94,7 +94,7 @@ static inline void volk_gnsssdr_32fc_32f_high_dynamic_rotator_dotprodxnpuppet_32
|
|||||||
memcpy((float*)in_a[n], (float*)in, sizeof(float) * num_points);
|
memcpy((float*)in_a[n], (float*)in, sizeof(float) * num_points);
|
||||||
}
|
}
|
||||||
|
|
||||||
volk_gnsssdr_32fc_32f_high_dynamic_rotator_dot_prod_32fc_xn_generic_acc(result, local_code, phase_inc[0], phase_inc_rate[0], phase, (const float**)in_a, num_a_vectors, num_points);
|
volk_gnsssdr_32fc_32f_high_dynamic_rotator_dot_prod_32fc_xn_generic_arg(result, local_code, phase_inc[0], phase_inc_rate[0], phase, (const float**)in_a, num_a_vectors, num_points);
|
||||||
|
|
||||||
for (n = 0; n < num_a_vectors; n++)
|
for (n = 0; n < num_a_vectors; n++)
|
||||||
{
|
{
|
||||||
|
@ -313,7 +313,7 @@ static inline void volk_gnsssdr_32fc_32f_rotator_dot_prod_32fc_xn_u_avx(lv_32fc_
|
|||||||
number = sixteenthPoints * 16;
|
number = sixteenthPoints * 16;
|
||||||
for (; number < num_points; number++)
|
for (; number < num_points; number++)
|
||||||
{
|
{
|
||||||
wo = (*aPtr++) * _phase;
|
wo = in_common[number] * _phase;
|
||||||
_phase *= phase_inc;
|
_phase *= phase_inc;
|
||||||
|
|
||||||
for (vec_ind = 0; vec_ind < num_a_vectors; ++vec_ind)
|
for (vec_ind = 0; vec_ind < num_a_vectors; ++vec_ind)
|
||||||
@ -477,7 +477,7 @@ static inline void volk_gnsssdr_32fc_32f_rotator_dot_prod_32fc_xn_a_avx(lv_32fc_
|
|||||||
number = sixteenthPoints * 16;
|
number = sixteenthPoints * 16;
|
||||||
for (; number < num_points; number++)
|
for (; number < num_points; number++)
|
||||||
{
|
{
|
||||||
wo = (*aPtr++) * _phase;
|
wo = in_common[number] * _phase;
|
||||||
_phase *= phase_inc;
|
_phase *= phase_inc;
|
||||||
|
|
||||||
for (vec_ind = 0; vec_ind < num_a_vectors; ++vec_ind)
|
for (vec_ind = 0; vec_ind < num_a_vectors; ++vec_ind)
|
||||||
|
@ -97,9 +97,9 @@ std::vector<volk_gnsssdr_test_case_t> init_test_list(volk_gnsssdr_test_params_t
|
|||||||
QA(VOLK_INIT_PUPP(volk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic, volk_gnsssdr_16ic_x2_dot_prod_16ic_xn, test_params))
|
QA(VOLK_INIT_PUPP(volk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic, volk_gnsssdr_16ic_x2_dot_prod_16ic_xn, test_params))
|
||||||
QA(VOLK_INIT_PUPP(volk_gnsssdr_16ic_x2_rotator_dotprodxnpuppet_16ic, volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn, test_params_int16))
|
QA(VOLK_INIT_PUPP(volk_gnsssdr_16ic_x2_rotator_dotprodxnpuppet_16ic, volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn, test_params_int16))
|
||||||
QA(VOLK_INIT_PUPP(volk_gnsssdr_16ic_16i_rotator_dotprodxnpuppet_16ic, volk_gnsssdr_16ic_16i_rotator_dot_prod_16ic_xn, test_params_int16))
|
QA(VOLK_INIT_PUPP(volk_gnsssdr_16ic_16i_rotator_dotprodxnpuppet_16ic, volk_gnsssdr_16ic_16i_rotator_dot_prod_16ic_xn, test_params_int16))
|
||||||
QA(VOLK_INIT_PUPP(volk_gnsssdr_32fc_x2_rotator_dotprodxnpuppet_32fc, volk_gnsssdr_32fc_x2_rotator_dot_prod_32fc_xn, test_params_int1))
|
QA(VOLK_INIT_PUPP(volk_gnsssdr_32fc_x2_rotator_dotprodxnpuppet_32fc, volk_gnsssdr_32fc_x2_rotator_dot_prod_32fc_xn, test_params_inacc))
|
||||||
QA(VOLK_INIT_PUPP(volk_gnsssdr_32fc_32f_rotator_dotprodxnpuppet_32fc, volk_gnsssdr_32fc_32f_rotator_dot_prod_32fc_xn, test_params_int1));
|
QA(VOLK_INIT_PUPP(volk_gnsssdr_32fc_32f_rotator_dotprodxnpuppet_32fc, volk_gnsssdr_32fc_32f_rotator_dot_prod_32fc_xn, test_params_inacc));
|
||||||
QA(VOLK_INIT_PUPP(volk_gnsssdr_32fc_32f_high_dynamic_rotator_dotprodxnpuppet_32fc, volk_gnsssdr_32fc_32f_high_dynamic_rotator_dot_prod_32fc_xn, test_params_int1));
|
QA(VOLK_INIT_PUPP(volk_gnsssdr_32fc_32f_high_dynamic_rotator_dotprodxnpuppet_32fc, volk_gnsssdr_32fc_32f_high_dynamic_rotator_dot_prod_32fc_xn, test_params_inacc));
|
||||||
|
|
||||||
return test_cases;
|
return test_cases;
|
||||||
}
|
}
|
||||||
|
@ -32,7 +32,7 @@ if(ENABLE_PLUTOSDR OR ENABLE_FMCOMMS2)
|
|||||||
message(STATUS " * libiio from https://github.com/analogdevicesinc/libiio")
|
message(STATUS " * libiio from https://github.com/analogdevicesinc/libiio")
|
||||||
message(STATUS " * libad9361-iio from https://github.com/analogdevicesinc/libad9361-iio")
|
message(STATUS " * libad9361-iio from https://github.com/analogdevicesinc/libad9361-iio")
|
||||||
message(STATUS " * gnuradio-iio from https://github.com/analogdevicesinc/gr-iio")
|
message(STATUS " * gnuradio-iio from https://github.com/analogdevicesinc/gr-iio")
|
||||||
message(FATAL_ERROR "gnuradio-iio is required for building gnss-sdr with this option enabled.")
|
message(FATAL_ERROR "gnuradio-iio is required for building gnss-sdr with -DENABLE_PLUTOSDR=ON or -DENABLE_FMCOMMS2=ON.")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -44,7 +44,7 @@ if(ENABLE_AD9361)
|
|||||||
message(STATUS " * libiio from https://github.com/analogdevicesinc/libiio")
|
message(STATUS " * libiio from https://github.com/analogdevicesinc/libiio")
|
||||||
message(STATUS " * libad9361-iio from https://github.com/analogdevicesinc/libad9361-iio")
|
message(STATUS " * libad9361-iio from https://github.com/analogdevicesinc/libad9361-iio")
|
||||||
message(STATUS " * gnuradio-iio from https://github.com/analogdevicesinc/gr-iio")
|
message(STATUS " * gnuradio-iio from https://github.com/analogdevicesinc/gr-iio")
|
||||||
message(FATAL_ERROR "libiio is required for building gnss-sdr with this option enabled.")
|
message(FATAL_ERROR "libiio is required for building gnss-sdr with -DENABLE_AD9361=ON.")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -53,33 +53,27 @@ if(ENABLE_PLUTOSDR)
|
|||||||
##############################################
|
##############################################
|
||||||
# ADALM-PLUTO (Analog Devices Inc.)
|
# ADALM-PLUTO (Analog Devices Inc.)
|
||||||
##############################################
|
##############################################
|
||||||
if(GRIIO_FOUND)
|
|
||||||
set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} plutosdr_signal_source.cc)
|
set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} plutosdr_signal_source.cc)
|
||||||
set(OPT_DRIVER_HEADERS ${OPT_DRIVER_HEADERS} plutosdr_signal_source.h)
|
set(OPT_DRIVER_HEADERS ${OPT_DRIVER_HEADERS} plutosdr_signal_source.h)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
if(ENABLE_FMCOMMS2)
|
if(ENABLE_FMCOMMS2)
|
||||||
###############################################
|
###############################################
|
||||||
# FMCOMMS2 based SDR Hardware
|
# FMCOMMS2 based SDR Hardware
|
||||||
###############################################
|
###############################################
|
||||||
if(GRIIO_FOUND)
|
|
||||||
set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} fmcomms2_signal_source.cc)
|
set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} fmcomms2_signal_source.cc)
|
||||||
set(OPT_DRIVER_HEADERS ${OPT_DRIVER_HEADERS} fmcomms2_signal_source.h)
|
set(OPT_DRIVER_HEADERS ${OPT_DRIVER_HEADERS} fmcomms2_signal_source.h)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
if(ENABLE_AD9361)
|
if(ENABLE_AD9361)
|
||||||
###############################################
|
###############################################
|
||||||
# AD9361 DIRECT TO FPGA Hardware
|
# AD9361 DIRECT TO FPGA Hardware
|
||||||
###############################################
|
###############################################
|
||||||
if(LIBIIO_FOUND)
|
|
||||||
set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} ad9361_fpga_signal_source.cc)
|
set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} ad9361_fpga_signal_source.cc)
|
||||||
set(OPT_DRIVER_HEADERS ${OPT_DRIVER_HEADERS} ad9361_fpga_signal_source.h)
|
set(OPT_DRIVER_HEADERS ${OPT_DRIVER_HEADERS} ad9361_fpga_signal_source.h)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
if(ENABLE_GN3S)
|
if(ENABLE_GN3S)
|
||||||
@ -120,18 +114,14 @@ if(ENABLE_OSMOSDR)
|
|||||||
################################################################################
|
################################################################################
|
||||||
# OsmoSDR - http://sdr.osmocom.org/trac/
|
# OsmoSDR - http://sdr.osmocom.org/trac/
|
||||||
################################################################################
|
################################################################################
|
||||||
if(NOT GROSMOSDR_FOUND)
|
if(GROSMOSDR_FOUND)
|
||||||
if(ENABLE_PACKAGING)
|
|
||||||
list(REMOVE_ITEM SIGNAL_SOURCE_ADAPTER_HEADERS ${CMAKE_SOURCE_DIR}/src/algorithms/signal_source/adapters/osmosdr_signal_source.h)
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} osmosdr_signal_source.cc)
|
set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} osmosdr_signal_source.cc)
|
||||||
set(OPT_DRIVER_HEADERS ${OPT_DRIVER_HEADERS} osmosdr_signal_source.h)
|
set(OPT_DRIVER_HEADERS ${OPT_DRIVER_HEADERS} osmosdr_signal_source.h)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
if(ENABLE_UHD AND GNURADIO_UHD_LIBRARIES_gnuradio-uhd)
|
if(ENABLE_UHD)
|
||||||
set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} uhd_signal_source.cc)
|
set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} uhd_signal_source.cc)
|
||||||
set(OPT_DRIVER_HEADERS ${OPT_DRIVER_HEADERS} uhd_signal_source.h)
|
set(OPT_DRIVER_HEADERS ${OPT_DRIVER_HEADERS} uhd_signal_source.h)
|
||||||
endif()
|
endif()
|
||||||
@ -162,10 +152,12 @@ set(SIGNAL_SOURCE_ADAPTER_HEADERS
|
|||||||
if(PC_GNURADIO_RUNTIME_VERSION VERSION_GREATER 3.7.3)
|
if(PC_GNURADIO_RUNTIME_VERSION VERSION_GREATER 3.7.3)
|
||||||
set(SIGNAL_SOURCE_ADAPTER_SOURCES ${SIGNAL_SOURCE_ADAPTER_SOURCES}
|
set(SIGNAL_SOURCE_ADAPTER_SOURCES ${SIGNAL_SOURCE_ADAPTER_SOURCES}
|
||||||
two_bit_cpx_file_signal_source.cc
|
two_bit_cpx_file_signal_source.cc
|
||||||
two_bit_packed_file_signal_source.cc)
|
two_bit_packed_file_signal_source.cc
|
||||||
|
)
|
||||||
set(SIGNAL_SOURCE_ADAPTER_HEADERS ${SIGNAL_SOURCE_ADAPTER_HEADERS}
|
set(SIGNAL_SOURCE_ADAPTER_HEADERS ${SIGNAL_SOURCE_ADAPTER_HEADERS}
|
||||||
two_bit_cpx_file_signal_source.h
|
two_bit_cpx_file_signal_source.h
|
||||||
two_bit_packed_file_signal_source.h)
|
two_bit_packed_file_signal_source.h
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
list(SORT SIGNAL_SOURCE_ADAPTER_HEADERS)
|
list(SORT SIGNAL_SOURCE_ADAPTER_HEADERS)
|
||||||
@ -205,7 +197,7 @@ if(ENABLE_RAW_UDP AND PCAP_FOUND)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(ENABLE_UHD AND GNURADIO_UHD_LIBRARIES_gnuradio-uhd)
|
if(ENABLE_UHD)
|
||||||
target_link_libraries(signal_source_adapters
|
target_link_libraries(signal_source_adapters
|
||||||
PUBLIC
|
PUBLIC
|
||||||
Gnuradio::uhd
|
Gnuradio::uhd
|
||||||
|
Loading…
Reference in New Issue
Block a user