From cf4b90f3ae0a392e0cd5a037c4d3eb5e7f2d8ae3 Mon Sep 17 00:00:00 2001 From: f4exb Date: Wed, 2 Jan 2019 21:33:45 +0100 Subject: [PATCH] cmake files cleanup and build simplification --- Readme.md | 43 ++++++++++++------- cmake/Modules/FindCM256.cmake | 37 ---------------- cmake/Modules/FindCM256cc.cmake | 25 ++++++----- cmake/Modules/FindGruel.cmake | 29 ------------- cmake/Modules/FindJRTPLib.cmake | 39 ----------------- cmake/Modules/FindLibAIRSPY.cmake | 23 +++++----- cmake/Modules/FindLibAIRSPYHF.cmake | 23 +++++----- cmake/Modules/FindLibBLADERF.cmake | 23 +++++----- cmake/Modules/FindLibDSDcc.cmake | 28 ++++++------ cmake/Modules/FindLibHACKRF.cmake | 23 +++++----- cmake/Modules/FindLibIIO.cmake | 23 +++++----- cmake/Modules/FindLibMbe.cmake | 41 +++++++++++------- cmake/Modules/FindLibMiriSDR.cmake | 23 +++++----- cmake/Modules/FindLibPerseus.cmake | 24 ++++++----- cmake/Modules/FindLibRTLSDR.cmake | 23 +++++----- cmake/Modules/FindLimeSuite.cmake | 29 +++++++------ cmake/Modules/FindSerialDV.cmake | 41 +++++++++++------- cmake/Modules/FindSoapySDR.cmake | 20 +++++---- plugins/channelrx/daemonsink/readme.md | 2 +- plugins/channelrx/demoddsd/readme.md | 6 +-- plugins/channeltx/daemonsource/readme.md | 2 +- plugins/samplesink/bladerf1output/readme.md | 2 +- plugins/samplesink/bladerf2output/readme.md | 2 +- plugins/samplesink/hackrfoutput/readme.md | 2 +- plugins/samplesink/limesdroutput/readme.md | 2 +- plugins/samplesink/plutosdroutput/readme.md | 2 +- plugins/samplesink/sdrdaemonsink/readme.md | 2 +- plugins/samplesource/CMakeLists.txt | 6 +-- plugins/samplesource/airspyhf/readme.md | 2 +- plugins/samplesource/bladerf1input/readme.md | 2 +- plugins/samplesource/bladerf2input/readme.md | 2 +- plugins/samplesource/hackrfinput/readme.md | 2 +- plugins/samplesource/limesdrinput/readme.md | 2 +- plugins/samplesource/perseus/readme.md | 2 +- plugins/samplesource/plutosdrinput/readme.md | 2 +- plugins/samplesource/rtlsdr/readme.md | 2 +- .../samplesource/sdrdaemonsource/readme.md | 2 +- plugins/samplesource/sdrplay/readme.md | 2 +- plugins/samplesource/xtrxinput/readme.md | 2 +- 39 files changed, 262 insertions(+), 305 deletions(-) delete mode 100644 cmake/Modules/FindCM256.cmake delete mode 100644 cmake/Modules/FindGruel.cmake delete mode 100644 cmake/Modules/FindJRTPLib.cmake diff --git a/Readme.md b/Readme.md index 39c9c1931..d0cadbd7a 100644 --- a/Readme.md +++ b/Readme.md @@ -81,7 +81,7 @@ In case you cannot see anything related to HDMI or your desired audio device in If you use your own location for libairspy install directory you need to specify library and include locations. Example with `/opt/install/libairspy` with the following defines on `cmake` command line: -`-DLIBAIRSPY_LIBRARIES=/opt/install/libairspy/lib/libairspy.so -DLIBAIRSPY_INCLUDE_DIR=/opt/install/libairspy/include` +`-DAIRSPY_DIR=/opt/install/libairspy` Please note that if you are using a recent version of libairspy (>= 1.0.6) the dynamic retrieval of sample rates is supported. To benefit from it you should modify the `plugins/samplesource/airspy/CMakeLists.txt` and change line `add_definitions(${QT_DEFINITIONS})` by `add_definitions("${QT_DEFINITIONS} -DLIBAIRSPY_DYN_RATES")`. In fact both lines are present with the last one commented out. @@ -93,7 +93,7 @@ Be also aware that the lower rates (2.5 MS/s or 5 MS/s with modified firmware) a If you use your own location for libairspyhf install directory you need to specify library and include locations. Example with `/opt/install/libairspyhf` with the following defines on `cmake` command line: -`-DLIBAIRSPYHF_LIBRARIES=/opt/install/libairspyhf/lib/libairspyhf.so -DLIBAIRSPYHF_INCLUDE_DIR=/opt/install/libairspyhf/include` +`-DAIRSPYHF_DIR=/opt/install/libairspyhf` It is recommended to add `-DRX_SAMPLE_24BIT=ON` on the cmake command line to activate the Rx 24 bit DSP build and take advantage of improved dynamic range when using decimation. @@ -105,7 +105,7 @@ It is recommended to add `-DRX_SAMPLE_24BIT=ON` on the cmake command line to act If you compile and use your own location for libbladeRF install directory you need to specify library and include locations. Example with `/opt/install/libbladerf` with the following defines on `cmake` command line: -`-DLIBBLADERF_LIBRARIES=/opt/install/libbladeRF/lib/libbladeRF.so -DLIBBLADERF_INCLUDE_DIR=/opt/install/libbladeRF/include` +`-DBLADERF_DIR=/opt/install/libbladeRF` ☞ Please note that if you use your own library the FPGA image `hostedx40.rbf` or `hostedx115.rbf` shoud be placed in e.g. `/opt/install/libbladeRF/share/Nuand/bladeRF` unless you have flashed the FPGA image inside the BladeRF. @@ -139,7 +139,7 @@ The Pro+ has trouble starting. The sound card interface is not recognized when y If you use your own location for libhackrf install directory you need to specify library and include locations. Example with `/opt/install/libhackrf` with the following defines on `cmake` command line: -`-DLIBHACKRF_LIBRARIES=/opt/install/libhackrf/lib/libhackrf.so -DLIBHACKRF_INCLUDE_DIR=/opt/install/libhackrf/include` +`-DHACKRF_DIR=/opt/install/libhackrf` HackRF is better used with a sampling rate of 4.8 MS/s and above. The 2.4 and 3.2 MS/s rates are considered experimental and are way out of specs of the ADC. You may or may not achieve acceptable results depending on the unit. A too low sampling rate will typically create ghost signals (images) and/or raise the noise floor. @@ -162,7 +162,7 @@ HackRF is better used with a sampling rate of 4.8 MS/s and above. The 2.4 and 3. Then add the following defines on `cmake` command line: -`-DLIMESUITE_INCLUDE_DIR=/opt/install/LimeSuite/include -DLIMESUITE_LIBRARY=/opt/install/LimeSuite/lib/libLimeSuite.so` +`-DLIMESUITE_DIR=/opt/install/LimeSuite/include`

Perseus

