-
Notifications
You must be signed in to change notification settings - Fork 185
BuildGuide
Build guide table of contents
The main SoapySDR library really only requires CMake and a compiler. Additional components require additional dependencies. If those dependencies are not available, the component does not build.
- CMake
- C++ compiler
Optional depedencies
- Boost for OsmoSDR devices support
- Boost and UHD for UHD device support
- Python dev and SWIG for python bindings
- Numpy recommended for python bindings
Note: The OsmoSDR support module builds against low-level vendor libraries, which must be installed prior. Checkout the GrOsmoSDR wiki page for a list of vendor libraries: http://sdr.osmocom.org/trac/wiki/GrOsmoSDR
Recommended apt-get install instructions for Ubuntu:
sudo apt-get install \ cmake g++ \ libpython-dev python-numpy swig \ libboost-all-dev
- CMake - http://www.cmake.org/cmake/resources/software.html
- Visual studio 2010 or later
Optional dependencies based on your needs:
- Python (2.7 and up) - https://www.python.org/downloads/windows/
- Numpy (must match python version) - http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
- Swigwin - http://www.swig.org/download.html
git clone https://github.com/pothosware/SoapySDR.git cd SoapySDR git submodule init #needed for osmo and uhd support git submodule update -- UPDATING FROM EXISTING CHECKOUT -- cd SoapySDR git pull origin master git submodule update
mkdir build cd build cmake .. make -j4 sudo make install sudo ldconfig #needed on debian systems SoapySDRUtil --info
The first step is to configure the project with CMake. This can be done with the cmake command line utility, however we will discuss configuring using the graphical CMake application. Launch CMake from the start menu, specify the source directory and choose a location for the binaries. Click configure and select the correct version of the visual studio compiler.
The project should complete configuration successfully. However you will notice a lot of verbose concerning other libraries and dependencies. These are optional dependencies based on the user's needs. If you are interested in a particular component, you must tell CMake how to find the libraries and headers for its dependencies. When finished configuring optional components, click generate. Visual studio project files will be generated.
The next step is to build and install the generated project. The project can be built in a variety of ways, using MSBuild and opening the project in the Visual studio environment. In this tutorial, we will invoke cmake within a Visual studio terminal to build and install the project.
Find the shortcut to the Visual studio cross tools command prompt and execute the following commands:
cmake --build my_build_dir --config Release cmake --build my_build_dir --config Release --target install
After installation, complete the setup by adding Soapy SDR to the system path, and invoke the command line utility for a quick sanity check.
- add C:\Program Files\SoapySDR\bin to the %PATH%
- open cmd and run SoapySDRUtil.exe --info
The SoapySDR library needs to know its installation path. The library is compiled with the CMAKE_INSTALL_PREFIX as the default search path for modules. However, if the library is installed to a different location other than the one it was configured with, the SOAPY_SDR_ROOT environment variable can be set to reflect the new installation path.
- FAQ
- Build guide
- Driver guide
- SoapySDR header files
- Doxygen documentation
- Python binding support
- LuaJIT binding support
- .NET binding support
- GO binding support
- Rust binding support
- Julia binding support
- Pothos SDR Tutorial
- Help and support
- Pothos users' group
- Twitter @pothosware
- IRC chat #pothos
- Slack workspace
- Contract services
- Developer blog
- Contributing
- Donate
- Example support
- Remote access
- Multi device
- Device sharing
- SIMD converters
- Audio devices
- Osmo support
- NovenaRF support
- EVB7 support
- UHD support
- Blade RF support
- Hack RF support
- RTL-SDR support
- SDR Play support
- Radioberry support
- Red Pitaya support
- Lime Suite support
- Airspy support
- Airspy HF+ support
- PlutoSDR support
- Skylark Iris module
- Funcube Dongle Pro+
- IC-R8600 Receiver
- Epiq Sidekiq
- NetSDR support
- XTRX support
- RTL TCP support
- SpyServer support
- Afedri support
- Pothos SDR
- Cubic SDR
- Rx Tools
- LuaRadio
- GNURadio blocks
- Osmocom blocks
- QSpectrumAnalyzer
- RTL433 project
- Welle.io DAB/DAB+
- SDRangel analyzer
- RTLSDR-Airband
- HABDEC RTTY decoder
- LinHPSDR receiver
- HackTV transmitter
- ODR-DabMod
- QUISK SDR
- SigDigger
- Suscan
- SdrGlut
- QRadioLink
- OpenWebRX
- SDR++
- Seify
- Abraca DAB radio