@@ -172,7 +172,7 @@ Linux only. Please note that the Perseus input plugin will be built only if the 24 bit Rx DSP chain is activated in the compilation with the `-DRX_SAMPLE_24BIT=ON` option on the cmake command line. -If you use your own location for libperseus-sdr install directory you need to specify library and include locations. Example with `/opt/install/libperseus` with the following defines on `cmake` command line: `-DLIBPERSEUS_INCLUDE_DIR=/opt/install/libperseus/include -DLIBPERSEUS_LIBRARIES=/opt/install/libperseus/lib/libperseus-sdr.so`. +If you use your own location for libperseus-sdr install directory you need to specify library and include locations. Example with `/opt/install/libperseus` with the following defines on `cmake` command line: `-DPERSEUS_DIR=/opt/install/libperseus/include`. ☞ From version 3.12.0 the Linux binaries are built with the 24 bit Rx option and Perseus input plugin. @@ -180,7 +180,7 @@ If you use your own location for libperseus-sdr install directory you need to sp [PlutoSDR](https://wiki.analog.com/university/tools/pluto) is supported with the libiio interface. This library should be installed in your system for proper build of the software and operation support. Add `libiio-dev` to the list of dependencies to install. Be aware that version 0.10 is needed and is not available yet in all distributions. You may have to compile it from source instead. -If you use your own location for libiio install directory you need to specify library and include locations. Example with `/opt/install/libiio` with the following defines on `cmake` command line: `-DLIBIIO_INCLUDE_DIR=/opt/install/libiio/include -DLIBIIO_LIBRARY=/opt/install/libiio/lib/libiio.so`. In openSUSE the lib directory path would be: `-DLIBIIO_LIBRARY=/opt/install/libiio/lib64/libiio.so`. +If you use your own location for libiio install directory you need to specify library and include locations. Example with `/opt/install/libiio` with the following defines on `cmake` command line: `-DIIO_DIR=/opt/install/libiio`.

RTL-SDR

@@ -188,7 +188,7 @@ RTL-SDR based dongles are supported through the librtlsdr library that should be If you use your own location for librtlsdr install directory you need to specify library and include locations. Example with `/opt/install/librtlsdr` with the following defines on `cmake` command line: -`-DLIBRTLSDR_LIBRARIES=/opt/install/librtlsdr/lib/librtlsdr.so -DLIBRTLSDR_INCLUDE_DIR=/opt/install/librtlsdr/include` +`-DRTLSDR_DIR=/opt/install/librtlsdr`

SDRplay RSP1

@@ -198,9 +198,21 @@ Linux only. If you use your own location for libmirisdr-4 install directory you need to specify library and include locations with cmake. For example with `/opt/install/libmirisdr` the following defines must be added on `cmake` command line: -`-DLIBMIRISDR_LIBRARIES=/opt/install/libmirisdr/lib/libmirisdr.so -DLIBMIRISDR_INCLUDE_DIR=/opt/install/libmirisdr/include` +`-DMIRISDR_DIR=/opt/install/libmirisdr` -⚠ The RSP1 has been discontinued in favor of RSP1A. Unfortunately due to their closed source nature RSP1A nor RSP2 can be supported in SDRangel. +⚠ The RSP1 has been discontinued in favor of RSP1A. Unfortunately due to their closed source nature RSP1A nor RSP2 can be supported natively in SDRangel. As a workaround you may use it through SoapySDR. + +

XTRX

+ +Compile from source. + +[XTRX](https://www.crowdsupply.com/fairwaves/xtrx) is supported through the set of [xtrx libraries](https://github.com/xtrx-sdr/images). + +If you use your own location for the install directory (ex: `/opt/install/xtrx-images`) you need to specify it with `-DXTRX_DIR=/opt/install/xtrx-images` on the `cmake` command line. + +In addition before starting SDRangel you have to add the library directory to the `LD_LIBRARY_PATH` variable with `export LD_LIBRARY_PATH=/opt/install/xtrx-images/lib:$LD_LIBRARY_PATH`. + +⚠ Although you will find a plugin for the transmission side transmission with XTRX is not actually working. Reception is not very stable either particularly with sample rates lower than 5 MS/s.

Plugins for special devices

@@ -234,7 +246,7 @@ The data blocks transmitted via UDP are protected against loss with a Cauchy MDS There is an automated skew rate compensation in place. During rate readjustment streaming can be suspended or signal glitches can occur for about one second. -This plugin will be built only if the [CM256cc library](https://github.com/f4exb/cm256cc) is installed in your system. For CM256cc if you install it in a non standard directory you will then have to specify the include and library paths on the cmake command line. Say if you install cm256cc in `/opt/install/cm256cc` you will have to add `-DCM256CC_INCLUDE_DIR=/opt/install/cm256cc/include/cm256cc -DCM256CC_LIBRARIES=/opt/install/cm256cc/lib/libcm256cc.so` to the cmake commands. +This plugin will be built only if the [CM256cc library](https://github.com/f4exb/cm256cc) is installed in your system. For CM256cc if you install it in a non standard directory you will then have to specify the include and library paths on the cmake command line. Say if you install cm256cc in `/opt/install/cm256cc` you will have to add `-DCM256CC_DIR=/opt/install/cm256cc` to the cmake commands. Note that this plugin does not require any of the hardware support libraries nor the libusb library. It is always available in the list of devices as `SDRdaemonSource[0]` even if no physical device is connected. @@ -246,7 +258,7 @@ The [SDRdaemon sink output plugin](https://github.com/f4exb/sdrangel/tree/dev/pl The data blocks sent via UDP are protected against loss with a Cauchy MDS block erasure codec. This makes the transmission more robust in particular with WiFi links. -This plugin will be built only if the [CM256cc library](https://github.com/f4exb/cm256cc) IS installed in your system. For CM256cc if you install it in a non standard directory you will then have to specify the include and library paths on the cmake command line. Say if you install cm256cc in `/opt/install/cm256cc` you will have to add `-DCM256CC_INCLUDE_DIR=/opt/install/cm256cc/include/cm256cc -DCM256CC_LIBRARIES=/opt/install/cm256cc/lib/libcm256cc.so` to the cmake commands. +This plugin will be built only if the [CM256cc library](https://github.com/f4exb/cm256cc) IS installed in your system. For CM256cc if you install it in a non standard directory you will then have to specify the include and library paths on the cmake command line. Say if you install cm256cc in `/opt/install/cm256cc` you will have to add `-DCM256CC_DIR=/opt/install/cm256cc` to the cmake commands. Note that this plugin does not require any of the hardware support libraries nor the libusb library. It is always available in the list of devices as `SDRdaemonSink[0]` even if no physical device is connected. @@ -262,13 +274,13 @@ This is the `demoddsd` plugin. At present it can be used to decode the following - Yaesu System Fusion (YSF) - NXDN -It is based on the [DSDcc](https://github.com/f4exb/dsdcc) C++ library which is a rewrite of the original [DSD](https://github.com/szechyjs/dsd) program. So you will need to have DSDcc installed in your system. Please follow instructions in [DSDcc readme](https://github.com/f4exb/dsdcc/blob/master/Readme.md) to build and install DSDcc. If you install it in a custom location say `/opt/install/dsdcc` you will need to add these defines to the cmake command: `-DLIBDSDCC_INCLUDE_DIR=/opt/install/dsdcc/include/dsdcc -DLIBDSDCC_LIBRARIES=/opt/install/dsdcc/lib/libdsdcc.so` +It is based on the [DSDcc](https://github.com/f4exb/dsdcc) C++ library which is a rewrite of the original [DSD](https://github.com/szechyjs/dsd) program. So you will need to have DSDcc installed in your system. Please follow instructions in [DSDcc readme](https://github.com/f4exb/dsdcc/blob/master/Readme.md) to build and install DSDcc. If you install it in a custom location say `/opt/install/dsdcc` you will need to add these defines to the cmake command: `-DDSDCC_DIR=/opt/install/dsdcc` -If you have one or more serial devices interfacing the AMBE3000 chip in packet mode you can use them to decode AMBE voice frames. For that purpose you will need to compile with [SerialDV](https://github.com/f4exb/serialDV) support. Please refer to this project Readme.md to compile and install SerialDV. If you install it in a custom location say `/opt/install/serialdv` you will need to add these defines to the cmake command: `-DLIBSERIALDV_INCLUDE_DIR=/opt/install/serialdv/include/serialdv -DLIBSERIALDV_LIBRARY=/opt/install/serialdv/lib/libserialdv.so` Also your user must be a member of group `dialout` (Ubuntu/Debian) or `uucp` (Arch) to be able to use the dongle. +If you have one or more serial devices interfacing the AMBE3000 chip in packet mode you can use them to decode AMBE voice frames. For that purpose you will need to compile with [SerialDV](https://github.com/f4exb/serialDV) support. Please refer to this project Readme.md to compile and install SerialDV. If you install it in a custom location say `/opt/install/serialdv` you will need to add these defines to the cmake command: `-DSERIALDV_DIR=/opt/install/serialdv` Also your user must be a member of group `dialout` (Ubuntu/Debian) or `uucp` (Arch) to be able to use the dongle. Although such serial devices work with a serial interface at 400 kb in practice maybe for other reasons they are capable of handling only one conversation at a time. The software will allocate the device dynamically to a conversation with an inactivity timeout of 1 second so that conversations do not get interrupted constantly making the audio output too choppy. In practice you will have to have as many devices connected to your system as the number of conversations you would like to be handled in parallel. -Alternatively you can use [mbelib](https://github.com/szechyjs/mbelib) but mbelib comes with some copyright issues (see next). If you have mbelib installed in a custom location, say `/opt/install/mbelib` you will need to add these defines to the cmake command: `-DLIBMBE_INCLUDE_DIR=/opt/install/mbelib/include -DLIBMBE_LIBRARY=/opt/install/mbelib/lib/libmbe.so` +Alternatively you can use [mbelib](https://github.com/szechyjs/mbelib) but mbelib comes with some copyright issues (see next). If you have mbelib installed in a custom location, say `/opt/install/mbelib` you will need to add these defines to the cmake command: `-DMBE_DIR=/opt/install/mbelib` Possible copyright issues apart (see next) the audio quality with the DVSI AMBE chip is much better. @@ -285,6 +297,7 @@ If you are not comfortable with this just do not install DSDcc and/or mbelib and In the [releases](https://github.com/f4exb/sdrangel/releases) section one can find binary distributions for some Debian based distributions: + - Ubuntu 18.10 (Cosmic) - Ubuntu 18.04 (Bionic) - Ubuntu 16.04 (Xenial) - Debian Stretch diff --git a/cmake/Modules/FindCM256.cmake b/cmake/Modules/FindCM256.cmake deleted file mode 100644 index ef8cfcff3..000000000 --- a/cmake/Modules/FindCM256.cmake +++ /dev/null @@ -1,37 +0,0 @@ -INCLUDE(FindPkgConfig) -PKG_CHECK_MODULES(PC_CM256 "libcm256") - -FIND_PATH(CM256_INCLUDE_DIR - NAMES cm256/cm256.h - HINTS ${PC_CM256_INCLUDE_DIR} - ${CMAKE_INSTALL_PREFIX}/include - ${LIBCM256_INSTALL_PREFIX}/include - PATHS - /usr/local/include - /usr/include -) - -FIND_LIBRARY(CM256_LIBRARIES - NAMES cm256 libcm256 - HINTS ${PC_CM256_LIBDIR} - ${CMAKE_INSTALL_PREFIX}/lib - ${CMAKE_INSTALL_PREFIX}/lib64 - PATHS - ${CM256_INCLUDE_DIR}/../lib - /usr/local/lib - /usr/local/lib64 - /usr/lib - /usr/lib64 -) - -if(CM256_INCLUDE_DIR AND CM256_LIBRARIES) - set(CM256_FOUND TRUE CACHE INTERNAL "CM256 found") - message(STATUS "Found CM256: ${CM256_INCLUDE_DIR}, ${CM256_LIBRARIES}") -else(CM256_INCLUDE_DIR AND CM256_LIBRARIES) - set(CM256_FOUND FALSE CACHE INTERNAL "CM256 found") - message(STATUS "CM256 not found") -endif(CM256_INCLUDE_DIR AND CM256_LIBRARIES) - -INCLUDE(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(CM256 DEFAULT_MSG CM256_LIBRARIES CM256_INCLUDE_DIR) -MARK_AS_ADVANCED(CM256_LIBRARIES CM256_INCLUDE_DIR) diff --git a/cmake/Modules/FindCM256cc.cmake b/cmake/Modules/FindCM256cc.cmake index 72f8d01b3..1410e6618 100644 --- a/cmake/Modules/FindCM256cc.cmake +++ b/cmake/Modules/FindCM256cc.cmake @@ -4,24 +4,23 @@ PKG_CHECK_MODULES(PC_CM256cc "libcm256cc") FIND_PATH(CM256CC_INCLUDE_DIR NAMES cm256.h HINTS ${PC_CM256CC_INCLUDE_DIR} - ${CMAKE_INSTALL_PREFIX}/include - ${LIBCM256CC_INSTALL_PREFIX}/include - PATHS - /usr/local/include/cm256cc - /usr/include/cm256cc + ${CMAKE_INSTALL_PREFIX}/include + PATHS ${CM256CC_DIR}/include/cm256cc + /usr/local/include/cm256cc + /usr/include/cm256cc ) FIND_LIBRARY(CM256CC_LIBRARIES NAMES cm256cc libcm256cc HINTS ${PC_CM256CC_LIBDIR} - ${CMAKE_INSTALL_PREFIX}/lib - ${CMAKE_INSTALL_PREFIX}/lib64 - PATHS - ${CM256CC_INCLUDE_DIR}/../lib - /usr/local/lib - /usr/local/lib64 - /usr/lib - /usr/lib64 + ${CMAKE_INSTALL_PREFIX}/lib + ${CMAKE_INSTALL_PREFIX}/lib64 + PATHS ${CM256CC_DIR}/lib + ${CM256CC_DIR}/lib64 + /usr/local/lib + /usr/local/lib64 + /usr/lib + /usr/lib64 ) if(CM256CC_INCLUDE_DIR AND CM256CC_LIBRARIES) diff --git a/cmake/Modules/FindGruel.cmake b/cmake/Modules/FindGruel.cmake deleted file mode 100644 index 1d044eebd..000000000 --- a/cmake/Modules/FindGruel.cmake +++ /dev/null @@ -1,29 +0,0 @@ -INCLUDE(FindPkgConfig) -PKG_CHECK_MODULES(PC_GRUEL gruel) - -FIND_PATH( - GRUEL_INCLUDE_DIRS - NAMES gruel/attributes.h - HINTS $ENV{GRUEL_DIR}/include - ${PC_GRUEL_INCLUDEDIR} - ${CMAKE_INSTALL_PREFIX}/include - PATHS /usr/local/include - /usr/include -) - -FIND_LIBRARY( - GRUEL_LIBRARIES - NAMES gruel - HINTS $ENV{GRUEL_DIR}/lib - ${PC_GRUEL_LIBDIR} - ${CMAKE_INSTALL_PREFIX}/lib - ${CMAKE_INSTALL_PREFIX}/lib64 - PATHS /usr/local/lib - /usr/local/lib64 - /usr/lib - /usr/lib64 -) - -INCLUDE(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(GRUEL DEFAULT_MSG GRUEL_LIBRARIES GRUEL_INCLUDE_DIRS) -MARK_AS_ADVANCED(GRUEL_LIBRARIES GRUEL_INCLUDE_DIRS) diff --git a/cmake/Modules/FindJRTPLib.cmake b/cmake/Modules/FindJRTPLib.cmake deleted file mode 100644 index 853e22570..000000000 --- a/cmake/Modules/FindJRTPLib.cmake +++ /dev/null @@ -1,39 +0,0 @@ -if(NOT JRTPLIB_FOUND) - -INCLUDE(FindPkgConfig) -PKG_CHECK_MODULES(PC_JRTPLIB "jrtplib") - -FIND_PATH(JRTPLIB_INCLUDE_DIR - NAMES rtpsession.h - HINTS ${PC_JRTPLIB_INCLUDE_DIR} - ${CMAKE_INSTALL_PREFIX}/include/jrtplib3 - ${JRTPLIB_INSTALL_PREFIX}/include/jrtplib3 - PATHS - /usr/local/include/jrtplib3 - /usr/include/jrtplib3 -) - -FIND_LIBRARY(JRTPLIB_LIBRARIES - NAMES libjrtp - HINTS ${PC_JRTPLIB_LIBDIR} - ${CMAKE_INSTALL_PREFIX}/lib - ${CMAKE_INSTALL_PREFIX}/lib64 - PATHS - ${JRTPLIB_INCLUDE_DIR}/../lib - /usr/local/lib - /usr/local/lib64 - /usr/lib - /usr/lib64 -) - -if(JRTPLIB_INCLUDE_DIR AND JRTPLIB_LIBRARIES) - set(JRTPLIB_FOUND TRUE CACHE INTERNAL "JRTPLib found") - message(STATUS "Found JRTPLib: ${JRTPLIB_INCLUDE_DIR}, ${JRTPLIB_LIBRARIES}") -else() - set(JRTPLIB_FOUND FALSE CACHE INTERNAL "JRTPLib found") - message(STATUS "JRTPLib not found") -endif() - -MARK_AS_ADVANCED(JRTPLIB_LIBRARIES JRTPLIB_INCLUDE_DIR) - -endif(NOT JRTPLIB_FOUND) diff --git a/cmake/Modules/FindLibAIRSPY.cmake b/cmake/Modules/FindLibAIRSPY.cmake index 2402f2f74..525d4f035 100644 --- a/cmake/Modules/FindLibAIRSPY.cmake +++ b/cmake/Modules/FindLibAIRSPY.cmake @@ -1,18 +1,21 @@ if(NOT LIBAIRSPY_FOUND) pkg_check_modules (LIBAIRSPY_PKG libairspy) - find_path(LIBAIRSPY_INCLUDE_DIR NAMES libairspy/airspy.h - PATHS - ${LIBAIRSPY_PKG_INCLUDE_DIRS} - /usr/include - /usr/local/include + + find_path(LIBAIRSPY_INCLUDE_DIR + NAMES libairspy/airspy.h + PATHS ${AIRSPY_DIR}/include + ${LIBAIRSPY_PKG_INCLUDE_DIRS} + /usr/include + /usr/local/include ) - find_library(LIBAIRSPY_LIBRARIES NAMES airspy - PATHS - ${LIBAIRSPY_PKG_LIBRARY_DIRS} - /usr/lib - /usr/local/lib + find_library(LIBAIRSPY_LIBRARIES + NAMES airspy + PATHS ${AIRSPY_DIR}/lib + ${LIBAIRSPY_PKG_LIBRARY_DIRS} + /usr/lib + /usr/local/lib ) if(LIBAIRSPY_INCLUDE_DIR AND LIBAIRSPY_LIBRARIES) diff --git a/cmake/Modules/FindLibAIRSPYHF.cmake b/cmake/Modules/FindLibAIRSPYHF.cmake index 58ca04388..866123242 100644 --- a/cmake/Modules/FindLibAIRSPYHF.cmake +++ b/cmake/Modules/FindLibAIRSPYHF.cmake @@ -1,18 +1,21 @@ if(NOT LIBAIRSPYHF_FOUND) pkg_check_modules (LIBAIRSPYHF_PKG libairspyhf) - find_path(LIBAIRSPYHF_INCLUDE_DIR NAMES libairspyhf/airspyhf.h - PATHS - ${LIBAIRSPYHF_PKG_INCLUDE_DIRS} - /usr/include - /usr/local/include + + find_path(LIBAIRSPYHF_INCLUDE_DIR + NAMES libairspyhf/airspyhf.h + PATHS ${AIRSPYHF_DIR}/include + ${LIBAIRSPYHF_PKG_INCLUDE_DIRS} + /usr/include + /usr/local/include ) - find_library(LIBAIRSPYHF_LIBRARIES NAMES airspyhf - PATHS - ${LIBAIRSPYHF_PKG_LIBRARY_DIRS} - /usr/lib - /usr/local/lib + find_library(LIBAIRSPYHF_LIBRARIES + NAMES airspyhf + PATHS ${AIRSPYHF_DIR}/lib + ${LIBAIRSPYHF_PKG_LIBRARY_DIRS} + /usr/lib + /usr/local/lib ) if(LIBAIRSPYHF_INCLUDE_DIR AND LIBAIRSPYHF_LIBRARIES) diff --git a/cmake/Modules/FindLibBLADERF.cmake b/cmake/Modules/FindLibBLADERF.cmake index 0749360aa..11de2a65d 100644 --- a/cmake/Modules/FindLibBLADERF.cmake +++ b/cmake/Modules/FindLibBLADERF.cmake @@ -1,18 +1,21 @@ if(NOT LIBBLADERF_FOUND) pkg_check_modules (LIBBLADERF_PKG libbladeRF) - find_path(LIBBLADERF_INCLUDE_DIR NAMES libbladeRF.h - PATHS - ${LIBBLADERF_PKG_INCLUDE_DIRS} - /usr/include - /usr/local/include + + find_path(LIBBLADERF_INCLUDE_DIR + NAMES libbladeRF.h + PATHS ${BLADERF_DIR}/include + ${LIBBLADERF_PKG_INCLUDE_DIRS} + /usr/include + /usr/local/include ) - find_library(LIBBLADERF_LIBRARIES NAMES bladeRF - PATHS - ${LIBBLADERF_PKG_LIBRARY_DIRS} - /usr/lib - /usr/local/lib + find_library(LIBBLADERF_LIBRARIES + NAMES bladeRF + PATHS ${BLADERF_DIR}/lib + ${LIBBLADERF_PKG_LIBRARY_DIRS} + /usr/lib + /usr/local/lib ) if(LIBBLADERF_INCLUDE_DIR AND LIBBLADERF_LIBRARIES) diff --git a/cmake/Modules/FindLibDSDcc.cmake b/cmake/Modules/FindLibDSDcc.cmake index d733604f7..c372583c5 100644 --- a/cmake/Modules/FindLibDSDcc.cmake +++ b/cmake/Modules/FindLibDSDcc.cmake @@ -3,20 +3,24 @@ if(NOT LIBDSDCC_FOUND) pkg_check_modules (LIBDSDCC_PKG libdsdcc) - find_path(LIBDSDCC_INCLUDE_DIR NAMES dsd_decoder.h - PATHS - ${LIBDSDCC_PKG_INCLUDE_DIRS} - /usr/include - /usr/local/include + + find_path(LIBDSDCC_INCLUDE_DIR + NAMES dsd_decoder.h + PATHS ${DSDCC_DIR}/include/dsdcc + ${LIBDSDCC_PKG_INCLUDE_DIRS} + /usr/include/dsdcc + /usr/local/include/dsdcc ) - find_library(LIBDSDCC_LIBRARIES NAMES dsdcc - PATHS - ${LIBDSDCC_PKG_LIBRARY_DIRS} - /usr/lib - /usr/lib64 - /usr/local/lib - /usr/local/lib64 + find_library(LIBDSDCC_LIBRARIES + NAMES dsdcc + PATHS ${DSDCC_DIR}/lib + ${DSDCC_DIR}/lib64 + ${LIBDSDCC_PKG_LIBRARY_DIRS} + /usr/lib + /usr/lib64 + /usr/local/lib + /usr/local/lib64 ) if(LIBDSDCC_INCLUDE_DIR AND LIBDSDCC_LIBRARIES) diff --git a/cmake/Modules/FindLibHACKRF.cmake b/cmake/Modules/FindLibHACKRF.cmake index fd84f91ca..557d4b03b 100644 --- a/cmake/Modules/FindLibHACKRF.cmake +++ b/cmake/Modules/FindLibHACKRF.cmake @@ -1,18 +1,21 @@ if(NOT LIBHACKRF_FOUND) pkg_check_modules (LIBHACKRF_PKG libhackrf) - find_path(LIBHACKRF_INCLUDE_DIR NAMES libhackrf/hackrf.h - PATHS - ${LIBHACKRF_PKG_INCLUDE_DIRS} - /usr/include - /usr/local/include + + find_path(LIBHACKRF_INCLUDE_DIR + NAMES libhackrf/hackrf.h + PATHS ${HACKRF_DIR}/include + ${LIBHACKRF_PKG_INCLUDE_DIRS} + /usr/include + /usr/local/include ) - find_library(LIBHACKRF_LIBRARIES NAMES hackrf - PATHS - ${LIBHACKRF_PKG_LIBRARY_DIRS} - /usr/lib - /usr/local/lib + find_library(LIBHACKRF_LIBRARIES + NAMES hackrf + PATHS ${HACKRF_DIR}/lib + ${LIBHACKRF_PKG_LIBRARY_DIRS} + /usr/lib + /usr/local/lib ) if(LIBHACKRF_INCLUDE_DIR AND LIBHACKRF_LIBRARIES) diff --git a/cmake/Modules/FindLibIIO.cmake b/cmake/Modules/FindLibIIO.cmake index 358236e32..88ce05d1c 100644 --- a/cmake/Modules/FindLibIIO.cmake +++ b/cmake/Modules/FindLibIIO.cmake @@ -1,18 +1,21 @@ if(NOT LIBIIO_FOUND) pkg_check_modules (LIBIIO_PKG libiio) - find_path(LIBIIO_INCLUDE_DIR NAMES iio.h - PATHS - ${LIBIIO_PKG_INCLUDE_DIRS} - /usr/include - /usr/local/include + + find_path(LIBIIO_INCLUDE_DIR + NAMES iio.h + PATHS ${IIO_DIR}/include + ${LIBIIO_PKG_INCLUDE_DIRS} + /usr/include + /usr/local/include ) - find_library(LIBIIO_LIBRARIES NAMES iio - PATHS - ${LIBIIO_PKG_LIBRARY_DIRS} - /usr/lib - /usr/local/lib + find_library(LIBIIO_LIBRARIES + NAMES iio + PATHS ${IIO_DIR}/lib + ${LIBIIO_PKG_LIBRARY_DIRS} + /usr/lib + /usr/local/lib ) if(LIBIIO_INCLUDE_DIR AND LIBIIO_LIBRARIES) diff --git a/cmake/Modules/FindLibMbe.cmake b/cmake/Modules/FindLibMbe.cmake index 9a2b93f1d..86e10cd55 100644 --- a/cmake/Modules/FindLibMbe.cmake +++ b/cmake/Modules/FindLibMbe.cmake @@ -1,22 +1,33 @@ # Find libmbe -FIND_PATH(LIBMBE_INCLUDE_DIR mbelib.h) +find_path(LIBMBE_INCLUDE_DIR + NAMES mbelib.h + PATHS ${MBE_DIR}/include + /usr/include + /usr/local/include +) -SET(LIBMBE_NAMES ${LIBMBE_NAMES} mbe libmbe) -FIND_LIBRARY(LIBMBE_LIBRARY NAMES ${LIBMBE_NAMES} PATH) +set(LIBMBE_NAMES ${LIBMBE_NAMES} mbe libmbe) -IF (LIBMBE_INCLUDE_DIR AND LIBMBE_LIBRARY) - SET(LIBMBE_FOUND TRUE) -ENDIF (LIBMBE_INCLUDE_DIR AND LIBMBE_LIBRARY) +find_library(LIBMBE_LIBRARY + NAMES ${LIBMBE_NAMES} + PATHS ${MBE_DIR}/lib + /usr/include + /usr/local/include +) -IF (LIBMBE_FOUND) - IF (NOT LibMbe_FIND_QUIETLY) - MESSAGE (STATUS "Found LibMbe: ${LIBMBE_INCLUDE_DIR}, ${LIBMBE_LIBRARY}") - ENDIF (NOT LibMbe_FIND_QUIETLY) -ELSE (LIBMBE_FOUND) - IF (LibMbe_FIND_REQUIRED) - MESSAGE (FATAL_ERROR "Could not find mbe") - ENDIF (LibMbe_FIND_REQUIRED) -ENDIF (LIBMBE_FOUND) +if (LIBMBE_INCLUDE_DIR AND LIBMBE_LIBRARY) + set(LIBMBE_FOUND TRUE) +endif (LIBMBE_INCLUDE_DIR AND LIBMBE_LIBRARY) + +if (LIBMBE_FOUND) + if (NOT LibMbe_FIND_QUIETLY) + message (STATUS "Found LibMbe: ${LIBMBE_INCLUDE_DIR}, ${LIBMBE_LIBRARY}") + endif (NOT LibMbe_FIND_QUIETLY) +else (LIBMBE_FOUND) + if (LibMbe_FIND_REQUIRED) + message (FATAL_ERROR "Could not find mbe") + endif (LibMbe_FIND_REQUIRED) +endif (LIBMBE_FOUND) mark_as_advanced(LIBMBE_INCLUDE_DIR LIBMBE_LIBRARY) diff --git a/cmake/Modules/FindLibMiriSDR.cmake b/cmake/Modules/FindLibMiriSDR.cmake index 72e207516..f83147d29 100644 --- a/cmake/Modules/FindLibMiriSDR.cmake +++ b/cmake/Modules/FindLibMiriSDR.cmake @@ -1,18 +1,21 @@ if(NOT LIBMIRISDR_FOUND) pkg_check_modules (LIBMIRISDR_PKG libmirisdr) - find_path(LIBMIRISDR_INCLUDE_DIR NAMES mirisdr.h - PATHS - ${LIBMIRISDR_PKG_INCLUDE_DIRS} - /usr/include - /usr/local/include + + find_path(LIBMIRISDR_INCLUDE_DIR + NAMES mirisdr.h + PATHS ${MIRISDR_DIR}/include + ${LIBMIRISDR_PKG_INCLUDE_DIRS} + /usr/include + /usr/local/include ) - find_library(LIBMIRISDR_LIBRARIES NAMES mirisdr - PATHS - ${LIBMIRISDR_PKG_LIBRARY_DIRS} - /usr/lib - /usr/local/lib + find_library(LIBMIRISDR_LIBRARIES + NAMES mirisdr + PATHS ${MIRISDR_DIR}/lib + ${LIBMIRISDR_PKG_LIBRARY_DIRS} + /usr/lib + /usr/local/lib ) if(LIBMIRISDR_INCLUDE_DIR AND LIBMIRISDR_LIBRARIES) diff --git a/cmake/Modules/FindLibPerseus.cmake b/cmake/Modules/FindLibPerseus.cmake index 0a779e805..c0c90f2f8 100644 --- a/cmake/Modules/FindLibPerseus.cmake +++ b/cmake/Modules/FindLibPerseus.cmake @@ -1,18 +1,22 @@ if(NOT LIBPERSEUS_FOUND) pkg_check_modules (LIBPERSEUS_PKG libperseus) - find_path(LIBPERSEUS_INCLUDE_DIR NAMES perseus-sdr.h - PATHS - ${LIBPERSEUS_PKG_INCLUDE_DIRS} - /usr/include - /usr/local/include + + find_path(LIBPERSEUS_INCLUDE_DIR + NAMES perseus-sdr.h + PATHS ${PERSEUS_DIR}/include + ${LIBPERSEUS_PKG_INCLUDE_DIRS} + /usr/include + /usr/local/include ) - find_library(LIBPERSEUS_LIBRARIES NAMES perseus-sdr - PATHS - ${LIBPERSEUS_PKG_LIBRARY_DIRS} - /usr/lib - /usr/local/lib + find_library(LIBPERSEUS_LIBRARIES + NAMES perseus-sdr + PATHS ${PERSEUS_DIR}/lib + ${PERSEUS_DIR}/lib64 + ${LIBPERSEUS_PKG_LIBRARY_DIRS} + /usr/lib + /usr/local/lib ) if(LIBPERSEUS_INCLUDE_DIR AND LIBPERSEUS_LIBRARIES) diff --git a/cmake/Modules/FindLibRTLSDR.cmake b/cmake/Modules/FindLibRTLSDR.cmake index 25a1d05dc..0fe24ac2b 100644 --- a/cmake/Modules/FindLibRTLSDR.cmake +++ b/cmake/Modules/FindLibRTLSDR.cmake @@ -1,18 +1,21 @@ if(NOT LIBRTLSDR_FOUND) pkg_check_modules (LIBRTLSDR_PKG librtlsdr) - find_path(LIBRTLSDR_INCLUDE_DIR NAMES rtl-sdr.h - PATHS - ${LIBRTLSDR_PKG_INCLUDE_DIRS} - /usr/include - /usr/local/include + + find_path(LIBRTLSDR_INCLUDE_DIR + NAMES rtl-sdr.h + PATHS ${RTLSDR_DIR}/include + ${LIBRTLSDR_PKG_INCLUDE_DIRS} + /usr/include + /usr/local/include ) - find_library(LIBRTLSDR_LIBRARIES NAMES rtlsdr - PATHS - ${LIBRTLSDR_PKG_LIBRARY_DIRS} - /usr/lib - /usr/local/lib + find_library(LIBRTLSDR_LIBRARIES + NAMES rtlsdr + PATHS ${RTLSDR_DIR}/lib + ${LIBRTLSDR_PKG_LIBRARY_DIRS} + /usr/lib + /usr/local/lib ) if(LIBRTLSDR_INCLUDE_DIR AND LIBRTLSDR_LIBRARIES) diff --git a/cmake/Modules/FindLimeSuite.cmake b/cmake/Modules/FindLimeSuite.cmake index 65a66e854..41ca966d1 100644 --- a/cmake/Modules/FindLimeSuite.cmake +++ b/cmake/Modules/FindLimeSuite.cmake @@ -1,34 +1,35 @@ # Find Lime Suite if (NOT LIMESUITE_INCLUDE_DIR) - FIND_PATH (LIMESUITE_INCLUDE_DIR + find_path (LIMESUITE_INCLUDE_DIR NAMES lime/LimeSuite.h - PATHS - /usr/include - /usr/local/include + PATHS ${LIMESUITE_DIR}/include + /usr/include + /usr/local/include ) endif() if (NOT LIMESUITE_LIBRARY) - FIND_LIBRARY (LIMESUITE_LIBRARY + find_library (LIMESUITE_LIBRARY NAMES LimeSuite HINTS ${CMAKE_INSTALL_PREFIX}/lib ${CMAKE_INSTALL_PREFIX}/lib64 - PATHS /usr/local/lib + PATHS ${LIMESUITE_DIR}/lib + /usr/local/lib /usr/local/lib64 /usr/lib /usr/lib64 ) endif() -IF (LIMESUITE_INCLUDE_DIR AND LIMESUITE_LIBRARY) - SET(LIMESUITE_FOUND TRUE) -ENDIF (LIMESUITE_INCLUDE_DIR AND LIMESUITE_LIBRARY) +if (LIMESUITE_INCLUDE_DIR AND LIMESUITE_LIBRARY) + set(LIMESUITE_FOUND TRUE) +endif (LIMESUITE_INCLUDE_DIR AND LIMESUITE_LIBRARY) -IF (LIMESUITE_FOUND) - MESSAGE (STATUS "Found Lime Suite: ${LIMESUITE_INCLUDE_DIR}, ${LIMESUITE_LIBRARY}") -ELSE (LIMESUITE_FOUND) - MESSAGE (STATUS "Could not find Lime Suite") -ENDIF (LIMESUITE_FOUND) +if (LIMESUITE_FOUND) + message (STATUS "Found Lime Suite: ${LIMESUITE_INCLUDE_DIR}, ${LIMESUITE_LIBRARY}") +else (LIMESUITE_FOUND) + message (STATUS "Could not find Lime Suite") +endif (LIMESUITE_FOUND) mark_as_advanced(LIMESUITE_INCLUDE_DIR LIMESUITE_LIBRARY) diff --git a/cmake/Modules/FindSerialDV.cmake b/cmake/Modules/FindSerialDV.cmake index 7199c2506..97fe530ec 100644 --- a/cmake/Modules/FindSerialDV.cmake +++ b/cmake/Modules/FindSerialDV.cmake @@ -1,22 +1,33 @@ # Find serialDV -FIND_PATH(LIBSERIALDV_INCLUDE_DIR dvcontroller.h) +find_path(LIBSERIALDV_INCLUDE_DIR + NAMES dvcontroller.h + PATHS ${SERIALDV_DIR}/include/serialdv + /usr/include/serialdv + /usr/local/include/serialdv +) -SET(LIBSERIAL_NAMES ${LIBSERIAL_NAMES} serialdv libserialdv) -FIND_LIBRARY(LIBSERIALDV_LIBRARY NAMES ${LIBSERIALDV_NAMES} PATH) +set(LIBSERIAL_NAMES ${LIBSERIAL_NAMES} serialdv libserialdv) -IF (LIBSERIALDV_INCLUDE_DIR AND LIBSERIALDV_LIBRARY) - SET(LIBSERIALDV_FOUND TRUE) -ENDIF (LIBSERIALDV_INCLUDE_DIR AND LIBSERIALDV_LIBRARY) +find_library(LIBSERIALDV_LIBRARY + NAMES ${LIBSERIALDV_NAMES} + PATHS ${SERIALDV_DIR}/lib + /usr/lib + /usr/local/lib +) -IF (LIBSERIALDV_FOUND) - IF (NOT SerialDV_FIND_QUIETLY) - MESSAGE (STATUS "Found libserialdv: ${LIBSERIALDV_INCLUDE_DIR}, ${LIBSERIALDV_LIBRARY}") - ENDIF (NOT SerialDV_FIND_QUIETLY) -ELSE (LIBSERIALDV_FOUND) - IF (SerialDV_FIND_REQUIRED) - MESSAGE (FATAL_ERROR "Could not find SerialDV") - ENDIF (SerialDV_FIND_REQUIRED) -ENDIF (LIBSERIALDV_FOUND) +if (LIBSERIALDV_INCLUDE_DIR AND LIBSERIALDV_LIBRARY) + set(LIBSERIALDV_FOUND TRUE) +endif (LIBSERIALDV_INCLUDE_DIR AND LIBSERIALDV_LIBRARY) + +if (LIBSERIALDV_FOUND) + if (NOT SerialDV_FIND_QUIETLY) + message (STATUS "Found libserialdv: ${LIBSERIALDV_INCLUDE_DIR}, ${LIBSERIALDV_LIBRARY}") + endif (NOT SerialDV_FIND_QUIETLY) +else (LIBSERIALDV_FOUND) + if (SerialDV_FIND_REQUIRED) + message (FATAL_ERROR "Could not find SerialDV") + endif (SerialDV_FIND_REQUIRED) +endif (LIBSERIALDV_FOUND) mark_as_advanced(LIBSERIALDV_INCLUDE_DIR LIBSERIALDV_LIBRARY) diff --git a/cmake/Modules/FindSoapySDR.cmake b/cmake/Modules/FindSoapySDR.cmake index cf8e274c9..fa86cd1a7 100644 --- a/cmake/Modules/FindSoapySDR.cmake +++ b/cmake/Modules/FindSoapySDR.cmake @@ -1,20 +1,22 @@ # Find Soapy SDR if (NOT SOAPYSDR_INCLUDE_DIR) - FIND_PATH (SOAPYSDR_INCLUDE_DIR + find_path (SOAPYSDR_INCLUDE_DIR NAMES SoapySDR/Version.h - PATHS - /usr/include - /usr/local/include + PATHS ${SOAPYSDR_DIR}/include + /usr/include + /usr/local/include ) endif() if (NOT SOAPYSDR_LIBRARY) - FIND_LIBRARY (SOAPYSDR_LIBRARY + find_library (SOAPYSDR_LIBRARY NAMES SoapySDR HINTS ${CMAKE_INSTALL_PREFIX}/lib ${CMAKE_INSTALL_PREFIX}/lib64 - PATHS /usr/local/lib + PATHS ${SOAPYSDR_DIR}/lib + ${SOAPYSDR_DIR}/lib64 + /usr/local/lib /usr/local/lib64 /usr/lib /usr/lib64 @@ -22,13 +24,13 @@ if (NOT SOAPYSDR_LIBRARY) endif() if (SOAPYSDR_INCLUDE_DIR AND SOAPYSDR_LIBRARY) - SET(SOAPYSDR_FOUND TRUE) + set(SOAPYSDR_FOUND TRUE) endif() if (SOAPYSDR_FOUND) - MESSAGE (STATUS "Found SoapySDR: ${SOAPYSDR_INCLUDE_DIR}, ${SOAPYSDR_LIBRARY}") + message (STATUS "Found SoapySDR: ${SOAPYSDR_INCLUDE_DIR}, ${SOAPYSDR_LIBRARY}") else() - MESSAGE (STATUS "Could not find SoapySDR") + message (STATUS "Could not find SoapySDR") endif() mark_as_advanced(SOAPYSDR_INCLUDE_DIR SOAPYSDR_LIBRARY) diff --git a/plugins/channelrx/daemonsink/readme.md b/plugins/channelrx/daemonsink/readme.md index bd5e0fe53..0f898ef4b 100644 --- a/plugins/channelrx/daemonsink/readme.md +++ b/plugins/channelrx/daemonsink/readme.md @@ -8,7 +8,7 @@ It is present only in Linux binary releases.

Build

-The plugin will be built only if the [CM256cc library](https://github.com/f4exb/cm256cc) is installed in your system. For CM256cc library you will have to specify the include and library paths on the cmake command line. Say if you install cm256cc in `/opt/install/cm256cc` you will have to add `-DCM256CC_INCLUDE_DIR=/opt/install/cm256cc/include/cm256cc -DCM256CC_LIBRARIES=/opt/install/cm256cc/lib/libcm256cc.so` to the cmake commands. +The plugin will be built only if the [CM256cc library](https://github.com/f4exb/cm256cc) is installed in your system. For CM256cc library you will have to specify the include and library paths on the cmake command line. Say if you install cm256cc in `/opt/install/cm256cc` you will have to add `-DCM256CC_DIR=/opt/install/cm256cc` to the cmake commands.

Interface

diff --git a/plugins/channelrx/demoddsd/readme.md b/plugins/channelrx/demoddsd/readme.md index acf3ca59e..4b979158f 100644 --- a/plugins/channelrx/demoddsd/readme.md +++ b/plugins/channelrx/demoddsd/readme.md @@ -12,13 +12,13 @@ This plugin uses the [DSDcc](https://github.com/f4exb/dsdcc) library that has be The modulation and standard is automatically detected and switched depending on the Baud rate chosen. -To enable this plugin at compile time you will need to have DSDcc installed in your system. Please follow instructions in [DSDcc readme](https://github.com/f4exb/dsdcc/blob/master/Readme.md) to build and install DSDcc. If you install it in a custom location say `/opt/install/dsdcc` you will need to add these defines to the cmake command: `-DLIBDSDCC_INCLUDE_DIR=/opt/install/dsdcc/include/dsdcc -DLIBDSDCC_LIBRARIES=/opt/install/dsdcc/lib/libdsdcc.so` +To enable this plugin at compile time you will need to have DSDcc installed in your system. Please follow instructions in [DSDcc readme](https://github.com/f4exb/dsdcc/blob/master/Readme.md) to build and install DSDcc. If you install it in a custom location say `/opt/install/dsdcc` you will need to add these defines to the cmake command: `-DDSDCC_DIR=/opt/install/dsdcc`

DV serial device support

You can use a serial device connected to your system that implements and exposes the packet interface of the AMBE3000 chip. This can be for example a ThumbDV USB dongle. In order to support DV serial devices in your system you will need two things: - - Compile with [SerialDV](https://github.com/f4exb/serialDV) support Please refer to this project Readme.md to compile and install SerialDV. If you install it in a custom location say `/opt/install/serialdv` you will need to add these defines to the cmake command: `-DLIBSERIALDV_INCLUDE_DIR=/opt/install/serialdv/include/serialdv -DLIBSERIALDV_LIBRARY=/opt/install/serialdv/lib/libserialdv.so` + - Compile with [SerialDV](https://github.com/f4exb/serialDV) support Please refer to this project Readme.md to compile and install SerialDV. If you install it in a custom location say `/opt/install/serialdv` you will need to add these defines to the cmake command: `-DSERIALDV_DIR=/opt/install/serialdv` - Enable DV serial devices in your system by checking the option in the Preferences menu. You will need to enable the DV serial devices each time you start SDRangel. Although such serial devices work with a serial interface at 400 kb in practice maybe for other reasons they are capable of handling only one conversation at a time. The software will allocate the device dynamically to a conversation with an inactivity timeout of 1 second so that conversations do not get interrupted constantly making the audio output too choppy. In practice you will have to have as many devices connected to your system as the number of conversations you would like to be handled in parallel. @@ -45,7 +45,7 @@ If you are not comfortable with this just do not install DSDcc and/or mbelib and - For Linux distributions: `plugins/channel/libdemoddsd.so` - For Windows distributions: `dsdcc.dll`, `mbelib.dll`, `plugins\channel\demoddsd.dll` -For software built from source if you choose to have `mbelib` support you will need to have DSDcc compiled with `mbelib` support. You will also need to have defines for it on the cmake command. If you have mbelib installed in a custom location, say `/opt/install/mbelib` you will need to add these defines to the cmake command: `-DLIBMBE_INCLUDE_DIR=/opt/install/mbelib/include -DLIBMBE_LIBRARY=/opt/install/mbelib/lib/libmbe.so` +For software built from source if you choose to have `mbelib` support you will need to have DSDcc compiled with `mbelib` support. You will also need to have defines for it on the cmake command. If you have mbelib installed in a custom location, say `/opt/install/mbelib` you will need to add these defines to the cmake command: `-DMBE_DIR=/opt/install/mbelib`

Interface

diff --git a/plugins/channeltx/daemonsource/readme.md b/plugins/channeltx/daemonsource/readme.md index 8a68a4db1..b5bbf0c4a 100644 --- a/plugins/channeltx/daemonsource/readme.md +++ b/plugins/channeltx/daemonsource/readme.md @@ -8,7 +8,7 @@ It is present only in Linux binary releases.

Build

-The plugin will be built only if the [CM256cc library](https://github.com/f4exb/cm256cc) is installed in your system. For CM256cc library you will have to specify the include and library paths on the cmake command line. Say if you install cm256cc in `/opt/install/cm256cc` you will have to add `-DCM256CC_INCLUDE_DIR=/opt/install/cm256cc/include/cm256cc -DCM256CC_LIBRARIES=/opt/install/cm256cc/lib/libcm256cc.so` to the cmake commands. +The plugin will be built only if the [CM256cc library](https://github.com/f4exb/cm256cc) is installed in your system. For CM256cc library you will have to specify the include and library paths on the cmake command line. Say if you install cm256cc in `/opt/install/cm256cc` you will have to add `-DCM256CC_DIR=/opt/install/cm256cc` to the cmake commands.

Interface

diff --git a/plugins/samplesink/bladerf1output/readme.md b/plugins/samplesink/bladerf1output/readme.md index 371adebe5..a80839bea 100644 --- a/plugins/samplesink/bladerf1output/readme.md +++ b/plugins/samplesink/bladerf1output/readme.md @@ -24,7 +24,7 @@ This works similarly to LimeSDR USB or BladeRF 2.0 micro

Build

-The plugin will be built only if the [BladeRF host library](https://github.com/Nuand/bladeRF) is installed in your system. If you build it from source and install it in a custom location say: `/opt/install/libbladeRF` you will have to add `-DLIBBLADERF_INCLUDE_DIR=/opt/install/libbladeRF/include -DLIBBLADERF_LIBRARIES=/opt/install/libbladeRF/lib/libbladeRF.so` to the cmake command line. +The plugin will be built only if the [BladeRF host library](https://github.com/Nuand/bladeRF) is installed in your system. If you build it from source and install it in a custom location say: `/opt/install/libbladeRF` you will have to add `-DBLADERF_INCLUDE_DIR=/opt/install/libbladeRF` to the cmake command line. Note that since version 4.2.0 the libbladeRF v2 (specifically the git tag 2018.08) is used. diff --git a/plugins/samplesink/bladerf2output/readme.md b/plugins/samplesink/bladerf2output/readme.md index 8719e7163..c60b3ff4b 100644 --- a/plugins/samplesink/bladerf2output/readme.md +++ b/plugins/samplesink/bladerf2output/readme.md @@ -6,7 +6,7 @@ This output sample sink plugin sends its samples to a [BladeRF2 device](https://

Build

-The plugin will be built only if the [BladeRF host library](https://github.com/Nuand/bladeRF) is installed in your system. If you build it from source and install it in a custom location say: `/opt/install/libbladeRF` you will have to add `-DLIBBLADERF_INCLUDE_DIR=/opt/install/libbladeRF/include -DLIBBLADERF_LIBRARIES=/opt/install/libbladeRF/lib/libbladeRF.so` to the cmake command line. +The plugin will be built only if the [BladeRF host library](https://github.com/Nuand/bladeRF) is installed in your system. If you build it from source and install it in a custom location say: `/opt/install/libbladeRF` you will have to add `-DBLADERF_DIR=/opt/install/libbladeRF/include` to the cmake command line. Note that the libbladeRF v2 (specifically the git tag 2018.08) is used. The FPGA image v0.7.3 should be used accordingly. The FPGA .rbf file should be copied to the folder where the `sdrangel` binary resides. You can download FPGA images from [here](https://www.nuand.com/fpga_images/) diff --git a/plugins/samplesink/hackrfoutput/readme.md b/plugins/samplesink/hackrfoutput/readme.md index 6db204276..eb455479f 100644 --- a/plugins/samplesink/hackrfoutput/readme.md +++ b/plugins/samplesink/hackrfoutput/readme.md @@ -6,7 +6,7 @@ This output sample sink plugin sends its samples to a [HackRF device](https://gr

Build

-The plugin will be built only if the [HackRF host library](https://github.com/mossmann/hackrf) is installed in your system. If you build it from source and install it in a custom location say: `/opt/install/libhackrf` you will have to add `-DLIBHACKRF_INCLUDE_DIR=/opt/install/libhackrf/include -DLIBHACKRF_LIBRARIES=/opt/install/libhackrf/lib/libhackrf.so` to the cmake command line. +The plugin will be built only if the [HackRF host library](https://github.com/mossmann/hackrf) is installed in your system. If you build it from source and install it in a custom location say: `/opt/install/libhackrf` you will have to add `-DHACKRF_DIR=/opt/install/libhackrf` to the cmake command line. The HackRF Host library is also provided by many Linux distributions and is built in the SDRangel binary releases. diff --git a/plugins/samplesink/limesdroutput/readme.md b/plugins/samplesink/limesdroutput/readme.md index 2bbf9aba9..5e80da18f 100644 --- a/plugins/samplesink/limesdroutput/readme.md +++ b/plugins/samplesink/limesdroutput/readme.md @@ -25,7 +25,7 @@ The plugin will be built only if LimeSuite is installed in your system. Please u Then add the following defines on `cmake` command line: -`-DLIMESUITE_INCLUDE_DIR=/opt/install/LimeSuite/include -DLIMESUITE_LIBRARY=/opt/install/LimeSuite/lib/libLimeSuite.so` +`-DLIMESUITE_DIR=/opt/install/LimeSuite`

Installation from binary packages

diff --git a/plugins/samplesink/plutosdroutput/readme.md b/plugins/samplesink/plutosdroutput/readme.md index 680d0b857..ab8373f76 100644 --- a/plugins/samplesink/plutosdroutput/readme.md +++ b/plugins/samplesink/plutosdroutput/readme.md @@ -23,7 +23,7 @@ The plugin will be built only if libiio is installed in your system. To build an Then add the following defines on `cmake` command line when compiling SDRangel: -`-DLIBIIO_INCLUDE_DIR=/opt/install/libiio/include -DLIBIIO_LIBRARY=/opt/install/libiio/lib/libiio.so` +`-DIIO_DIR=/opt/install/libiio`

Interface

diff --git a/plugins/samplesink/sdrdaemonsink/readme.md b/plugins/samplesink/sdrdaemonsink/readme.md index e8236643a..9d7b732c1 100644 --- a/plugins/samplesink/sdrdaemonsink/readme.md +++ b/plugins/samplesink/sdrdaemonsink/readme.md @@ -14,7 +14,7 @@ It is present only in Linux binary releases.

Build

-The plugin will be built only if the [CM256cc library](https://github.com/f4exb/cm256cc) is installed in your system. For CM256cc library you will have to specify the include and library paths on the cmake command line. Say if you install cm256cc in `/opt/install/cm256cc` you will have to add `-DCM256CC_INCLUDE_DIR=/opt/install/cm256cc/include/cm256cc -DCM256CC_LIBRARIES=/opt/install/cm256cc/lib/libcm256cc.so` to the cmake commands. +The plugin will be built only if the [CM256cc library](https://github.com/f4exb/cm256cc) is installed in your system. For CM256cc library you will have to specify the include and library paths on the cmake command line. Say if you install cm256cc in `/opt/install/cm256cc` you will have to add `-DCM256CC_DIR=/opt/install/cm256cc` to the cmake commands.

Interface

diff --git a/plugins/samplesource/CMakeLists.txt b/plugins/samplesource/CMakeLists.txt index 5d5561beb..2e09fe99c 100644 --- a/plugins/samplesource/CMakeLists.txt +++ b/plugins/samplesource/CMakeLists.txt @@ -29,11 +29,7 @@ if(LIBUSB_FOUND AND LIBBLADERF_FOUND) add_subdirectory(bladerf2input) endif(LIBUSB_FOUND AND LIBBLADERF_FOUND) -if(LIBUSB_FOUND AND UNIX) - FIND_PATH (ASOUNDH alsa/asoundlib.h) - FIND_LIBRARY (LIBASOUND asound) -endif() -if(LIBASOUND AND ASOUNDH) +if(LIBUSB_FOUND) add_subdirectory(fcdpro) add_subdirectory(fcdproplus) endif() diff --git a/plugins/samplesource/airspyhf/readme.md b/plugins/samplesource/airspyhf/readme.md index 8a7a73b7e..c3e59df06 100644 --- a/plugins/samplesource/airspyhf/readme.md +++ b/plugins/samplesource/airspyhf/readme.md @@ -8,7 +8,7 @@ This input sample source plugin gets its samples from a [Airspy HF+ device](http The plugin will be built only if the [Airspy HF library](https://github.com/airspy/airspyhf) is installed in your system. -If you build it from source and install it in a custom location say: `/opt/install/libairspyhf` you will have to add `-DLIBRTLSDR_INCLUDE_DIR=/opt/install/libairspyhf/include -DLIBRTLSDR_LIBRARIES=/opt/install/libairspyhf/lib/libairspyhf.so` to the cmake command line. +If you build it from source and install it in a custom location say: `/opt/install/libairspyhf` you will have to add `-DAIRSPYHF_DIR=/opt/install/libairspyhf` to the cmake command line. Note: if you use binary distributions this is included in the bundle. diff --git a/plugins/samplesource/bladerf1input/readme.md b/plugins/samplesource/bladerf1input/readme.md index 67c644bbd..eb3bc32d1 100644 --- a/plugins/samplesource/bladerf1input/readme.md +++ b/plugins/samplesource/bladerf1input/readme.md @@ -6,7 +6,7 @@ This input sample source plugin gets its samples from a [BladeRF1 device](https:

Build

-The plugin will be built only if the [BladeRF host library](https://github.com/Nuand/bladeRF) is installed in your system. If you build it from source and install it in a custom location say: `/opt/install/libbladeRF` you will have to add `-DLIBBLADERF_INCLUDE_DIR=/opt/install/libbladeRF/include -DLIBBLADERF_LIBRARIES=/opt/install/libbladeRF/lib/libbladeRF.so` to the cmake command line. +The plugin will be built only if the [BladeRF host library](https://github.com/Nuand/bladeRF) is installed in your system. If you build it from source and install it in a custom location say: `/opt/install/libbladeRF` you will have to add `-DBLADERF_INCLUDE_DIR=/opt/install/libbladeRF` to the cmake command line. Note that libbladeRF v2 with git tag 2018.08 should be used (official release). The FPGA image v0.7.3 should be used accordingly. The FPGA .rbf file should be copied to the folder where the `sdrangel` binary resides. You can download FPGA images from [here](https://www.nuand.com/fpga_images/) diff --git a/plugins/samplesource/bladerf2input/readme.md b/plugins/samplesource/bladerf2input/readme.md index be9e76c2f..216d20d65 100644 --- a/plugins/samplesource/bladerf2input/readme.md +++ b/plugins/samplesource/bladerf2input/readme.md @@ -6,7 +6,7 @@ This input sample source plugin gets its samples from a [BladeRF 2.0 micro devic

Build

-The plugin will be built only if the [BladeRF host library](https://github.com/Nuand/bladeRF) is installed in your system. If you build it from source and install it in a custom location say: `/opt/install/libbladeRF` you will have to add `-DLIBBLADERF_INCLUDE_DIR=/opt/install/libbladeRF/include -DLIBBLADERF_LIBRARIES=/opt/install/libbladeRF/lib/libbladeRF.so` to the cmake command line. +The plugin will be built only if the [BladeRF host library](https://github.com/Nuand/bladeRF) is installed in your system. If you build it from source and install it in a custom location say: `/opt/install/libbladeRF` you will have to add `-DBLADERF_INCLUDE_DIR=/opt/install/libbladeRF` to the cmake command line. Note that libbladeRF v2 with git tag 2018.08 should be used (official release). The FPGA image v0.7.3 should be used accordingly. The FPGA .rbf file should be copied to the folder where the `sdrangel` binary resides. You can download FPGA images from [here](https://www.nuand.com/fpga_images/) diff --git a/plugins/samplesource/hackrfinput/readme.md b/plugins/samplesource/hackrfinput/readme.md index 8b9df7c7e..48ca75ced 100644 --- a/plugins/samplesource/hackrfinput/readme.md +++ b/plugins/samplesource/hackrfinput/readme.md @@ -6,7 +6,7 @@ This input sample source plugin gets its samples from a [HackRF device](https://

Build

-The plugin will be built only if the [HackRF host library](https://github.com/mossmann/hackrf) is installed in your system. If you build it from source and install it in a custom location say: `/opt/install/libhackrf` you will have to add `-DLIBHACKRF_INCLUDE_DIR=/opt/install/libhackrf/include -DLIBHACKRF_LIBRARIES=/opt/install/libhackrf/lib/libhackrf.so` to the cmake command line. +The plugin will be built only if the [HackRF host library](https://github.com/mossmann/hackrf) is installed in your system. If you build it from source and install it in a custom location say: `/opt/install/libhackrf` you will have to add `-DHACKRF_DIR=/opt/install/libhackrf` to the cmake command line. The HackRF Host library is also provided by many Linux distributions and is built in the SDRangel binary releases. diff --git a/plugins/samplesource/limesdrinput/readme.md b/plugins/samplesource/limesdrinput/readme.md index 758fbd190..97dd714c8 100644 --- a/plugins/samplesource/limesdrinput/readme.md +++ b/plugins/samplesource/limesdrinput/readme.md @@ -25,7 +25,7 @@ The plugin will be built only if LimeSuite is installed in your system. To build Then add the following defines on `cmake` command line: -`-DLIMESUITE_INCLUDE_DIR=/opt/install/LimeSuite/include -DLIMESUITE_LIBRARY=/opt/install/LimeSuite/lib/libLimeSuite.so` +`-DLIMESUITE_DIR=/opt/install/LimeSuite`

Installation from binary packages

diff --git a/plugins/samplesource/perseus/readme.md b/plugins/samplesource/perseus/readme.md index 1b24c42ab..9ce665fd1 100644 --- a/plugins/samplesource/perseus/readme.md +++ b/plugins/samplesource/perseus/readme.md @@ -11,7 +11,7 @@ This plugin will be built only if the following conditions are met: - [My fork of libperseus-sdr library](https://github.com/f4exb/libperseus-sdr.git) is installed in your system. You will have to checkout the `fixes` branch which however is the default. There are a few fixes from the original mainly to make it work in a multi-device context. - The 24 bit Rx DSP chain is activated in the compilation with the `-DRX_SAMPLE_24BIT=ON` option on the cmake command line. -If you build it from source and install it in a custom location say: `/opt/install/libperseus` you will have to add `-DLIBPERSEUS_INCLUDE_DIR=/opt/install/libperseus/include -DLIBPERSEUS_LIBRARIES=/opt/install/libperseus/lib/libperseus-sdr.so` to the cmake command line. +If you build it from source and install it in a custom location say: `/opt/install/libperseus` you will have to add `-DPERSEUS_DIR=/opt/install/libperseus` to the cmake command line. ☞ From version 3.12.0 the Linux binaries are built with the 24 bit Rx option and Perseus input plugin. diff --git a/plugins/samplesource/plutosdrinput/readme.md b/plugins/samplesource/plutosdrinput/readme.md index 11614c512..e63dc071f 100644 --- a/plugins/samplesource/plutosdrinput/readme.md +++ b/plugins/samplesource/plutosdrinput/readme.md @@ -23,7 +23,7 @@ The plugin will be built only if libiio is installed in your system. To build an Then add the following defines on `cmake` command line when compiling SDRangel: -`-DLIBIIO_INCLUDE_DIR=/opt/install/libiio/include -DLIBIIO_LIBRARY=/opt/install/libiio/lib/libiio.so` +`-DIIO_DIR=/opt/install/libiio`

Interface

diff --git a/plugins/samplesource/rtlsdr/readme.md b/plugins/samplesource/rtlsdr/readme.md index 284219b47..a7a7fd5c1 100644 --- a/plugins/samplesource/rtlsdr/readme.md +++ b/plugins/samplesource/rtlsdr/readme.md @@ -6,7 +6,7 @@ This input sample source plugin gets its samples from a [RTLSDR device](http://w

Build

-The plugin will be built only if the [RTLSDR host library](https://github.com/f4exb/librtlsdr) is installed in your system. If you build it from source and install it in a custom location say: `/opt/install/librtlsdr` you will have to add `-DLIBRTLSDR_INCLUDE_DIR=/opt/install/librtlsdr/include -DLIBRTLSDR_LIBRARIES=/opt/install/librtlsdr/lib/librtlsdr.so` to the cmake command line. +The plugin will be built only if the [RTLSDR host library](https://github.com/f4exb/librtlsdr) is installed in your system. If you build it from source and install it in a custom location say: `/opt/install/librtlsdr` you will have to add `-DRTLSDR_DIR=/opt/install/librtlsdr` to the cmake command line. If you want to benefit from the direct sampling you will have to compile and install this library else the RTLSDR library is also provided by many Linux distributions. The SDRangel binary releases are compiled with the direct sampling option. diff --git a/plugins/samplesource/sdrdaemonsource/readme.md b/plugins/samplesource/sdrdaemonsource/readme.md index 50313c04c..35849d50c 100644 --- a/plugins/samplesource/sdrdaemonsource/readme.md +++ b/plugins/samplesource/sdrdaemonsource/readme.md @@ -16,7 +16,7 @@ It is present only in Linux binary releases.

Build

-The plugin will be built only if the [CM256cc library](https://github.com/f4exb/cm256cc) is installed in your system. For CM256cc library you will have to specify the include and library paths on the cmake command line. Say if you install cm256cc in `/opt/install/cm256cc` you will have to add `-DCM256CC_INCLUDE_DIR=/opt/install/cm256cc/include/cm256cc -DCM256CC_LIBRARIES=/opt/install/cm256cc/lib/libcm256cc.so` to the cmake commands. +The plugin will be built only if the [CM256cc library](https://github.com/f4exb/cm256cc) is installed in your system. For CM256cc library you will have to specify the include and library paths on the cmake command line. Say if you install cm256cc in `/opt/install/cm256cc` you will have to add `-DCM256CC_DIR=/opt/install/cm256cc` to the cmake commands.

Interface

diff --git a/plugins/samplesource/sdrplay/readme.md b/plugins/samplesource/sdrplay/readme.md index 8c99f42aa..629ea597b 100644 --- a/plugins/samplesource/sdrplay/readme.md +++ b/plugins/samplesource/sdrplay/readme.md @@ -10,7 +10,7 @@ Driver is too unstable in Windows randomly stopping the application and causing

Build

-As mentioned already the plugin depends on libmirisdr-4. You will have to compile it and install it in your system. When installed in non standard folders the include and library paths have to be specified on the cmake command line. Say if you install `libmirisdr-4` in `/opt/install/libmirisdr` you will have to add `-DLIBMIRISDR_INCLUDE_DIR=/opt/install/libmirisdr/include -DLIBMIRISDR_LIBRARIES=/opt/install/libmirisdr/lib/libmirisdr.so` on the cmake command line. +As mentioned already the plugin depends on libmirisdr-4. You will have to compile it and install it in your system. When installed in non standard folders the include and library paths have to be specified on the cmake command line. Say if you install `libmirisdr-4` in `/opt/install/libmirisdr` you will have to add `-DMIRISDR_DIR=/opt/install/libmirisdr` on the cmake command line.

Interface

diff --git a/plugins/samplesource/xtrxinput/readme.md b/plugins/samplesource/xtrxinput/readme.md index cabc9102e..de4f65724 100644 --- a/plugins/samplesource/xtrxinput/readme.md +++ b/plugins/samplesource/xtrxinput/readme.md @@ -14,7 +14,7 @@ The plugin will be built only if XTRX support libraries are installed in your sy If libraries are installed in a custom place like `/opt/install/xtrx-images` add the following defines on `cmake` command line: -`-DLIMESUITE_INCLUDE_DIR=/opt/install/xtrx-images/include -DLIMESUITE_LIBRARY=/opt/install/xtrx-images/lib/libxtrx.so` +`-DXTRX_DIR=/opt/install/xtrx-images`

Interface