Compare commits
No commits in common. "master" and "v7.20.1" have entirely different histories.
211
.appveyor.yml
@ -20,118 +20,117 @@ environment:
|
|||||||
# -DBUILD_SERVER=OFF \
|
# -DBUILD_SERVER=OFF \
|
||||||
# -DCMAKE_PREFIX_PATH=C:\\Qt\\5.15.2\\msvc2019_64;C:\\Libraries\\boost_1_73_0"
|
# -DCMAKE_PREFIX_PATH=C:\\Qt\\5.15.2\\msvc2019_64;C:\\Libraries\\boost_1_73_0"
|
||||||
# CMAKE_GENERATOR: Ninja
|
# CMAKE_GENERATOR: Ninja
|
||||||
# - TARGET: ubuntu2204prod
|
- TARGET: ubuntu2204prod
|
||||||
# APPVEYOR_BUILD_WORKER_CLOUD: nasrock Docker
|
APPVEYOR_BUILD_WORKER_CLOUD: nasrock Docker
|
||||||
# APPVEYOR_BUILD_WORKER_IMAGE: Linux
|
APPVEYOR_BUILD_WORKER_IMAGE: Linux
|
||||||
# CC: "gcc-11"
|
CC: "gcc-11"
|
||||||
# CXX: "g++-11"
|
CXX: "g++-11"
|
||||||
# CMAKE_CUSTOM_OPTIONS: "-DCMAKE_BUILD_TYPE=Release \
|
CMAKE_CUSTOM_OPTIONS: "-DCMAKE_BUILD_TYPE=Release \
|
||||||
# -DARCH_OPT=nehalem \
|
-DARCH_OPT=nehalem \
|
||||||
# -DDEBUG_OUTPUT=ON \
|
-DDEBUG_OUTPUT=ON \
|
||||||
# -DENABLE_EXTERNAL_LIBRARIES=AUTO \
|
-DENABLE_EXTERNAL_LIBRARIES=AUTO \
|
||||||
# -DBUILD_SERVER=OFF"
|
-DBUILD_SERVER=OFF"
|
||||||
- TARGET: ubuntu2204docker
|
- TARGET: ubuntu2204docker
|
||||||
APPVEYOR_BUILD_WORKER_CLOUD: nasrock
|
APPVEYOR_BUILD_WORKER_CLOUD: nasrock
|
||||||
APPVEYOR_BUILD_WORKER_IMAGE: Linux
|
APPVEYOR_BUILD_WORKER_IMAGE: Linux
|
||||||
APPVEYOR_CONSOLE_DISABLE_PTY: true
|
APPVEYOR_CONSOLE_DISABLE_PTY: true
|
||||||
|
|
||||||
for:
|
for:
|
||||||
# # - matrix:
|
# - matrix:
|
||||||
# # only:
|
# only:
|
||||||
# # - TARGET: 'vs2019gui'
|
# - TARGET: 'vs2019gui'
|
||||||
# # cache:
|
# cache:
|
||||||
# # - C:\ProgramData\chocolatey\bin
|
# - C:\ProgramData\chocolatey\bin
|
||||||
# # - C:\ProgramData\chocolatey\lib
|
# - C:\ProgramData\chocolatey\lib
|
||||||
# # build_script:
|
# build_script:
|
||||||
# # - call "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
|
# - call "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
|
||||||
# # # Install GNU patch as applying patches with git fails in BladeRF tree
|
# # Install GNU patch as applying patches with git fails in BladeRF tree
|
||||||
# # - choco install patch
|
# - choco install patch
|
||||||
# # - git submodule update --init --recursive
|
# - git submodule update --init --recursive
|
||||||
# # - mkdir build && cd build
|
# - mkdir build && cd build
|
||||||
# # - cmake .. -G "%CMAKE_GENERATOR%" %CMAKE_CUSTOM_OPTIONS%
|
# - cmake .. -G "%CMAKE_GENERATOR%" %CMAKE_CUSTOM_OPTIONS%
|
||||||
# # - cmake --build . --config Release --target package
|
# - cmake --build . --config Release --target package
|
||||||
# # artifacts: # push installer executable
|
# artifacts: # push installer executable
|
||||||
# # path: build\*.exe
|
# path: build\*.exe
|
||||||
# # name: installer
|
# name: installer
|
||||||
# # deploy:
|
# deploy:
|
||||||
# # release: sdrangel-v$(appveyor_build_version)
|
# release: sdrangel-v$(appveyor_build_version)
|
||||||
# # description: 'SDRangel Windows'
|
# description: 'SDRangel Windows'
|
||||||
# # provider: GitHub
|
# provider: GitHub
|
||||||
# # auth_token:
|
# auth_token:
|
||||||
# # secure: kyU5TaXRoily6q/QLRLqal2xCFGWEdnb8AJIu7FknsUQyj1wjRGmqC2My+Wfszod
|
# secure: kyU5TaXRoily6q/QLRLqal2xCFGWEdnb8AJIu7FknsUQyj1wjRGmqC2My+Wfszod
|
||||||
# # artifact: installer, portable
|
# artifact: installer, portable
|
||||||
# # draft: false
|
# draft: false
|
||||||
# # prerelease: false
|
# prerelease: false
|
||||||
# # tag: $(APPVEYOR_REPO_TAG_NAME) # will not work until tag is pushed
|
# tag: $(APPVEYOR_REPO_TAG_NAME) # will not work until tag is pushed
|
||||||
# # on:
|
# on:
|
||||||
# # APPVEYOR_REPO_TAG: true # deploy on tag push only
|
# APPVEYOR_REPO_TAG: true # deploy on tag push only
|
||||||
# # branch: master # release from master branch only
|
# branch: master # release from master branch only
|
||||||
# - matrix:
|
- matrix:
|
||||||
# only:
|
only:
|
||||||
# - TARGET: ubuntu2204prod
|
- TARGET: ubuntu2204prod
|
||||||
# clone_folder: /home/appveyor/projects
|
clone_folder: /home/appveyor/projects
|
||||||
# cache:
|
cache:
|
||||||
# - $HOME/external/
|
- $HOME/external/
|
||||||
# install:
|
install:
|
||||||
# - sh: sudo apt-get update
|
- sh: sudo apt-get update
|
||||||
# - sh: echo 'debconf debconf/frontend select Noninteractive' | sudo debconf-set-selections
|
- sh: echo 'debconf debconf/frontend select Noninteractive' | sudo debconf-set-selections
|
||||||
# # not sdrplay with soapysdr; libairspyhf-dev is too old (no lna)
|
# not sdrplay with soapysdr; libairspyhf-dev is too old (no lna)
|
||||||
# - sh: |
|
- sh: |
|
||||||
# sudo apt-get -y install build-essential cmake git xxd \
|
sudo apt-get -y install build-essential cmake git xxd \
|
||||||
# devscripts fakeroot debhelper libfftw3-dev qtbase5-dev libopengl-dev libqt5opengl5-dev \
|
devscripts fakeroot debhelper libfftw3-dev qtbase5-dev libopengl-dev libqt5opengl5-dev \
|
||||||
# qttools5-dev qttools5-dev-tools qtmultimedia5-dev libqt5multimedia5-plugins libqt5websockets5-dev \
|
qttools5-dev qttools5-dev-tools qtmultimedia5-dev libqt5multimedia5-plugins libqt5websockets5-dev \
|
||||||
# libqt5quick5 qtwebengine5-dev qtbase5-private-dev \
|
libqt5quick5 qtwebengine5-dev qtbase5-private-dev \
|
||||||
# qml-module-qtlocation qml-module-qtpositioning qml-module-qtquick-window2 qml-module-qtquick-dialogs \
|
qml-module-qtlocation qml-module-qtpositioning qml-module-qtquick-window2 qml-module-qtquick-dialogs \
|
||||||
# qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-layouts qml-module-qtgraphicaleffects \
|
qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-layouts qml-module-qtgraphicaleffects \
|
||||||
# libqt5serialport5-dev qtdeclarative5-dev qtpositioning5-dev qtlocation5-dev \
|
libqt5serialport5-dev qtdeclarative5-dev qtpositioning5-dev qtlocation5-dev \
|
||||||
# libqt5charts5-dev libqt5texttospeech5-dev libqt5gamepad5-dev libqt5svg5-dev libfaad-dev libflac-dev zlib1g-dev \
|
libqt5charts5-dev libqt5texttospeech5-dev libqt5gamepad5-dev libqt5svg5-dev libfaad-dev zlib1g-dev \
|
||||||
# libusb-1.0-0-dev libhidapi-dev libboost-all-dev libasound2-dev libopencv-dev libopencv-imgcodecs-dev \
|
libusb-1.0-0-dev libhidapi-dev libboost-all-dev libasound2-dev libopencv-dev libopencv-imgcodecs-dev \
|
||||||
# libxml2-dev bison flex ffmpeg libpostproc-dev libavcodec-dev libavformat-dev \
|
libxml2-dev bison flex ffmpeg libpostproc-dev libavcodec-dev libavformat-dev \
|
||||||
# libopus-dev libcodec2-dev libairspy-dev libhackrf-dev \
|
libopus-dev libcodec2-dev libairspy-dev libhackrf-dev \
|
||||||
# libbladerf-dev libsoapysdr-dev libiio-dev libuhd-dev libhamlib-dev \
|
libbladerf-dev libsoapysdr-dev libiio-dev libuhd-dev libhamlib-dev \
|
||||||
# python3-mako python3-cheetah python3-numpy \
|
python3-mako python3-cheetah python3-numpy \
|
||||||
# autoconf automake libtool ninja-build libclang1-11
|
autoconf automake libtool ninja-build libclang1-11
|
||||||
# - sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_cm256cc.sh; fi
|
- sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_cm256cc.sh; fi
|
||||||
# - sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_mbelib.sh; fi
|
- sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_mbelib.sh; fi
|
||||||
# - sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_serialdv.sh; fi
|
- sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_serialdv.sh; fi
|
||||||
# - sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_dsdcc.sh; fi
|
- sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_dsdcc.sh; fi
|
||||||
# - sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_perseus-sdr.sh; fi
|
- sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_perseus-sdr.sh; fi
|
||||||
# - sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_xtrx-sdr.sh; fi
|
- sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_xtrx-sdr.sh; fi
|
||||||
# - sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_airspyhf.sh; fi
|
- sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_airspyhf.sh; fi
|
||||||
# - sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_rtlsdr.sh; fi
|
- sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_rtlsdr.sh; fi
|
||||||
# - sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_limesuite.sh; fi
|
- sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_limesuite.sh; fi
|
||||||
# - sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_ggmorse.sh; fi
|
- sh: bash cmake/ci/build_sdrplay.sh
|
||||||
# - sh: bash cmake/ci/build_sdrplay.sh
|
before_build:
|
||||||
# before_build:
|
- sh: bash -c export
|
||||||
# - sh: bash -c export
|
- sh: bash -c pwd
|
||||||
# - sh: bash -c pwd
|
build_script:
|
||||||
# build_script:
|
- sh: ./cmake/ci/build_sdrangel.sh
|
||||||
# - sh: ./cmake/ci/build_sdrangel.sh
|
test_script:
|
||||||
# test_script:
|
# debian build path
|
||||||
# # debian build path
|
- sh: ./obj-x86_64-linux-gnu/sdrangelbench
|
||||||
# - sh: ./obj-x86_64-linux-gnu/sdrangelbench
|
after_build:
|
||||||
# after_build:
|
- sh: mkdir sdrangel-${APPVEYOR_BUILD_VERSION}
|
||||||
# - sh: mkdir sdrangel-${APPVEYOR_BUILD_VERSION}
|
- sh: cp ../*.deb ../*.build ../*.buildinfo ../*.changes sdrangel-${APPVEYOR_BUILD_VERSION}
|
||||||
# - sh: cp ../*.deb ../*.build ../*.buildinfo ../*.changes sdrangel-${APPVEYOR_BUILD_VERSION}
|
- sh: tar -czf sdrangel-${APPVEYOR_BUILD_VERSION}.tar.gz sdrangel-${APPVEYOR_BUILD_VERSION}
|
||||||
# - sh: tar -czf sdrangel-${APPVEYOR_BUILD_VERSION}.tar.gz sdrangel-${APPVEYOR_BUILD_VERSION}
|
artifacts:
|
||||||
# artifacts:
|
- path: sdrangel-${APPVEYOR_BUILD_VERSION}.tar.gz
|
||||||
# - path: sdrangel-${APPVEYOR_BUILD_VERSION}.tar.gz
|
name: package2204
|
||||||
# name: package2204
|
# deploy:
|
||||||
# # deploy:
|
# release: sdrangel-v$(appveyor_build_version)
|
||||||
# # release: sdrangel-v$(appveyor_build_version)
|
# description: 'SDRangel Ubuntu 22.04'
|
||||||
# # description: 'SDRangel Ubuntu 22.04'
|
# provider: GitHub
|
||||||
# # provider: GitHub
|
# auth_token:
|
||||||
# # auth_token:
|
# secure: kyU5TaXRoily6q/QLRLqal2xCFGWEdnb8AJIu7FknsUQyj1wjRGmqC2My+Wfszod
|
||||||
# # secure: kyU5TaXRoily6q/QLRLqal2xCFGWEdnb8AJIu7FknsUQyj1wjRGmqC2My+Wfszod
|
# artifact: archive
|
||||||
# # artifact: archive
|
# draft: false
|
||||||
# # draft: false
|
# prerelease: false
|
||||||
# # prerelease: false
|
# on:
|
||||||
# # on:
|
# APPVEYOR_REPO_TAG: true # deploy on tag push only
|
||||||
# # APPVEYOR_REPO_TAG: true # deploy on tag push only
|
# branch: master # release from master branch only
|
||||||
# # branch: master # release from master branch only
|
deploy:
|
||||||
# deploy:
|
provider: Environment
|
||||||
# provider: Environment
|
name: f4exb
|
||||||
# name: f4exb
|
|
||||||
- matrix:
|
- matrix:
|
||||||
only:
|
only:
|
||||||
- TARGET: ubuntu2204docker
|
- TARGET: ubuntu2204docker
|
||||||
|
62
.github/workflows/linux.yml
vendored
@ -1,62 +0,0 @@
|
|||||||
name: SDRangel Linux release build
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- linux_github_release
|
|
||||||
tags:
|
|
||||||
- 'v*'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build_deb:
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
os: [ubuntu-22.04, ubuntu-24.04]
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
fetch-depth: 0
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get -y install build-essential cmake git xxd \
|
|
||||||
devscripts fakeroot debhelper libfftw3-dev qtbase5-dev libopengl-dev libqt5opengl5-dev \
|
|
||||||
qttools5-dev qttools5-dev-tools qtmultimedia5-dev libqt5multimedia5-plugins libqt5websockets5-dev \
|
|
||||||
libqt5quick5 qtwebengine5-dev qtbase5-private-dev \
|
|
||||||
qml-module-qtlocation qml-module-qtpositioning qml-module-qtquick-window2 qml-module-qtquick-dialogs \
|
|
||||||
qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-layouts qml-module-qtgraphicaleffects \
|
|
||||||
libqt5serialport5-dev qtdeclarative5-dev qtpositioning5-dev qtlocation5-dev \
|
|
||||||
libqt5charts5-dev libqt5texttospeech5-dev libqt5gamepad5-dev libqt5svg5-dev libfaad-dev libflac-dev zlib1g-dev \
|
|
||||||
libusb-1.0-0-dev libhidapi-dev libboost-all-dev libasound2-dev libopencv-dev libopencv-imgcodecs-dev \
|
|
||||||
libxml2-dev bison flex ffmpeg libpostproc-dev libavcodec-dev libavformat-dev \
|
|
||||||
libopus-dev libcodec2-dev libairspy-dev libhackrf-dev \
|
|
||||||
libbladerf-dev libsoapysdr-dev libiio-dev libuhd-dev libhamlib-dev \
|
|
||||||
python3-mako python3-cheetah python3-numpy \
|
|
||||||
autoconf automake libtool ninja-build
|
|
||||||
bash cmake/ci/build_sdrplay.sh
|
|
||||||
- name: Build SDRangel
|
|
||||||
run: |
|
|
||||||
debuild -i -us -uc -b
|
|
||||||
- name: Get version
|
|
||||||
id: get_version
|
|
||||||
run: |
|
|
||||||
if [[ "${{github.ref_name}}" == "linux_github_release" ]]; then
|
|
||||||
echo "version=$(echo ${{github.sha}} | cut -c1-7)" >> $GITHUB_OUTPUT
|
|
||||||
else
|
|
||||||
echo "version=$(echo ${{github.ref_name}} | cut -c2-)" >> $GITHUB_OUTPUT
|
|
||||||
fi
|
|
||||||
- name: Rename
|
|
||||||
run: mv ../sdrangel_*_amd64.deb sdrangel_${{ steps.get_version.outputs.version }}_${{ matrix.os }}_amd64.deb
|
|
||||||
- name: Upload artifact
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: sdrangel_${{ steps.get_version.outputs.version }}_${{ matrix.os }}_amd64.deb
|
|
||||||
path: sdrangel_${{ steps.get_version.outputs.version }}_${{ matrix.os }}_amd64.deb
|
|
||||||
- name: Upload release
|
|
||||||
if: startsWith(github.ref, 'refs/tags/')
|
|
||||||
uses: softprops/action-gh-release@v2
|
|
||||||
with:
|
|
||||||
files: sdrangel_${{ steps.get_version.outputs.version }}_${{ matrix.os }}_amd64.deb
|
|
161
.github/workflows/mac.yml
vendored
@ -1,161 +0,0 @@
|
|||||||
name: SDRangel Mac release build
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- mac_ci
|
|
||||||
tags:
|
|
||||||
- 'v*'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build_mac_x64:
|
|
||||||
runs-on: macos-13
|
|
||||||
env:
|
|
||||||
MACOSX_DEPLOYMENT_TARGET: 12.0
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
fetch-depth: 0
|
|
||||||
- name: Update brew
|
|
||||||
run: brew update
|
|
||||||
- name: Install brew packages
|
|
||||||
run: brew install nasm subversion
|
|
||||||
- name: Install SDRplay API
|
|
||||||
run: |
|
|
||||||
wget https://www.sdrplay.com/software/SDRplayAPI-macos-installer-universal-3.15.0.pkg
|
|
||||||
sudo installer -pkg SDRplayAPI-macos-installer-universal-3.15.0.pkg -target /
|
|
||||||
- name: Install python
|
|
||||||
run: |
|
|
||||||
wget https://www.python.org/ftp/python/3.12.7/python-3.12.7-macos11.pkg
|
|
||||||
sudo installer -pkg python-3.12.7-macos11.pkg -target /
|
|
||||||
- name: Install python packages for UHD
|
|
||||||
run: |
|
|
||||||
/usr/local/bin/python3.12 -m pip install numpy mako requests Cheetah3 setuptools
|
|
||||||
- name: Install Qt
|
|
||||||
uses: jurplel/install-qt-action@v4
|
|
||||||
with:
|
|
||||||
version: '6.9.1'
|
|
||||||
host: 'mac'
|
|
||||||
arch: 'clang_64'
|
|
||||||
modules: 'qtcharts qtscxml qt5compat qtlocation qtmultimedia qtpositioning qtserialport qtspeech qtwebsockets qtwebengine qtshadertools qtwebchannel'
|
|
||||||
- name: Configure SDRangel
|
|
||||||
run: |
|
|
||||||
mkdir build && cd build
|
|
||||||
cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_QT6=ON -DCMAKE_BUILD_TYPE=Release -DARCH_OPT=nehalem -DDEBUG_OUTPUT=ON -DENABLE_USRP=ON -DENABLE_MIRISDR=OFF -DBUILD_SERVER=OFF -DENABLE_EXTERNAL_LIBRARIES=ON -DBUNDLE=ON -DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=TRUE -DPYTHON_EXECUTABLE=/usr/local/bin/python3.12
|
|
||||||
- name: Build SDRangel on Mac
|
|
||||||
run: |
|
|
||||||
cd build
|
|
||||||
make -j4
|
|
||||||
- name: Create dmg
|
|
||||||
run: |
|
|
||||||
cd build
|
|
||||||
RETRIES=5
|
|
||||||
COUNT=1
|
|
||||||
set +e
|
|
||||||
while [ $COUNT -lt $RETRIES ]; do
|
|
||||||
make package
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
RETRIES=0
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
let COUNT=$COUNT+1
|
|
||||||
done
|
|
||||||
shell: bash
|
|
||||||
continue-on-error: true
|
|
||||||
- name: Get version
|
|
||||||
id: get_version
|
|
||||||
run: |
|
|
||||||
if [[ "${{github.ref_name}}" == "mac_ci" ]]; then
|
|
||||||
echo "version=$(echo ${{github.sha}} | cut -c1-7)" >> $GITHUB_OUTPUT
|
|
||||||
else
|
|
||||||
echo "version=$(echo ${{github.ref_name}} | cut -c2-)" >> $GITHUB_OUTPUT
|
|
||||||
fi
|
|
||||||
- name: Get filename
|
|
||||||
id: get_filename
|
|
||||||
run: echo "filename=$(grep CPACK_PACKAGE_FILE_NAME build/CMakeCache.txt | cut -d "=" -f2)" >> $GITHUB_OUTPUT
|
|
||||||
- name: Upload artifact
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: sdrangel-${{ steps.get_version.outputs.version }}-macx64.dmg
|
|
||||||
path: ${{ github.workspace }}/build/${{ steps.get_filename.outputs.filename }}.dmg
|
|
||||||
- name: Upload release
|
|
||||||
if: startsWith(github.ref, 'refs/tags/')
|
|
||||||
uses: softprops/action-gh-release@v2
|
|
||||||
with:
|
|
||||||
files: ${{ github.workspace }}/build/${{ steps.get_filename.outputs.filename }}.dmg
|
|
||||||
|
|
||||||
build_mac_arm64:
|
|
||||||
runs-on: macos-14
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
fetch-depth: 0
|
|
||||||
- name: Update brew
|
|
||||||
run: brew update
|
|
||||||
- name: Install brew packages
|
|
||||||
run: brew install nasm subversion
|
|
||||||
- name: Install SDRplay API
|
|
||||||
run: |
|
|
||||||
wget https://www.sdrplay.com/software/SDRplayAPI-macos-installer-universal-3.15.0.pkg
|
|
||||||
sudo installer -pkg SDRplayAPI-macos-installer-universal-3.15.0.pkg -target /
|
|
||||||
- name: Install python
|
|
||||||
run: |
|
|
||||||
wget https://www.python.org/ftp/python/3.12.7/python-3.12.7-macos11.pkg
|
|
||||||
sudo installer -pkg python-3.12.7-macos11.pkg -target /
|
|
||||||
- name: Install python packages for UHD
|
|
||||||
run: |
|
|
||||||
/usr/local/bin/python3.12 -m pip install numpy mako requests Cheetah3 setuptools
|
|
||||||
- name: Install Qt
|
|
||||||
uses: jurplel/install-qt-action@v4
|
|
||||||
with:
|
|
||||||
version: '6.9.1'
|
|
||||||
host: 'mac'
|
|
||||||
arch: 'clang_64'
|
|
||||||
modules: 'qtcharts qtscxml qt5compat qtlocation qtmultimedia qtpositioning qtserialport qtspeech qtwebsockets qtwebengine qtshadertools qtwebchannel'
|
|
||||||
- name: Configure SDRangel
|
|
||||||
run: |
|
|
||||||
mkdir build && cd build
|
|
||||||
cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_QT6=ON -DCMAKE_BUILD_TYPE=Release -DDEBUG_OUTPUT=ON -DENABLE_USRP=ON -DENABLE_MIRISDR=OFF -DBUILD_SERVER=OFF -DENABLE_EXTERNAL_LIBRARIES=ON -DBUNDLE=ON -DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=TRUE -DPYTHON_EXECUTABLE=/usr/local/bin/python3.12
|
|
||||||
- name: Build SDRangel on Mac
|
|
||||||
run: |
|
|
||||||
cd build
|
|
||||||
make -j3
|
|
||||||
- name: Create dmg
|
|
||||||
run: |
|
|
||||||
cd build
|
|
||||||
RETRIES=5
|
|
||||||
COUNT=1
|
|
||||||
set +e
|
|
||||||
while [ $COUNT -lt $RETRIES ]; do
|
|
||||||
make package
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
RETRIES=0
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
let COUNT=$COUNT+1
|
|
||||||
done
|
|
||||||
shell: bash
|
|
||||||
continue-on-error: true
|
|
||||||
- name: Get version
|
|
||||||
id: get_version
|
|
||||||
run: |
|
|
||||||
if [[ "${{github.ref_name}}" == "mac_ci" ]]; then
|
|
||||||
echo "version=$(echo ${{github.sha}} | cut -c1-7)" >> $GITHUB_OUTPUT
|
|
||||||
else
|
|
||||||
echo "version=$(echo ${{github.ref_name}} | cut -c2-)" >> $GITHUB_OUTPUT
|
|
||||||
fi
|
|
||||||
- name: Get filename
|
|
||||||
id: get_filename
|
|
||||||
run: echo "filename=$(grep CPACK_PACKAGE_FILE_NAME build/CMakeCache.txt | cut -d "=" -f2)" >> $GITHUB_OUTPUT
|
|
||||||
- name: Upload artifact
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: sdrangel-${{ steps.get_version.outputs.version }}-macarm64.dmg
|
|
||||||
path: ${{ github.workspace }}/build/${{ steps.get_filename.outputs.filename }}.dmg
|
|
||||||
- name: Upload release
|
|
||||||
if: startsWith(github.ref, 'refs/tags/')
|
|
||||||
uses: softprops/action-gh-release@v2
|
|
||||||
with:
|
|
||||||
files: ${{ github.workspace }}/build/${{ steps.get_filename.outputs.filename }}.dmg
|
|
34
.github/workflows/sdrangel.yml
vendored
@ -24,14 +24,14 @@ jobs:
|
|||||||
WIN_ARCH: "x64",
|
WIN_ARCH: "x64",
|
||||||
os: windows-latest,
|
os: windows-latest,
|
||||||
QT_INST_DIR: "C:/",
|
QT_INST_DIR: "C:/",
|
||||||
QTDIR: "C:/Qt/6.7.3/msvc2019_64",
|
QTDIR: "C:/Qt/5.15.2/msvc2019_64",
|
||||||
QT_ARCH: win64_msvc2019_64,
|
QT_ARCH: win64_msvc2019_64,
|
||||||
boost_dl: "${{ github.workspace }}\\downloads\\boost",
|
boost_dl: "${{ github.workspace }}\\downloads\\boost",
|
||||||
lib_dir: "C:\\Libraries",
|
lib_dir: "C:\\Libraries",
|
||||||
generators: Ninja
|
generators: Ninja
|
||||||
}
|
}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
@ -41,9 +41,6 @@ jobs:
|
|||||||
echo github.event_name: ${{ github.event_name }}
|
echo github.event_name: ${{ github.event_name }}
|
||||||
echo github.ref: ${{ github.ref }}
|
echo github.ref: ${{ github.ref }}
|
||||||
echo github.workspace: ${{ github.workspace }}
|
echo github.workspace: ${{ github.workspace }}
|
||||||
- uses: actions/setup-python@v5
|
|
||||||
with:
|
|
||||||
python-version: '3.12'
|
|
||||||
- name: Install basic dependencies on Windows
|
- name: Install basic dependencies on Windows
|
||||||
if: startsWith(matrix.config.os, 'windows')
|
if: startsWith(matrix.config.os, 'windows')
|
||||||
run: |
|
run: |
|
||||||
@ -72,20 +69,19 @@ jobs:
|
|||||||
rm -rf boost_*/* download.tar.bz2 download.tar
|
rm -rf boost_*/* download.tar.bz2 download.tar
|
||||||
shell: bash
|
shell: bash
|
||||||
- name: Install Qt
|
- name: Install Qt
|
||||||
uses: jurplel/install-qt-action@v4
|
uses: jurplel/install-qt-action@v3
|
||||||
with:
|
with:
|
||||||
version: '6.7.3'
|
|
||||||
dir: ${{matrix.config.QT_INST_DIR}}
|
dir: ${{matrix.config.QT_INST_DIR}}
|
||||||
arch: ${{matrix.config.QT_ARCH}}
|
arch: ${{matrix.config.QT_ARCH}}
|
||||||
setup-python: false
|
setup-python: false
|
||||||
modules: 'qtcharts qtscxml qt5compat qtlocation qtmultimedia qtpositioning qtserialport qtspeech qtwebsockets qtwebengine qtshadertools qtwebchannel'
|
modules: 'qtcharts qtwebengine'
|
||||||
- name: build sdrangel on Windows
|
- name: build sdrangel on Windows
|
||||||
if: startsWith(matrix.config.os, 'windows')
|
if: startsWith(matrix.config.os, 'windows')
|
||||||
run: |
|
run: |
|
||||||
cmd "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
|
cmd "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
|
||||||
choco install patch
|
choco install patch
|
||||||
mkdir build && cd build
|
mkdir build && cd build
|
||||||
cmake .. -G "${{ matrix.config.generators }}" -DCMAKE_BUILD_TYPE=Release -DENABLE_QT6=ON -DARCH_OPT=SSE4_2 -DDEBUG_OUTPUT=ON -DENABLE_MIRISDR=OFF -DBUILD_SERVER=OFF -DCMAKE_PREFIX_PATH="C:\Qt\6.7.3\msvc2019_64;C:\Libraries\boost_1_73_0"
|
cmake .. -G "${{ matrix.config.generators }}" -DCMAKE_BUILD_TYPE=Release -DARCH_OPT=SSE4_2 -DDEBUG_OUTPUT=ON -DENABLE_MIRISDR=OFF -DBUILD_SERVER=OFF -DCMAKE_PREFIX_PATH="C:\Qt\5.15.2\msvc2019_64;C:\Libraries\boost_1_73_0"
|
||||||
cmake --build . --config Release --target package
|
cmake --build . --config Release --target package
|
||||||
- name: Check disk space
|
- name: Check disk space
|
||||||
run: Get-PSDrive
|
run: Get-PSDrive
|
||||||
@ -93,15 +89,20 @@ jobs:
|
|||||||
id: get_version
|
id: get_version
|
||||||
run: echo "version=$(grep sdrangel_VERSION build/CMakeCache.txt | cut -d "=" -f2)" >> $env:GITHUB_OUTPUT
|
run: echo "version=$(grep sdrangel_VERSION build/CMakeCache.txt | cut -d "=" -f2)" >> $env:GITHUB_OUTPUT
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: sdrangel-${{ steps.get_version.outputs.version }}-win64.exe
|
name: sdrangel-${{ steps.get_version.outputs.version }}-win64.exe
|
||||||
path: ${{ github.workspace }}/build/sdrangel-${{ steps.get_version.outputs.version }}-win64.exe
|
path: ${{ github.workspace }}/build/sdrangel-${{ steps.get_version.outputs.version }}-win64.exe
|
||||||
|
- name: Upload release
|
||||||
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
|
uses: softprops/action-gh-release@v0.1.13
|
||||||
|
with:
|
||||||
|
files: ${{ github.workspace }}/build/sdrangel-${{ steps.get_version.outputs.version }}-win64.exe
|
||||||
|
|
||||||
build_mac:
|
build_mac:
|
||||||
runs-on: macos-14
|
runs-on: macos-13
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
@ -120,11 +121,14 @@ jobs:
|
|||||||
rm -f /usr/local/bin/2to3
|
rm -f /usr/local/bin/2to3
|
||||||
brew install opencv
|
brew install opencv
|
||||||
- name: Install brew packages
|
- name: Install brew packages
|
||||||
run: brew install nasm boost hidapi libusb fftw ffmpeg@5 faad2 zlib airspy airspyhf hackrf rtl-sdr libbladerf soapysdr qt subversion
|
run: brew install nasm boost hidapi libusb fftw faad2 zlib airspy airspyhf hackrf rtl-sdr libbladerf soapysdr qt
|
||||||
- name: Configure SDRangel
|
- name: Configure SDRangel
|
||||||
run: |
|
run: |
|
||||||
mkdir build && cd build
|
mkdir build && cd build
|
||||||
cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_QT6=ON -DCMAKE_BUILD_TYPE=Release -DDEBUG_OUTPUT=ON -DENABLE_CHANNELRX_DEMODDATV=OFF -DENABLE_CHANNELTX_MODDATV=OFF -DENABLE_MIRISDR=OFF -DBUILD_SERVER=OFF -DENABLE_EXTERNAL_LIBRARIES=AUTO -DBUNDLE=ON -DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=TRUE -DCMAKE_PREFIX_PATH="/usr/local/opt/ffmpeg@5/"
|
cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_QT6=ON -DCMAKE_BUILD_TYPE=Release -DARCH_OPT=nehalem -DDEBUG_OUTPUT=ON -DENABLE_CHANNELRX_DEMODDATV=OFF -DENABLE_CHANNELTX_MODDATV=OFF -DENABLE_MIRISDR=OFF -DBUILD_SERVER=OFF -DENABLE_EXTERNAL_LIBRARIES=AUTO -DBUNDLE=ON -DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=TRUE
|
||||||
|
- name: Get filename
|
||||||
|
id: get_filename
|
||||||
|
run: echo "filename=$(grep CPACK_PACKAGE_FILE_NAME build/CMakeCache.txt | cut -d "=" -f2)" >> $GITHUB_OUTPUT
|
||||||
- name: Build SDRangel on Mac
|
- name: Build SDRangel on Mac
|
||||||
run: |
|
run: |
|
||||||
cd build
|
cd build
|
||||||
|
44
.github/workflows/snap.yml
vendored
@ -1,44 +0,0 @@
|
|||||||
# See: https://github.com/snapcore/action-build
|
|
||||||
name: SDRangel snap release build
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- snap
|
|
||||||
tags:
|
|
||||||
- 'v*'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build_snap:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
fetch-depth: 0
|
|
||||||
- name: Get version
|
|
||||||
id: get_version
|
|
||||||
run: |
|
|
||||||
if [[ "${{github.ref_name}}" == "snap" ]]; then
|
|
||||||
echo "version=${{github.sha}}" >> $GITHUB_OUTPUT
|
|
||||||
else
|
|
||||||
echo "version=$(echo ${{github.ref_name}} | cut -c2-)" >> $GITHUB_OUTPUT
|
|
||||||
fi
|
|
||||||
- uses: snapcore/action-build@v1
|
|
||||||
id: build
|
|
||||||
- name: Upload artifact
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: sdrangel-${{ steps.get_version.outputs.version }}-amd64.snap
|
|
||||||
path: ${{ steps.build.outputs.snap }}
|
|
||||||
- name: Upload release
|
|
||||||
if: startsWith(github.ref, 'refs/tags/')
|
|
||||||
uses: softprops/action-gh-release@v2
|
|
||||||
with:
|
|
||||||
files: ${{ steps.build.outputs.snap }}
|
|
||||||
- uses: snapcore/action-publish@v1
|
|
||||||
env:
|
|
||||||
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_STORE_LOGIN }}
|
|
||||||
with:
|
|
||||||
snap: ${{ steps.build.outputs.snap }}
|
|
||||||
release: stable
|
|
119
.github/workflows/windows.yml
vendored
@ -1,119 +0,0 @@
|
|||||||
name: SDRangel Windows release build and signing
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
tags:
|
|
||||||
- 'v*'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
name: ${{ matrix.config.name }}
|
|
||||||
runs-on: ${{ matrix.config.os }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
config:
|
|
||||||
- {
|
|
||||||
name: "Windows-x64",
|
|
||||||
WIN_ARCH: "x64",
|
|
||||||
os: windows-latest,
|
|
||||||
QT_INST_DIR: "C:/",
|
|
||||||
QTDIR: "C:/Qt/6.7.3/msvc2019_64",
|
|
||||||
QT_ARCH: win64_msvc2019_64,
|
|
||||||
boost_dl: "${{ github.workspace }}\\downloads\\boost",
|
|
||||||
lib_dir: "C:\\Libraries",
|
|
||||||
generators: Ninja
|
|
||||||
}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
fetch-depth: 0
|
|
||||||
- name: Print env
|
|
||||||
run: |
|
|
||||||
echo github.event.action: ${{ github.event.action }}
|
|
||||||
echo github.event_name: ${{ github.event_name }}
|
|
||||||
echo github.ref: ${{ github.ref }}
|
|
||||||
echo github.workspace: ${{ github.workspace }}
|
|
||||||
- uses: actions/setup-python@v5
|
|
||||||
with:
|
|
||||||
python-version: '3.12'
|
|
||||||
- name: Install basic dependencies on Windows
|
|
||||||
if: startsWith(matrix.config.os, 'windows')
|
|
||||||
run: |
|
|
||||||
choco install ninja cmake
|
|
||||||
ninja --version
|
|
||||||
cmake --version
|
|
||||||
- name: Install MSVC on Windows
|
|
||||||
if: startsWith(matrix.config.os, 'windows')
|
|
||||||
uses: ilammy/msvc-dev-cmd@v1
|
|
||||||
with:
|
|
||||||
arch: x64
|
|
||||||
- name: Install Boost
|
|
||||||
env:
|
|
||||||
BOOST_ROOT: ${{ matrix.config.boost_dl }}
|
|
||||||
BOOST_DEST: ${{ matrix.config.lib_dir }}
|
|
||||||
BOOST_URL: https://archives.boost.io/release/1.73.0/source/boost_1_73_0.tar.bz2
|
|
||||||
run: |
|
|
||||||
mkdir -p $BOOST_ROOT
|
|
||||||
mkdir -p $BOOST_DEST
|
|
||||||
curl --progress-bar --location --output $BOOST_ROOT/download.tar.bz2 $BOOST_URL
|
|
||||||
7z -o$BOOST_ROOT x $BOOST_ROOT/download.tar.bz2 -y -bd
|
|
||||||
7z -o$BOOST_ROOT x $BOOST_ROOT/download.tar -y -bd
|
|
||||||
cd $BOOST_ROOT && cp -r boost_* $BOOST_DEST
|
|
||||||
ls -l $BOOST_DEST
|
|
||||||
ls -l "C:\\"
|
|
||||||
rm -rf boost_*/* download.tar.bz2 download.tar
|
|
||||||
shell: bash
|
|
||||||
- name: Install Qt
|
|
||||||
uses: jurplel/install-qt-action@v4
|
|
||||||
with:
|
|
||||||
version: '6.7.3'
|
|
||||||
dir: ${{matrix.config.QT_INST_DIR}}
|
|
||||||
arch: ${{matrix.config.QT_ARCH}}
|
|
||||||
setup-python: 'false'
|
|
||||||
modules: 'qtcharts qtscxml qt5compat qtlocation qtmultimedia qtpositioning qtserialport qtspeech qtwebsockets qtwebengine qtshadertools qtwebchannel'
|
|
||||||
- name: build sdrangel on Windows
|
|
||||||
if: startsWith(matrix.config.os, 'windows')
|
|
||||||
run: |
|
|
||||||
cmd "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
|
|
||||||
choco install patch
|
|
||||||
mkdir build && cd build
|
|
||||||
cmake .. -G "${{ matrix.config.generators }}" -DCMAKE_BUILD_TYPE=Release -DENABLE_QT6=ON -DARCH_OPT=SSE4_2 -DDEBUG_OUTPUT=ON -DENABLE_MIRISDR=OFF -DBUILD_SERVER=OFF -DCMAKE_PREFIX_PATH="C:\Qt\6.7.3\msvc2019_64;C:\Libraries\boost_1_73_0"
|
|
||||||
cmake --build . --config Release --target package
|
|
||||||
- name: Check disk space
|
|
||||||
run: Get-PSDrive
|
|
||||||
- name: Get version
|
|
||||||
id: get_version
|
|
||||||
run: echo "version=$(grep sdrangel_VERSION build/CMakeCache.txt | cut -d "=" -f2)" >> $env:GITHUB_OUTPUT
|
|
||||||
- name: Upload unsigned artifact
|
|
||||||
id: upload-unsigned-artifact
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: sdrangel-${{ steps.get_version.outputs.version }}-win64.exe
|
|
||||||
path: ${{ github.workspace }}/build/sdrangel-${{ steps.get_version.outputs.version }}-win64.exe
|
|
||||||
- name: Sign Code
|
|
||||||
id: sign_code
|
|
||||||
uses: signpath/github-action-submit-signing-request@v1
|
|
||||||
with:
|
|
||||||
api-token: '${{ secrets.SIGNPATH_API_TOKEN }}'
|
|
||||||
organization-id: '553b8f53-adf0-4fe5-be3d-283504a21a51'
|
|
||||||
project-slug: 'sdrangel'
|
|
||||||
signing-policy-slug: 'release-signing'
|
|
||||||
github-artifact-id: '${{ steps.upload-unsigned-artifact.outputs.artifact-id }}'
|
|
||||||
wait-for-completion: true
|
|
||||||
output-artifact-directory: 'build\signed'
|
|
||||||
wait-for-completion-timeout-in-seconds: 3600
|
|
||||||
- name: Upload signed artifact
|
|
||||||
id: upload-signed-artifact
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: sdrangel-${{ steps.get_version.outputs.version }}-win64-signed.exe
|
|
||||||
path: ${{ github.workspace }}/build/signed/sdrangel-${{ steps.get_version.outputs.version }}-win64.exe
|
|
||||||
- name: Upload release
|
|
||||||
if: startsWith(github.ref, 'refs/tags/')
|
|
||||||
uses: softprops/action-gh-release@v2
|
|
||||||
with:
|
|
||||||
files: ${{ github.workspace }}/build/signed/sdrangel-${{ steps.get_version.outputs.version }}-win64.exe
|
|
11
.gitignore
vendored
@ -14,9 +14,7 @@ LOCAL/*
|
|||||||
.vscode/
|
.vscode/
|
||||||
.settings/
|
.settings/
|
||||||
*.cs
|
*.cs
|
||||||
*.orig
|
|
||||||
*.pro.user
|
*.pro.user
|
||||||
*.rej
|
|
||||||
.idea/*
|
.idea/*
|
||||||
rescuesdriq/rescuesdriq
|
rescuesdriq/rescuesdriq
|
||||||
debian/sdrangel/*
|
debian/sdrangel/*
|
||||||
@ -28,7 +26,6 @@ obj-x86_64-linux-gnu/*
|
|||||||
**/venv*/
|
**/venv*/
|
||||||
*.pyc
|
*.pyc
|
||||||
.DS_Store
|
.DS_Store
|
||||||
.sonarlint
|
|
||||||
|
|
||||||
### Go ###
|
### Go ###
|
||||||
# Binaries for programs and plugins
|
# Binaries for programs and plugins
|
||||||
@ -46,10 +43,4 @@ obj-x86_64-linux-gnu/*
|
|||||||
|
|
||||||
/rescuesdriq/vendor/
|
/rescuesdriq/vendor/
|
||||||
/rescuesdriq/Godeps/
|
/rescuesdriq/Godeps/
|
||||||
/.vs
|
/.vs
|
||||||
|
|
||||||
# WDSP
|
|
||||||
wdsp/*.o
|
|
||||||
wdsp/*.h
|
|
||||||
wdsp/*.c
|
|
||||||
wdsp/Makefile
|
|
||||||
|
223
CHANGELOG
@ -1,226 +1,3 @@
|
|||||||
sdrangel (7.22.8-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* See Github release
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Wed, 02 Jul 2025 17:00:39 +0200
|
|
||||||
|
|
||||||
sdrangel (7.22.7-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* See Github release
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 04 May 2025 17:58:14 +0200
|
|
||||||
|
|
||||||
sdrangel (7.22.6-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* See Github release
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 02 Feb 2025 18:08:11 +0100
|
|
||||||
|
|
||||||
sdrangel (7.22.5-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Windows: upload signed releases rather than unsigned releases to Github releases page. PR #2347
|
|
||||||
* Windows: fixed signed releases. PR #2344
|
|
||||||
* FT8 Demod: limit upper bandwidth to 5.8 kHz. Fixes #2339
|
|
||||||
* Stop device while changing channel set. Fixes #2332. PR #2342
|
|
||||||
* ADSB: Update URL of OpenSkyNetwork Aircraft database. PR #2341
|
|
||||||
* Don't stop source if being deleted. For #2315. PR #2340
|
|
||||||
* Send DSPSignalNotification in audio mods for #2336. PR #2340
|
|
||||||
* Radiosonde: limit precision of floating point numbers sent to SondeHub. PR #2338
|
|
||||||
* Windows signed releases: use relative path. Increase timeout to 30 minutes. PR #2335
|
|
||||||
* ADSB: Include adsbdemodsettings.h PR #2334
|
|
||||||
* Use release signing certificate for Windows installer. PR #2331
|
|
||||||
* Fix memory leak and race condition relating to DSP*Engines. Part of #2159 PR #2330
|
|
||||||
* FreeDV: Fix memory allocation/free issues. Part of #2315. PR #2330
|
|
||||||
* Wav Files: Add support for meta-data. PR #2328
|
|
||||||
* DemodAnalyzer: Ensure sample rate is set in worker. Fixes #2309. PR #2328
|
|
||||||
^ SDRplayv3: Mac: link with libsdrplay_api.so.3 rather than libsdrplay_api.so.3.15. PR #2327
|
|
||||||
* ADS-B: Fix memory use after delete. For #1734 and part of #2315 PR #2326
|
|
||||||
* Fixed Appveyor Docker image build
|
|
||||||
* Fix output-artifact-directory and unzip file. PR #2323
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Thu, 05 Dec 2024 01:07:27 +0100
|
|
||||||
|
|
||||||
sdrangel (7.22.4-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Use macos-12 for Mac x86 build. PR #2321
|
|
||||||
* Workaround for "hdiutil: create failed - Resource busy"
|
|
||||||
* Pager: Add alpha and numeric columns. Implements #2319. PR #2320
|
|
||||||
* Added qtwebchannel dependecy to fix missing 3d Map and Sky Map from Windows release. PR #2316
|
|
||||||
* Removed .deb package build from Appveyor
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Mom, 11 Nov 2024 08:42:03 +0100
|
|
||||||
|
|
||||||
sdrangel (7.22.3-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Add deb dependencies for pipewire. PR #2314
|
|
||||||
* Added compilation options for WebAssembly. PR #2313
|
|
||||||
* ADS-B: Use settings keys. PR #2310
|
|
||||||
* AIS Demod: Remove spacing around messages. PR #2310
|
|
||||||
* Freuqency Scanner: Add multiplex mode. PR #2310
|
|
||||||
* Build snap, MAC, Windows and Ubuntu .deb with Github actions. Various PRs
|
|
||||||
* Server: Use Sink/MIMO signals rather than Source. Part of #2294. PR #2304
|
|
||||||
* Updated some Python scripts to Python3. PR #2298
|
|
||||||
* RemoteTCPSink: Does use IQ only setting for RTL0. PR #2301
|
|
||||||
* Server: wait for set sample source/sink/MIMO to complete before loading the device settings. Fixes #2294
|
|
||||||
* Fix spectrum peak measurement for SSB spectra. Fixes #2282. PR #2299
|
|
||||||
* Upgrade C++ standard to c++17
|
|
||||||
* Fixes for Android . PR #2288
|
|
||||||
* Add qtshadertools. PR #2287
|
|
||||||
* Add more Qt modules and set ENABLE_QT6=ON. PR #2287
|
|
||||||
* Update Qt optional packages for 6.8 , PR #2287
|
|
||||||
* Use Qt 6.8 for Windows build. PR #2287
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sat, 09 Nov 2024 17:30:44 +0100
|
|
||||||
|
|
||||||
sdrangel (7.22.2-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* ChirpChat: increased preamble symbols limit from 20 to 32. Fixes #2284
|
|
||||||
* RTLSDR: Apply driver settings in RTLSDRThread Add sync read for WebAssembly. PR #2281
|
|
||||||
* SSB demod: fixed GUI and returned to previous threading model. Fixes #2273
|
|
||||||
* HeatMap: Catch memory allocation failures... For #2083 PR #2277
|
|
||||||
* Add default-qt6-windows cmake config. PR #2276
|
|
||||||
* Add pager notifications. Add option to ignore duplicates. Support plotting pager messages on the map. PR #2276
|
|
||||||
* Don't load defaults if loading a preset. PR #2274
|
|
||||||
* DeviceGUI::closeEvent - Don't automatically delete the GUI,.. PR #2274
|
|
||||||
* MainWindow: Add FSMs to avoid blocking on the GUI thread... PR #2274
|
|
||||||
* Fix replay buffer when FixReal is qint16. PR #2270
|
|
||||||
* snap: Try to get version number from latest tag. PR #2270
|
|
||||||
* Add libflac to snap. Set ARCH_OPT to nehalem. PR #2270
|
|
||||||
* Fix flac on Mac. PR #2270
|
|
||||||
* RemoteTCP: Update docs. PR #2270
|
|
||||||
* Map: Fix Kiwi list. Add SDRangel wss support. PR #2270
|
|
||||||
* RemoteTCPSink: Report server init errors via GUI. Send protocol to public list. PR #2270
|
|
||||||
* RemoteTCPInput: Add wss protocol support. PR #2270
|
|
||||||
* Fix DeviceAPI::deserialize. Fixes #2266. PR #2267
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 20 Oct 2024 08:26:38 +0200
|
|
||||||
|
|
||||||
sdrangel (7.22.1-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* wdsprx: Fix path to help file.
|
|
||||||
* Removed SyncMessenger from DSPDeviceSourceEngine. Part of #2159
|
|
||||||
* Fixed threading model for DSPDeviceSourceEngine. Part of #2159
|
|
||||||
* Removed SyncMessenger from DSPDeviceMIMOEngine. Part of #2159
|
|
||||||
* RTLSDR: make sure start and stop are effective once only. PArt of #2159
|
|
||||||
* Fixed threading model for DSPDeviceMIMOEngine plus other fixes. Part of #2159
|
|
||||||
* Removed SyncMessenger from DSPDeviceSinkEngine. Part of #2159
|
|
||||||
* SSBMod, AMMod, NFMMod: revised thread processing
|
|
||||||
* Fixed threading model for DSPDeviceSinkEngine plus other fixes. Part of #2159
|
|
||||||
* DeviceSet and DeviceUISet: use delete channel API instead of destroy method...
|
|
||||||
* BladeRF2Output: removed applySettings from stop method
|
|
||||||
* All device plugins: make sure start and stop are effective once only. PArt of #2159
|
|
||||||
* Removed the destroy method from ChannelGUI interface
|
|
||||||
* DeviceGUI: removed destroy method. Part of #2159
|
|
||||||
* Fix SopaySDR library search when system cmake package present. PR #2245
|
|
||||||
* Append prefix to plugin name when running on Android. PR #2245
|
|
||||||
* Fix compilation with newer ffmpeg libavutil. PR #2245
|
|
||||||
* Fix compilation for Android with Qt6. PR #2245
|
|
||||||
* Bump Cmake minimal version to 3.17
|
|
||||||
* Use new find_package(CUDA Toolkit). PR #2250
|
|
||||||
* Update CMakeLists.txt to allow static libraries to be built, as well as shared... PR #2252
|
|
||||||
* Allow plugins to be compiled as static libs, part 2. PR #2254
|
|
||||||
* Use opencv4 with VS2022. PR #2257
|
|
||||||
* Frequency Scanner: initialize pointer to FrequencyScanner. Fixes #2262
|
|
||||||
* Update channel list upon Morse Decoder and Demod Analyzer GUI creation. Fixes #2263
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 06 Oct 2024 08:39:11 +0200
|
|
||||||
|
|
||||||
sdrangel (7.22.0-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* New Rx channel based on WDSP. Issue #2156
|
|
||||||
* Added cubehelix based color maps. Issue #2191
|
|
||||||
* Fix API host address in About dialog and debug message. PR #2218
|
|
||||||
* Some cleanup. PR #2212
|
|
||||||
* Added shift to channel marker to take RIT into account. Part of #2156
|
|
||||||
* Added S-meter units to scale engine. Part of #2156
|
|
||||||
* Some typos fixes. PR #2206
|
|
||||||
* Map enhancements and fixes. PR #2187
|
|
||||||
* APT Demod: Check filename suffix is specified. PR #2190
|
|
||||||
* Don't change filenames on Android, PR #2190
|
|
||||||
* Frequency Scanner: Fix rounding error. PR #2186
|
|
||||||
* Update sdrangel-windows-libraries link to include latest VC redistributable. PR #2185
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Tue, 13 Aug 2024 17:01:01 +0200
|
|
||||||
|
|
||||||
sdrangel (7.21.4-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Code fixes. PR #2184
|
|
||||||
* Do not save the settings twice. PR #2182
|
|
||||||
* FreqScanner: Add HF ATC channels preset. PR #2181
|
|
||||||
* FreqScanner: Add API action to run scan. Add scan results to channel report. PR #2181
|
|
||||||
* FreqScanner: Add scanState to FreqScanner Report. PR #2181
|
|
||||||
* Configurations dialog: Fix slot names. PR #2180
|
|
||||||
* AIS: Validate message length. Fixes #2125. PR #2180
|
|
||||||
* ILS Demod. Save frequency when switching between LOC and G/S. PR #2180
|
|
||||||
* ILS Demod. Set frequency for ident when in G/S mode. Fixes #2177. PR #2180
|
|
||||||
* Heat Map: Handle memory allocation errors. PR #2175
|
|
||||||
* Heat Map: Allow selecting which data to be saved to reduce memory requirements. PR #2175
|
|
||||||
* ILS Demod: Add DDM/SDM/Deviation to channel report. PR #2174
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Tue, 25 Jun 2024 20:17:52 +0200
|
|
||||||
|
|
||||||
sdrangel (7.21.3-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Update sdrangel-windows-libraries to latest revision. PR #2173 fixes #2155
|
|
||||||
* SDRplayV3Input: Add SDRPLAY_RSPdxR2_ID support. PR #2172 fixes #2155
|
|
||||||
* Fix tooltips. PR #2170
|
|
||||||
* Update external/windows to latest sdrangel-windows-libraries. PR #2169
|
|
||||||
* Update SDRplay API to 3.15 on Mac. PR #2169
|
|
||||||
* Fix typo in ILS freq. PR #2168
|
|
||||||
* Remove use of deprecated QRegExp. PR #2160
|
|
||||||
* Fix memleaks. PR #2157
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Mon, 17 Jun 2024 22:30:17 +0200
|
|
||||||
|
|
||||||
sdrangel (7.21.2-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Morse Decoder feature: build for Windows. Issue #2152
|
|
||||||
* Satellite Tracker Settings: add missing help description of Replay tab, PR #2151
|
|
||||||
* Satellite Tracker Settings: update help page for new button. PR #2151
|
|
||||||
* Satellite Tracker Settings: add a button to reset the list of TLE. PR #2151
|
|
||||||
* Move defines to the header so they can be reused elsewhere. PR #2151
|
|
||||||
* Factor out the code that updates the widget containing the list of TLEs. PR #2151
|
|
||||||
* Use https for all addresses. PR #2151
|
|
||||||
* Set CMAKE_PREFIX_PATH to include ffmpeg@5. PR #2149
|
|
||||||
* Github mac CI: Try ffmpeg@5. PR #2149
|
|
||||||
* CUDAvkFFTEngine: Add required include.. PR #2149
|
|
||||||
* Fix memleaks. PR #2133
|
|
||||||
* Remove extra margins from some dialog. PR #2148
|
|
||||||
* SDRPlay v1: fix setting of hardware flavour. Fixes #2127
|
|
||||||
* Audio Input: list plugin as a built in device for multiple times instantiation. Fixes #2143
|
|
||||||
* Do not exit after listing available devices. Fixes #2144
|
|
||||||
* Fix and refactor FindSoapySDR.cmake. PR #2146
|
|
||||||
* Morse Decoder: returm to the original GGMorse library
|
|
||||||
* Fix WFM mod: remove feedback sink. PR #2138
|
|
||||||
* Fix ADSB demod: Message length. PR #2138
|
|
||||||
* Fix Sigmf Record: overwriting sigmf-data or sigmf-meta. PR #2136
|
|
||||||
* Highlight the current workspace and device. PR #2126
|
|
||||||
* Web API: Sort some files by name in the resources file. PR #2124
|
|
||||||
* Web API: Add missing files to resources file. PR #2124
|
|
||||||
* Install subversion for Mac build. PR #2123
|
|
||||||
* Fix ggmorse paths on ma. PR #2123
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Fri, 06 Jun 2024 20:09:11 +0200
|
|
||||||
|
|
||||||
sdrangel (7.21.1-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Morse Decoder feature: Fix for Qt6 and Windows. PR #2122
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Fri, 24 May 2024 10:29:04 +0200
|
|
||||||
|
|
||||||
sdrangel (7.21.0-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Morse decoder feature. Implements #2112
|
|
||||||
* Fix crash quitting sdrangel when the SID window is open. PR #2121. Fixes #2119
|
|
||||||
* SSB demod: apply clamping also when squelch opens
|
|
||||||
* Remove unneeded calls to disconnect signals. PR #2120
|
|
||||||
* Fix memleaks. PR #2120 PR #2058.
|
|
||||||
* Do not create objects if there is no message queue to send to. PR #2058.
|
|
||||||
* Do not create a Message if there is no worker to send to. PT #2058
|
|
||||||
* Add cmake option to optionally compile with LeakSanitizer. PR #2058
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Thu, 23 May 2024 22:18:08 +0200
|
|
||||||
|
|
||||||
sdrangel (7.20.1-1) unstable; urgency=medium
|
sdrangel (7.20.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
* Fix Qt6 build. PR #2069
|
* Fix Qt6 build. PR #2069
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.17.0)
|
cmake_minimum_required(VERSION 3.13.0)
|
||||||
|
|
||||||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL")
|
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL")
|
||||||
|
|
||||||
@ -11,7 +11,7 @@ endif()
|
|||||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules)
|
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules)
|
||||||
|
|
||||||
# disable only when needed
|
# disable only when needed
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 14)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||||
|
|
||||||
@ -19,18 +19,16 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|||||||
|
|
||||||
# configure version
|
# configure version
|
||||||
set(sdrangel_VERSION_MAJOR "7")
|
set(sdrangel_VERSION_MAJOR "7")
|
||||||
set(sdrangel_VERSION_MINOR "22")
|
set(sdrangel_VERSION_MINOR "20")
|
||||||
set(sdrangel_VERSION_PATCH "8")
|
set(sdrangel_VERSION_PATCH "1")
|
||||||
set(sdrangel_VERSION_SUFFIX "")
|
set(sdrangel_VERSION_SUFFIX "")
|
||||||
|
|
||||||
# SDRAngel cmake options
|
# SDRAngel cmake options
|
||||||
option(DEBUG_OUTPUT "Print debug messages" OFF)
|
option(DEBUG_OUTPUT "Print debug messages" OFF)
|
||||||
option(SANITIZE_ADDRESS "Activate detection of uninitialized memory (AddressSanitizer)" OFF)
|
option(SANITIZE_ADDRESS "Activate memory address sanitization" OFF)
|
||||||
option(SANITIZE_MEMORY "Activate detection of leaked memory (LeakSanitizer)" OFF)
|
|
||||||
option(RX_SAMPLE_24BIT "Internal 24 bit Rx DSP" ON)
|
option(RX_SAMPLE_24BIT "Internal 24 bit Rx DSP" ON)
|
||||||
option(BUILD_SERVER "Build Server" ON)
|
option(BUILD_SERVER "Build Server" ON)
|
||||||
option(BUILD_GUI "Build GUI" ON)
|
option(BUILD_GUI "Build GUI" ON)
|
||||||
option(BUILD_BENCH "Build benchmark" ON)
|
|
||||||
option(HIDE_CONSOLE "Hide console when running GUI on Windows" ON)
|
option(HIDE_CONSOLE "Hide console when running GUI on Windows" ON)
|
||||||
option(BUNDLE "Enable distribution bundle" OFF)
|
option(BUNDLE "Enable distribution bundle" OFF)
|
||||||
set(ARCH_OPT "native" CACHE STRING "Specify instruction set to use. Will be passed directly as `-march` or `/arch:` argument on supported compilers. \
|
set(ARCH_OPT "native" CACHE STRING "Specify instruction set to use. Will be passed directly as `-march` or `/arch:` argument on supported compilers. \
|
||||||
@ -38,10 +36,8 @@ set(ARCH_OPT "native" CACHE STRING "Specify instruction set to use. Will be pass
|
|||||||
option(ENABLE_QT6 "Build with Qt6 rather than Qt5" OFF)
|
option(ENABLE_QT6 "Build with Qt6 rather than Qt5" OFF)
|
||||||
option(ENABLE_PROFILER "Enable runtime profiler" OFF)
|
option(ENABLE_PROFILER "Enable runtime profiler" OFF)
|
||||||
set(VKFFT_BACKEND 1 CACHE STRING "vkFFT Backend: 0 - Vulkan, 1 - CUDA")
|
set(VKFFT_BACKEND 1 CACHE STRING "vkFFT Backend: 0 - Vulkan, 1 - CUDA")
|
||||||
option(BUILD_SHARED_LIBS "Build using shared libraries" ON)
|
|
||||||
|
|
||||||
# Sampling devices enablers
|
# Sampling devices enablers
|
||||||
option(ENABLE_AARONIARTSA "Enable AaroniaRTSA support" ON)
|
|
||||||
option(ENABLE_AIRSPY "Enable AirSpy support" ON)
|
option(ENABLE_AIRSPY "Enable AirSpy support" ON)
|
||||||
option(ENABLE_AIRSPYHF "Enable AirSpyHF support" ON)
|
option(ENABLE_AIRSPYHF "Enable AirSpyHF support" ON)
|
||||||
option(ENABLE_BLADERF "Enable bladeRF support" ON)
|
option(ENABLE_BLADERF "Enable bladeRF support" ON)
|
||||||
@ -49,7 +45,6 @@ option(ENABLE_FUNCUBE "Enable FUNcube support" ON)
|
|||||||
option(ENABLE_HACKRF "Enable HackRF support" ON)
|
option(ENABLE_HACKRF "Enable HackRF support" ON)
|
||||||
option(ENABLE_IIO "Enable liniio support like PlutoSDR" ON)
|
option(ENABLE_IIO "Enable liniio support like PlutoSDR" ON)
|
||||||
option(ENABLE_LIMESUITE "Enable limesuite support" ON)
|
option(ENABLE_LIMESUITE "Enable limesuite support" ON)
|
||||||
option(ENABLE_METIS "Enable Metis support" ON)
|
|
||||||
option(ENABLE_MIRISDR "Enable LibMiri for old SDRPlay" ON)
|
option(ENABLE_MIRISDR "Enable LibMiri for old SDRPlay" ON)
|
||||||
option(ENABLE_PERSEUS "Enable perseus support" ON)
|
option(ENABLE_PERSEUS "Enable perseus support" ON)
|
||||||
option(ENABLE_RTLSDR "Enable rtl-sdr support" ON)
|
option(ENABLE_RTLSDR "Enable rtl-sdr support" ON)
|
||||||
@ -100,7 +95,6 @@ option(ENABLE_CHANNELRX_HEATMAP "Enable channelrx heatmap plugin" ON)
|
|||||||
option(ENABLE_CHANNELRX_FREQSCANNER "Enable channelrx freqscanner plugin" ON)
|
option(ENABLE_CHANNELRX_FREQSCANNER "Enable channelrx freqscanner plugin" ON)
|
||||||
option(ENABLE_CHANNELRX_ENDOFTRAIN "Enable channelrx end-of-train plugin" ON)
|
option(ENABLE_CHANNELRX_ENDOFTRAIN "Enable channelrx end-of-train plugin" ON)
|
||||||
option(ENABLE_CHANNELRX_CHANNELPOWER "Enable channelrx channel power plugin" ON)
|
option(ENABLE_CHANNELRX_CHANNELPOWER "Enable channelrx channel power plugin" ON)
|
||||||
option(ENABLE_CHANNELRX_WDSPRX "Enable channelrx WDSP receiver plugin" ON)
|
|
||||||
|
|
||||||
# Channel Tx enablers
|
# Channel Tx enablers
|
||||||
option(ENABLE_CHANNELTX "Enable channeltx plugins" ON)
|
option(ENABLE_CHANNELTX "Enable channeltx plugins" ON)
|
||||||
@ -151,7 +145,6 @@ option(ENABLE_FEATURE_GS232CONTROLLER "Enable feature gs232controller plugin" ON
|
|||||||
option(ENABLE_FEATURE_REMOTECONTROL "Enable feature remote control plugin" ON)
|
option(ENABLE_FEATURE_REMOTECONTROL "Enable feature remote control plugin" ON)
|
||||||
option(ENABLE_FEATURE_SKYMAP "Enable feature sky map plugin" ON)
|
option(ENABLE_FEATURE_SKYMAP "Enable feature sky map plugin" ON)
|
||||||
option(ENABLE_FEATURE_SID "Enable feature sid plugin" ON)
|
option(ENABLE_FEATURE_SID "Enable feature sid plugin" ON)
|
||||||
option(ENABLE_FEATURE_MORSEDECODER "Enable feature morsedecoder plugin" ON)
|
|
||||||
|
|
||||||
# on windows always build external libraries
|
# on windows always build external libraries
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
@ -186,7 +179,7 @@ if(GIT_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.git/")
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_program(CCACHE "ccache")
|
find_program(CCACHE "ccache")
|
||||||
if(CCACHE AND NOT EMSCRIPTEN)
|
if(CCACHE)
|
||||||
message(STATUS "Using ccache ${CCACHE}")
|
message(STATUS "Using ccache ${CCACHE}")
|
||||||
set(CMAKE_C_COMPILER_LAUNCHER ${CCACHE})
|
set(CMAKE_C_COMPILER_LAUNCHER ${CCACHE})
|
||||||
set(CMAKE_CXX_COMPILER_LAUNCHER ${CCACHE})
|
set(CMAKE_CXX_COMPILER_LAUNCHER ${CCACHE})
|
||||||
@ -194,7 +187,7 @@ if(CCACHE AND NOT EMSCRIPTEN)
|
|||||||
set(CMAKE_OBJCXX_COMPILER_LAUNCHER ${CCACHE})
|
set(CMAKE_OBJCXX_COMPILER_LAUNCHER ${CCACHE})
|
||||||
endif()
|
endif()
|
||||||
set(ENV{CCACHE_SLOPPINESS} pch_defines,time_macros)
|
set(ENV{CCACHE_SLOPPINESS} pch_defines,time_macros)
|
||||||
endif()
|
endif(CCACHE)
|
||||||
|
|
||||||
set(sdrangel_VERSION "${sdrangel_VERSION_MAJOR}.${sdrangel_VERSION_MINOR}.${sdrangel_VERSION_PATCH}${sdrangel_VERSION_SUFFIX}" CACHE INTERNAL "")
|
set(sdrangel_VERSION "${sdrangel_VERSION_MAJOR}.${sdrangel_VERSION_MINOR}.${sdrangel_VERSION_PATCH}${sdrangel_VERSION_SUFFIX}" CACHE INTERNAL "")
|
||||||
message(STATUS "${APPLICATION_NAME} Version: ${sdrangel_VERSION}")
|
message(STATUS "${APPLICATION_NAME} Version: ${sdrangel_VERSION}")
|
||||||
@ -273,15 +266,6 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
set(INSTALL_PLUGINS_DIR "${INSTALL_LIB_DIR}/plugins")
|
set(INSTALL_PLUGINS_DIR "${INSTALL_LIB_DIR}/plugins")
|
||||||
set(INSTALL_PLUGINSSRV_DIR "${INSTALL_LIB_DIR}/pluginssrv")
|
set(INSTALL_PLUGINSSRV_DIR "${INSTALL_LIB_DIR}/pluginssrv")
|
||||||
|
|
||||||
if(ANDROID)
|
|
||||||
set(PLUGINS_PREFIX "sdrangel_plugins_")
|
|
||||||
set(PLUGINSSRV_PREFIX "sdrangel_pluginssrv_")
|
|
||||||
set(ANDROID_PACKAGE_SOURCE_DIR ${PROJECT_SOURCE_DIR}/android/qt6 CACHE INTERNAL "")
|
|
||||||
else()
|
|
||||||
set(PLUGINS_PREFIX "")
|
|
||||||
set(PLUGINSSRV_PREFIX "")
|
|
||||||
endif()
|
|
||||||
set(EXTERNAL_BUILD_LIBRARIES "${CMAKE_BINARY_DIR}/external")
|
set(EXTERNAL_BUILD_LIBRARIES "${CMAKE_BINARY_DIR}/external")
|
||||||
|
|
||||||
# custom libraries
|
# custom libraries
|
||||||
@ -321,7 +305,7 @@ elseif(APPLE)
|
|||||||
elseif (WIN32)
|
elseif (WIN32)
|
||||||
# check compiler version
|
# check compiler version
|
||||||
message(STATUS "MSVC_VERSION is ${MSVC_VERSION}")
|
message(STATUS "MSVC_VERSION is ${MSVC_VERSION}")
|
||||||
if(MSVC_VERSION GREATER_EQUAL 1930)
|
if(MSVC_VERSION GREATER_EQUAL 1930 AND MSVC_VERSION LESS 1940)
|
||||||
set(VS2022 ON)
|
set(VS2022 ON)
|
||||||
elseif(MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS 1930)
|
elseif(MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS 1930)
|
||||||
set(VS2019 ON)
|
set(VS2019 ON)
|
||||||
@ -348,7 +332,7 @@ elseif (WIN32)
|
|||||||
set(LIBUSB_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/libusb/MS64/dll/libusb-1.0.lib" CACHE INTERNAL "")
|
set(LIBUSB_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/libusb/MS64/dll/libusb-1.0.lib" CACHE INTERNAL "")
|
||||||
set(LIBUSB_DLL_DIR "${EXTERNAL_LIBRARY_FOLDER}/libusb/MS64/dll" CACHE INTERNAL "")
|
set(LIBUSB_DLL_DIR "${EXTERNAL_LIBRARY_FOLDER}/libusb/MS64/dll" CACHE INTERNAL "")
|
||||||
|
|
||||||
if(VS2022 OR VS2019)
|
if(VS2019)
|
||||||
set(OpenCV_DIR "${EXTERNAL_LIBRARY_FOLDER}/opencv4" CACHE INTERNAL "")
|
set(OpenCV_DIR "${EXTERNAL_LIBRARY_FOLDER}/opencv4" CACHE INTERNAL "")
|
||||||
else()
|
else()
|
||||||
set(OpenCV_DIR "${EXTERNAL_LIBRARY_FOLDER}/opencv" CACHE INTERNAL "")
|
set(OpenCV_DIR "${EXTERNAL_LIBRARY_FOLDER}/opencv" CACHE INTERNAL "")
|
||||||
@ -429,7 +413,7 @@ elseif (WIN32)
|
|||||||
elseif(ANDROID)
|
elseif(ANDROID)
|
||||||
set(EXTERNAL_LIBRARY_FOLDER "${CMAKE_SOURCE_DIR}/external/android")
|
set(EXTERNAL_LIBRARY_FOLDER "${CMAKE_SOURCE_DIR}/external/android")
|
||||||
|
|
||||||
set(Boost_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/ndk_26b_boost_1.83.0/include" CACHE INTERNAL "")
|
set(Boost_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/ndk_21_boost_1.72.0/include" CACHE INTERNAL "")
|
||||||
|
|
||||||
set(FFTW3F_FOUND ON CACHE INTERNAL "")
|
set(FFTW3F_FOUND ON CACHE INTERNAL "")
|
||||||
set(FFTW3F_INCLUDE_DIRS "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/fftw-3/include" CACHE INTERNAL "")
|
set(FFTW3F_INCLUDE_DIRS "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/fftw-3/include" CACHE INTERNAL "")
|
||||||
@ -486,14 +470,6 @@ elseif(ANDROID)
|
|||||||
set(SWSCALE_INCLUDE_DIRS "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/include" CACHE INTERNAL "")
|
set(SWSCALE_INCLUDE_DIRS "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/include" CACHE INTERNAL "")
|
||||||
set(SWSCALE_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/lib/libswscale.so" CACHE INTERNAL "")
|
set(SWSCALE_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/lib/libswscale.so" CACHE INTERNAL "")
|
||||||
|
|
||||||
set(GGMORSE_FOUND ON CACHE INTERNAL "")
|
|
||||||
set(GGMORSE_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ggmorse/include/" CACHE INTERNAL "")
|
|
||||||
set(GGMORSE_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ggmorse/lib/static/libggmorse.a" CACHE INTERNAL "")
|
|
||||||
|
|
||||||
set(FLAC_FOUND ON CACHE INTERNAL "")
|
|
||||||
set(FLAC_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/flac/include/" CACHE INTERNAL "")
|
|
||||||
set(FLAC_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/flac/lib/libFLAC.so" CACHE INTERNAL "")
|
|
||||||
|
|
||||||
set(LIBUSB_FOUND ON CACHE INTERNAL "")
|
set(LIBUSB_FOUND ON CACHE INTERNAL "")
|
||||||
set(LIBUSB_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/libusb/include/" CACHE INTERNAL "")
|
set(LIBUSB_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/libusb/include/" CACHE INTERNAL "")
|
||||||
set(LIBUSB_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/libusb/lib/libusb1.0.so" CACHE INTERNAL "")
|
set(LIBUSB_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/libusb/lib/libusb1.0.so" CACHE INTERNAL "")
|
||||||
@ -516,6 +492,11 @@ elseif(ANDROID)
|
|||||||
|
|
||||||
if (ENABLE_QT6)
|
if (ENABLE_QT6)
|
||||||
set(ANDROID_EXTRA_LIBS
|
set(ANDROID_EXTRA_LIBS
|
||||||
|
${Qt6_DIR}/../../../android_arm64_v8a/lib/libQt6Charts_arm64-v8a.so
|
||||||
|
${Qt6_DIR}/../../../android_arm64_v8a/lib/libQt6Concurrent_arm64-v8a.so
|
||||||
|
${Qt6_DIR}/../../../android_arm64_v8a/lib/libQt6MultimediaWidgets_arm64-v8a.so
|
||||||
|
${Qt6_DIR}/../../../android_arm64_v8a/lib/libQt6SerialPort_arm64-v8a.so
|
||||||
|
${Qt6_DIR}/../../../android_arm64_v8a/lib/libQt6TextToSpeech_arm64-v8a.so
|
||||||
${EXTERNAL_LIBRARY_FOLDER}/android_openssl/latest/arm64/libssl_1_1.so
|
${EXTERNAL_LIBRARY_FOLDER}/android_openssl/latest/arm64/libssl_1_1.so
|
||||||
${EXTERNAL_LIBRARY_FOLDER}/android_openssl/latest/arm64/libcrypto_1_1.so
|
${EXTERNAL_LIBRARY_FOLDER}/android_openssl/latest/arm64/libcrypto_1_1.so
|
||||||
${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/lib/libavcodec.so
|
${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/lib/libavcodec.so
|
||||||
@ -530,7 +511,6 @@ elseif(ANDROID)
|
|||||||
${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/dsdcc/lib/libdsdcc.so
|
${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/dsdcc/lib/libdsdcc.so
|
||||||
${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/libusb/lib/libunrooted_android.so
|
${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/libusb/lib/libunrooted_android.so
|
||||||
${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/libusb/lib/libusb1.0.so
|
${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/libusb/lib/libusb1.0.so
|
||||||
${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/flac/lib/libFLAC.so
|
|
||||||
CACHE INTERNAL ""
|
CACHE INTERNAL ""
|
||||||
)
|
)
|
||||||
else()
|
else()
|
||||||
@ -581,7 +561,6 @@ elseif(ANDROID)
|
|||||||
${EXTERNAL_LIBRARY_FOLDER}/arm64-v8a/dsdcc/lib/libdsdcc.so
|
${EXTERNAL_LIBRARY_FOLDER}/arm64-v8a/dsdcc/lib/libdsdcc.so
|
||||||
${EXTERNAL_LIBRARY_FOLDER}/arm64-v8a/libusb/lib/libunrooted_android.so
|
${EXTERNAL_LIBRARY_FOLDER}/arm64-v8a/libusb/lib/libunrooted_android.so
|
||||||
${EXTERNAL_LIBRARY_FOLDER}/arm64-v8a/libusb/lib/libusb1.0.so
|
${EXTERNAL_LIBRARY_FOLDER}/arm64-v8a/libusb/lib/libusb1.0.so
|
||||||
${EXTERNAL_LIBRARY_FOLDER}/arm64-v8a/flac/lib/libFLAC.so
|
|
||||||
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/ffmpeg/lib/libavcodec.so
|
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/ffmpeg/lib/libavcodec.so
|
||||||
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/ffmpeg/lib/libavdevice.so
|
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/ffmpeg/lib/libavdevice.so
|
||||||
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/ffmpeg/lib/libavfilter.so
|
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/ffmpeg/lib/libavfilter.so
|
||||||
@ -594,11 +573,9 @@ elseif(ANDROID)
|
|||||||
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/dsdcc/lib/libdsdcc.so
|
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/dsdcc/lib/libdsdcc.so
|
||||||
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/libusb/lib/libunrooted_android.so
|
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/libusb/lib/libunrooted_android.so
|
||||||
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/libusb/lib/libusb1.0.so
|
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/libusb/lib/libusb1.0.so
|
||||||
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/flac/lib/libFLAC.so
|
|
||||||
CACHE INTERNAL ""
|
CACHE INTERNAL ""
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
add_compile_definitions(ANDROID)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# When building a bundle on MacOS, we want to keep build paths in the library
|
# When building a bundle on MacOS, we want to keep build paths in the library
|
||||||
@ -657,7 +634,8 @@ if(ENABLE_QT6)
|
|||||||
MultimediaWidgets
|
MultimediaWidgets
|
||||||
Positioning
|
Positioning
|
||||||
Charts
|
Charts
|
||||||
SerialPort)
|
SerialPort
|
||||||
|
Core5Compat)
|
||||||
else()
|
else()
|
||||||
find_package(Qt5 5.15
|
find_package(Qt5 5.15
|
||||||
REQUIRED COMPONENTS
|
REQUIRED COMPONENTS
|
||||||
@ -678,15 +656,13 @@ if (BUILD_GUI)
|
|||||||
if (ENABLE_QT6)
|
if (ENABLE_QT6)
|
||||||
find_package(Qt6
|
find_package(Qt6
|
||||||
REQUIRED COMPONENTS
|
REQUIRED COMPONENTS
|
||||||
Location
|
|
||||||
OpenGL
|
OpenGL
|
||||||
OpenGLWidgets
|
OpenGLWidgets
|
||||||
Quick
|
Quick
|
||||||
QuickWidgets
|
QuickWidgets
|
||||||
TextToSpeech
|
TextToSpeech
|
||||||
Svg
|
Svg
|
||||||
SvgWidgets
|
SvgWidgets)
|
||||||
StateMachine)
|
|
||||||
else()
|
else()
|
||||||
find_package(Qt5
|
find_package(Qt5
|
||||||
REQUIRED COMPONENTS
|
REQUIRED COMPONENTS
|
||||||
@ -711,7 +687,6 @@ if (BUILD_GUI)
|
|||||||
QuickWidgets
|
QuickWidgets
|
||||||
Svg
|
Svg
|
||||||
SvgWidgets
|
SvgWidgets
|
||||||
StateMachine
|
|
||||||
OPTIONAL_COMPONENTS
|
OPTIONAL_COMPONENTS
|
||||||
WebEngineQuick
|
WebEngineQuick
|
||||||
WebEngineCore
|
WebEngineCore
|
||||||
@ -736,27 +711,8 @@ if (BUILD_GUI)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# List of static plugins to link with - This is appended to by each pluging CMakeLists.txt
|
|
||||||
set_property(GLOBAL PROPERTY STATIC_PLUGINS_PROPERTY "")
|
|
||||||
|
|
||||||
if(Qt${QT_DEFAULT_MAJOR_VERSION}Positioning_FOUND)
|
|
||||||
add_compile_definitions(QT_POSITIONING_FOUND)
|
|
||||||
endif()
|
|
||||||
if(Qt${QT_DEFAULT_MAJOR_VERSION}Location_FOUND)
|
|
||||||
add_compile_definitions(QT_LOCATION_FOUND)
|
|
||||||
endif()
|
|
||||||
if(Qt${QT_DEFAULT_MAJOR_VERSION}Charts_FOUND)
|
|
||||||
add_compile_definitions(QT_CHARTS_FOUND)
|
|
||||||
endif()
|
|
||||||
if(Qt${QT_DEFAULT_MAJOR_VERSION}TextToSpeech_FOUND)
|
|
||||||
add_compile_definitions(QT_TEXTTOSPEECH_FOUND)
|
|
||||||
endif()
|
|
||||||
if(BUILD_SHARED_LIBS)
|
|
||||||
add_compile_definitions(BUILD_SHARED_LIBS)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# other requirements
|
# other requirements
|
||||||
if(NOT ANDROID AND NOT EMSCRIPTEN)
|
if(NOT ANDROID)
|
||||||
find_package(PkgConfig REQUIRED)
|
find_package(PkgConfig REQUIRED)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -822,7 +778,6 @@ if (NOT ENABLE_EXTERNAL_LIBRARIES OR (ENABLE_EXTERNAL_LIBRARIES STREQUAL "AUTO")
|
|||||||
find_package(LibDAB)
|
find_package(LibDAB)
|
||||||
find_package(HIDAPI)
|
find_package(HIDAPI)
|
||||||
find_package(FFmpeg COMPONENTS AVCODEC AVFORMAT AVUTIL SWSCALE)
|
find_package(FFmpeg COMPONENTS AVCODEC AVFORMAT AVUTIL SWSCALE)
|
||||||
find_package(GGMorse)
|
|
||||||
|
|
||||||
# Devices
|
# Devices
|
||||||
if(ENABLE_AIRSPY)
|
if(ENABLE_AIRSPY)
|
||||||
@ -901,15 +856,7 @@ if (FFTW3F_FOUND)
|
|||||||
set(FT8_SUPPORT ON CACHE INTERNAL "")
|
set(FT8_SUPPORT ON CACHE INTERNAL "")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (FFTW3F_FOUND)
|
|
||||||
add_subdirectory(wdsp)
|
|
||||||
add_definitions(-DHAS_WDSP)
|
|
||||||
set(WDSP_SUPPORT ON CACHE INTERNAL "")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (BUILD_BENCH)
|
|
||||||
add_subdirectory(sdrbench)
|
add_subdirectory(sdrbench)
|
||||||
endif()
|
|
||||||
|
|
||||||
if (BUILD_GUI)
|
if (BUILD_GUI)
|
||||||
add_subdirectory(sdrgui)
|
add_subdirectory(sdrgui)
|
||||||
@ -980,7 +927,6 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
############ build sdrangel benchmark ################
|
############ build sdrangel benchmark ################
|
||||||
if (BUILD_BENCH)
|
|
||||||
set(sdrangelbench_SOURCES
|
set(sdrangelbench_SOURCES
|
||||||
appbench/main.cpp
|
appbench/main.cpp
|
||||||
)
|
)
|
||||||
@ -994,7 +940,6 @@ target_link_libraries(sdrangelbench
|
|||||||
sdrbench
|
sdrbench
|
||||||
logging
|
logging
|
||||||
)
|
)
|
||||||
endif()
|
|
||||||
|
|
||||||
############ build sdrangel gui ################
|
############ build sdrangel gui ################
|
||||||
if (BUILD_GUI)
|
if (BUILD_GUI)
|
||||||
@ -1088,9 +1033,7 @@ if (BUILD_SERVER)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
############ install ##################
|
############ install ##################
|
||||||
if (BUILD_BENCH)
|
|
||||||
install(TARGETS sdrangelbench DESTINATION ${INSTALL_BIN_DIR})
|
install(TARGETS sdrangelbench DESTINATION ${INSTALL_BIN_DIR})
|
||||||
endif()
|
|
||||||
if (BUILD_GUI)
|
if (BUILD_GUI)
|
||||||
install(TARGETS ${CMAKE_PROJECT_NAME} DESTINATION ${INSTALL_BIN_DIR})
|
install(TARGETS ${CMAKE_PROJECT_NAME} DESTINATION ${INSTALL_BIN_DIR})
|
||||||
endif()
|
endif()
|
||||||
|
@ -28,7 +28,6 @@
|
|||||||
"SOAPYSDR_DIR": "/opt/install/SoapySDR",
|
"SOAPYSDR_DIR": "/opt/install/SoapySDR",
|
||||||
"UHD_DIR": "/opt/install/uhd",
|
"UHD_DIR": "/opt/install/uhd",
|
||||||
"XTRX_DIR": "/opt/install/xtrx-images",
|
"XTRX_DIR": "/opt/install/xtrx-images",
|
||||||
"GGMORSE_DIR": "/opt/install/ggmorse",
|
|
||||||
"CMAKE_INSTALL_PREFIX": "/opt/install/sdrangel"
|
"CMAKE_INSTALL_PREFIX": "/opt/install/sdrangel"
|
||||||
},
|
},
|
||||||
"warnings": {
|
"warnings": {
|
||||||
@ -80,15 +79,6 @@
|
|||||||
"cacheVariables": {
|
"cacheVariables": {
|
||||||
"ENABLE_QT6": "ON"
|
"ENABLE_QT6": "ON"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "default-qt6-windows",
|
|
||||||
"inherits": "default-windows",
|
|
||||||
"binaryDir": "${sourceDir}/build-qt6",
|
|
||||||
"cacheVariables": {
|
|
||||||
"ENABLE_QT6": "ON",
|
|
||||||
"CMAKE_PREFIX_PATH": "C:/Qt/6.7.3/msvc2022_64;C:/Applications/boost_1_81_0"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"buildPresets": [
|
"buildPresets": [
|
||||||
@ -103,10 +93,6 @@
|
|||||||
{
|
{
|
||||||
"name": "default-qt6",
|
"name": "default-qt6",
|
||||||
"configurePreset": "default-qt6"
|
"configurePreset": "default-qt6"
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "default-qt6-windows",
|
|
||||||
"configurePreset": "default-qt6-windows"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
27
app/main.cpp
@ -22,6 +22,7 @@
|
|||||||
///////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
|
#include <QTextCodec>
|
||||||
#include <QProxyStyle>
|
#include <QProxyStyle>
|
||||||
#include <QStyleFactory>
|
#include <QStyleFactory>
|
||||||
#include <QFontDatabase>
|
#include <QFontDatabase>
|
||||||
@ -47,6 +48,10 @@
|
|||||||
|
|
||||||
static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *logger)
|
static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *logger)
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
|
||||||
|
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
|
||||||
|
*/
|
||||||
QCoreApplication::setOrganizationName(COMPANY);
|
QCoreApplication::setOrganizationName(COMPANY);
|
||||||
QCoreApplication::setApplicationName(APPLICATION_NAME);
|
QCoreApplication::setApplicationName(APPLICATION_NAME);
|
||||||
QCoreApplication::setApplicationVersion(SDRANGEL_VERSION);
|
QCoreApplication::setApplicationVersion(SDRANGEL_VERSION);
|
||||||
@ -143,7 +148,7 @@ static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *lo
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ANDROID
|
#ifdef ANDROID
|
||||||
// Default sized sliders can be hard to move using touch GUIs, so increase size
|
// Default sized sliders can be hard to move using touch GUIs, so increase szie
|
||||||
// FIXME: How can we do a double border around the handle, as Fusion style seems to use?
|
// FIXME: How can we do a double border around the handle, as Fusion style seems to use?
|
||||||
// Dialog borders are hard to see as is (perhaps as Android doesn't have a title bar), so use same color as for MDI
|
// Dialog borders are hard to see as is (perhaps as Android doesn't have a title bar), so use same color as for MDI
|
||||||
qApp->setStyleSheet("QSlider {min-height: 20px; } "
|
qApp->setStyleSheet("QSlider {min-height: 20px; } "
|
||||||
@ -184,21 +189,25 @@ static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *lo
|
|||||||
{
|
{
|
||||||
// Disable log on console, so we can more easily see device list
|
// Disable log on console, so we can more easily see device list
|
||||||
logger->setConsoleMinMessageLevel(QtFatalMsg);
|
logger->setConsoleMinMessageLevel(QtFatalMsg);
|
||||||
// Don't pass logger to MainWindow, otherwise it can re-enable log output
|
// Don't pass logger to MainWindow, otherwise it can reenable log output
|
||||||
logger = nullptr;
|
logger = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
MainWindow w(logger, parser);
|
MainWindow w(logger, parser);
|
||||||
|
|
||||||
w.show();
|
|
||||||
|
|
||||||
if (parser.getListDevices())
|
if (parser.getListDevices())
|
||||||
{
|
{
|
||||||
// List available physical devices and exit
|
// List available physical devices and exit
|
||||||
RemoteTCPSinkStarter::listAvailableDevices();
|
RemoteTCPSinkStarter::listAvailableDevices();
|
||||||
return EXIT_SUCCESS;
|
exit (EXIT_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (parser.getRemoteTCPSink()) {
|
||||||
|
RemoteTCPSinkStarter::start(parser);
|
||||||
|
}
|
||||||
|
|
||||||
|
w.show();
|
||||||
|
|
||||||
return a.exec();
|
return a.exec();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -208,7 +217,7 @@ int main(int argc, char* argv[])
|
|||||||
// Request OpenGL 3.3 context, needed for glspectrum and 3D Map feature
|
// Request OpenGL 3.3 context, needed for glspectrum and 3D Map feature
|
||||||
// Note that Mac only supports CoreProfile, so any deprecated OpenGL 2 features
|
// Note that Mac only supports CoreProfile, so any deprecated OpenGL 2 features
|
||||||
// will not work. Because of this, we have two versions of the shaders:
|
// will not work. Because of this, we have two versions of the shaders:
|
||||||
// OpenGL 2 versions for compatibility with older drivers and OpenGL 3.3
|
// OpenGL 2 versions for compatiblity with older drivers and OpenGL 3.3
|
||||||
// versions for newer drivers
|
// versions for newer drivers
|
||||||
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
|
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
|
||||||
QGLFormat fmt;
|
QGLFormat fmt;
|
||||||
@ -238,9 +247,7 @@ int main(int argc, char* argv[])
|
|||||||
|
|
||||||
int res = runQtApplication(argc, argv, logger);
|
int res = runQtApplication(argc, argv, logger);
|
||||||
|
|
||||||
if (logger) {
|
delete logger;
|
||||||
delete logger;
|
|
||||||
}
|
|
||||||
|
|
||||||
qWarning("SDRangel quit.");
|
qWarning("SDRangel quit.");
|
||||||
return res;
|
return res;
|
||||||
|
@ -100,7 +100,7 @@ static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *lo
|
|||||||
{
|
{
|
||||||
// Disable log on console, so we can more easily see device list
|
// Disable log on console, so we can more easily see device list
|
||||||
logger->setConsoleMinMessageLevel(QtFatalMsg);
|
logger->setConsoleMinMessageLevel(QtFatalMsg);
|
||||||
// Don't pass logger to MainServer, otherwise it can re-enable log output
|
// Don't pass logger to MainServer, otherwise it can reenable log output
|
||||||
logger = nullptr;
|
logger = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,11 +19,7 @@ if(WIN32)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT MSVC)
|
if(NOT MSVC)
|
||||||
add_compile_options(-Wall -Wextra -Wvla -ffast-math -fno-finite-math-only -ftree-vectorize)
|
add_compile_options(-Wall -Wextra -Wvla -Woverloaded-virtual -Wno-inconsistent-missing-override -ffast-math -fno-finite-math-only -ftree-vectorize)
|
||||||
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-Woverloaded-virtual>)
|
|
||||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
|
||||||
add_compile_options(-Wno-inconsistent-missing-override)
|
|
||||||
endif()
|
|
||||||
else()
|
else()
|
||||||
# Disable some warnings, so more useful warnings aren't hidden in the noise
|
# Disable some warnings, so more useful warnings aren't hidden in the noise
|
||||||
# 4996 'fopen': This function or variable may be unsafe. Consider using fopen_s instead.
|
# 4996 'fopen': This function or variable may be unsafe. Consider using fopen_s instead.
|
||||||
|
@ -1,31 +0,0 @@
|
|||||||
IF(NOT FLAC_FOUND)
|
|
||||||
INCLUDE(FindPkgConfig)
|
|
||||||
PKG_CHECK_MODULES(PC_FLAC flac)
|
|
||||||
|
|
||||||
FIND_PATH(
|
|
||||||
FLAC_INCLUDE_DIR
|
|
||||||
NAMES FLAC/stream_encoder.h
|
|
||||||
HINTS ${PC_FLAC_INCLUDE_DIRS}
|
|
||||||
PATHS /usr/local/include
|
|
||||||
/usr/include
|
|
||||||
)
|
|
||||||
|
|
||||||
FIND_LIBRARY(
|
|
||||||
FLAC_LIBRARY
|
|
||||||
NAMES FLAC
|
|
||||||
libFLAC
|
|
||||||
HINTS ${FLAC_DIR}/lib
|
|
||||||
${PC_FLAC_LIBRARY_DIRS}
|
|
||||||
PATHS /usr/local/lib
|
|
||||||
/usr/lib
|
|
||||||
/usr/lib64
|
|
||||||
)
|
|
||||||
|
|
||||||
message(STATUS "FLAC LIBRARY " ${FLAC_LIBRARY})
|
|
||||||
message(STATUS "FLAC INCLUDE DIR " ${FLAC_INCLUDE_DIR})
|
|
||||||
|
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(FLAC DEFAULT_MSG FLAC_LIBRARY FLAC_INCLUDE_DIR)
|
|
||||||
MARK_AS_ADVANCED(FLAC_LIBRARY FLAC_INCLUDE_DIR)
|
|
||||||
|
|
||||||
ENDIF(NOT FLAC_FOUND)
|
|
@ -1,38 +0,0 @@
|
|||||||
if (NOT GGMORSE_FOUND)
|
|
||||||
INCLUDE(FindPkgConfig)
|
|
||||||
PKG_CHECK_MODULES(PC_GGMorse "libggmorse")
|
|
||||||
|
|
||||||
FIND_PATH(GGMORSE_INCLUDE_DIR
|
|
||||||
NAMES ggmorse/ggmorse.h
|
|
||||||
HINTS ${GGMORSE_DIR}/include
|
|
||||||
${PC_GGMORSE_INCLUDE_DIR}
|
|
||||||
${CMAKE_INSTALL_PREFIX}/include
|
|
||||||
PATHS /usr/local/include
|
|
||||||
/usr/include
|
|
||||||
)
|
|
||||||
|
|
||||||
FIND_LIBRARY(GGMORSE_LIBRARIES
|
|
||||||
NAMES ggmorse libggmorse
|
|
||||||
HINTS ${GGMORSE_DIR}/lib
|
|
||||||
${GGMORSE_DIR}/lib64
|
|
||||||
${PC_GGMORSE_LIBDIR}
|
|
||||||
${CMAKE_INSTALL_PREFIX}/lib
|
|
||||||
${CMAKE_INSTALL_PREFIX}/lib64
|
|
||||||
PATHS /usr/local/lib
|
|
||||||
/usr/local/lib64
|
|
||||||
/usr/lib
|
|
||||||
/usr/lib64
|
|
||||||
)
|
|
||||||
|
|
||||||
if (GGMORSE_INCLUDE_DIR AND GGMORSE_LIBRARIES)
|
|
||||||
set(GGMORSE_FOUND TRUE CACHE INTERNAL "GGMorse found")
|
|
||||||
message(STATUS "Found GGMorse: ${GGMORSE_INCLUDE_DIR}, ${GGMORSE_LIBRARIES}")
|
|
||||||
else (GGMORSE_INCLUDE_DIR AND GGMORSE_LIBRARIES)
|
|
||||||
set(GGMORSE_FOUND FALSE CACHE INTERNAL "GGMorse found")
|
|
||||||
message(STATUS "GGMorse not found")
|
|
||||||
endif (GGMORSE_INCLUDE_DIR AND GGMORSE_LIBRARIES)
|
|
||||||
|
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GGMORSE DEFAULT_MSG GGMORSE_LIBRARIES GGMORSE_INCLUDE_DIR)
|
|
||||||
MARK_AS_ADVANCED(GGMORSE_LIBRARIES GGMORSE_INCLUDE_DIR)
|
|
||||||
endif (NOT GGMORSE_FOUND)
|
|
@ -9,45 +9,44 @@ if(NOT SOAPYSDR_FOUND)
|
|||||||
set(${VERSION} "${CMAKE_MATCH_1}" PARENT_SCOPE)
|
set(${VERSION} "${CMAKE_MATCH_1}" PARENT_SCOPE)
|
||||||
endfunction(_SOAPY_SDR_GET_ABI_VERSION)
|
endfunction(_SOAPY_SDR_GET_ABI_VERSION)
|
||||||
|
|
||||||
pkg_search_module (SOAPYSDR SoapySDR>=0.4.0)
|
pkg_search_module (LIBSOAPYSDR_PKG soapysdr>=0.4.0 SoapySDR>=0.4.0)
|
||||||
|
|
||||||
if(NOT SOAPYSDR_FOUND OR (DEFINED SOAPYSDR_DIR))
|
if(NOT LIBSOAPYSDR_PKG_FOUND OR (DEFINED SOAPYSDR_DIR))
|
||||||
|
|
||||||
find_path (SOAPYSDR_INCLUDE_DIRS
|
find_path (SOAPYSDR_INCLUDE_DIR
|
||||||
NAMES SoapySDR/Version.h
|
NAMES SoapySDR/Version.h
|
||||||
HINTS ${SOAPYSDR_DIR}/include
|
HINTS ${SOAPYSDR_DIR}/include
|
||||||
|
${LIBSOAPYSDR_PKG_INCLUDE_DIRS}
|
||||||
PATHS /usr/include
|
PATHS /usr/include
|
||||||
/usr/local/include
|
/usr/local/include
|
||||||
)
|
)
|
||||||
|
|
||||||
find_library (SOAPYSDR_LINK_LIBRARIES
|
find_library (SOAPYSDR_LIBRARY
|
||||||
NAMES SoapySDR
|
NAMES SoapySDR
|
||||||
HINTS ${SOAPYSDR_DIR}/lib
|
HINTS ${SOAPYSDR_DIR}/lib
|
||||||
${SOAPYSDR_DIR}/lib64
|
${SOAPYSDR_DIR}/lib64
|
||||||
${CMAKE_INSTALL_PREFIX}/lib
|
${CMAKE_INSTALL_PREFIX}/lib
|
||||||
${CMAKE_INSTALL_PREFIX}/lib64
|
${CMAKE_INSTALL_PREFIX}/lib64
|
||||||
|
${LIBSOAPYSDR_PKG_LIBRARY_DIRS}
|
||||||
PATHS /usr/local/lib
|
PATHS /usr/local/lib
|
||||||
/usr/local/lib64
|
/usr/local/lib64
|
||||||
/usr/lib
|
/usr/lib
|
||||||
/usr/lib64
|
/usr/lib64
|
||||||
)
|
)
|
||||||
|
|
||||||
if (SOAPYSDR_INCLUDE_DIRS AND SOAPYSDR_LINK_LIBRARIES)
|
if (SOAPYSDR_INCLUDE_DIR AND SOAPYSDR_LIBRARY)
|
||||||
set(SOAPYSDR_FOUND TRUE)
|
set(SOAPYSDR_FOUND TRUE)
|
||||||
# get the root of SoapySDR; used on cpack
|
# get the root of SoapySDR; used on cpack
|
||||||
string(REGEX REPLACE "/lib/.*${CMAKE_SHARED_LIBRARY_SUFFIX}" "" SOAPYSDR_LIBDIR ${SOAPYSDR_LINK_LIBRARIES})
|
string(REGEX REPLACE "/lib/.*${CMAKE_SHARED_LIBRARY_SUFFIX}" "" SOAPYSDR_ROOT ${SOAPYSDR_LIBRARY})
|
||||||
# get the soapy version
|
# get the soapy version; to using FindPkgConfig because we can use SOAPYSDR_DIR
|
||||||
_SOAPY_SDR_GET_ABI_VERSION(SOAPYSDR_VERSION ${SOAPYSDR_INCLUDE_DIRS})
|
_SOAPY_SDR_GET_ABI_VERSION(SOAPYSDR_ABI_VERSION ${SOAPYSDR_INCLUDE_DIR})
|
||||||
|
message (STATUS "Found SoapySDR: ${SOAPYSDR_INCLUDE_DIR}, ${SOAPYSDR_LIBRARY}")
|
||||||
|
else()
|
||||||
|
message (STATUS "SoapySDR not found")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
endif(NOT SOAPYSDR_FOUND OR (DEFINED SOAPYSDR_DIR))
|
mark_as_advanced(SOAPYSDR_INCLUDE_DIR SOAPYSDR_LIBRARY SOAPYSDR_ROOT SOAPYSDR_ABI_VERSION)
|
||||||
|
|
||||||
if (SOAPYSDR_FOUND)
|
endif(NOT LIBSOAPYSDR_PKG_FOUND OR (DEFINED SOAPYSDR_DIR))
|
||||||
message (STATUS "Found SoapySDR: version ${SOAPYSDR_VERSION}, ${SOAPYSDR_LIBDIR}, ${SOAPYSDR_INCLUDE_DIRS}, ${SOAPYSDR_LINK_LIBRARIES}")
|
|
||||||
else()
|
|
||||||
message (STATUS "SoapySDR not found")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
mark_as_advanced(SOAPYSDR_INCLUDE_DIRS SOAPYSDR_LINK_LIBRARIES SOAPYSDR_LIBDIR SOAPYSDR_VERSION)
|
|
||||||
|
|
||||||
endif(NOT SOAPYSDR_FOUND)
|
endif(NOT SOAPYSDR_FOUND)
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
cd $HOME
|
|
||||||
mkdir -p external && cd external
|
|
||||||
mkdir -p f4exb && cd f4exb
|
|
||||||
|
|
||||||
git clone https://github.com/ggerganov/ggmorse.git
|
|
||||||
|
|
||||||
cd ggmorse
|
|
||||||
mkdir -p build && cd build
|
|
||||||
cmake -DGGMORSE_BUILD_TESTS=OFF -DGGMORSE_BUILD_EXAMPLES=OFF ..
|
|
||||||
sudo make install
|
|
||||||
sudo ldconfig
|
|
@ -4,5 +4,4 @@ mkdir -p sdrplayapi && cd sdrplayapi
|
|||||||
|
|
||||||
git clone https://github.com/srcejon/sdrplayapi.git
|
git clone https://github.com/srcejon/sdrplayapi.git
|
||||||
cd sdrplayapi
|
cd sdrplayapi
|
||||||
sed -i s/more\ -d/cat/ install_lib.sh
|
|
||||||
sudo yes | bash install_lib.sh
|
sudo yes | bash install_lib.sh
|
||||||
|
@ -36,18 +36,18 @@ if(APPLE AND BUNDLE AND BUILD_GUI)
|
|||||||
set(CPACK_BUNDLE_ICON "${CMAKE_SOURCE_DIR}/cmake/cpack/sdrangel_icon.icns")
|
set(CPACK_BUNDLE_ICON "${CMAKE_SOURCE_DIR}/cmake/cpack/sdrangel_icon.icns")
|
||||||
set(CPACK_BUNDLE_PLIST "${CMAKE_BINARY_DIR}/Info.plist")
|
set(CPACK_BUNDLE_PLIST "${CMAKE_BINARY_DIR}/Info.plist")
|
||||||
set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/cmake/cpack/sdrangel_icon.icns")
|
set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/cmake/cpack/sdrangel_icon.icns")
|
||||||
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION}_mac-${CPACK_MACOS_PACKAGE_ARCHITECTURE}_${CMAKE_SYSTEM_PROCESSOR}" CACHE INTERNAL "")
|
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION}_${CPACK_MACOS_PACKAGE_ARCHITECTURE}_${CMAKE_SYSTEM_PROCESSOR}" CACHE INTERNAL "")
|
||||||
set(CPACK_PRE_BUILD_SCRIPTS "${PROJECT_BINARY_DIR}/deploy_mac.cmake")
|
set(CPACK_PRE_BUILD_SCRIPTS "${PROJECT_BINARY_DIR}/deploy_mac.cmake")
|
||||||
|
|
||||||
# copy SoapySDR Modules
|
# copy SoapySDR Modules
|
||||||
# probably libmirsdrapi-rsp.dylib can't be re-distribuited
|
# probably libmirsdrapi-rsp.dylib can't be re-distribuited
|
||||||
# we remove the file at the end of fixup_bundle
|
# we remove the file at the end of fixup_bundle
|
||||||
if(ENABLE_SOAPYSDR AND SOAPYSDR_FOUND)
|
if(ENABLE_SOAPYSDR AND SOAPYSDR_FOUND)
|
||||||
set(SOAPY_SDR_MOD_PATH "${SOAPYSDR_LIBDIR}/lib/SoapySDR/modules${SOAPYSDR_VERSION}")
|
set(SOAPY_SDR_MOD_PATH "${SOAPYSDR_ROOT}/lib/SoapySDR/modules${SOAPYSDR_ABI_VERSION}")
|
||||||
file(GLOB SOAPY_MODS ${SOAPY_SDR_MOD_PATH}/*.so)
|
file(GLOB SOAPY_MODS ${SOAPY_SDR_MOD_PATH}/*.so)
|
||||||
foreach(SOAPY_MOD_FILE ${SOAPY_MODS})
|
foreach(SOAPY_MOD_FILE ${SOAPY_MODS})
|
||||||
install( FILES "${SOAPY_MOD_FILE}"
|
install( FILES "${SOAPY_MOD_FILE}"
|
||||||
DESTINATION "../Frameworks/SoapySDR/modules${SOAPYSDR_VERSION}"
|
DESTINATION "../Frameworks/SoapySDR/modules${SOAPYSDR_ABI_VERSION}"
|
||||||
COMPONENT Runtime
|
COMPONENT Runtime
|
||||||
)
|
)
|
||||||
endforeach()
|
endforeach()
|
||||||
@ -175,7 +175,7 @@ elseif(WIN32 OR MINGW)
|
|||||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${fftw3f_dll}" "${SDRANGEL_BINARY_BIN_DIR}/"
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${fftw3f_dll}" "${SDRANGEL_BINARY_BIN_DIR}/"
|
||||||
)
|
)
|
||||||
endforeach(fftw3f_dll)
|
endforeach(fftw3f_dll)
|
||||||
|
|
||||||
file(GLOB LIBUSB_DLLS "${LIBUSB_DLL_DIR}/*${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
file(GLOB LIBUSB_DLLS "${LIBUSB_DLL_DIR}/*${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||||
foreach(libusb_dll ${LIBUSB_DLLS})
|
foreach(libusb_dll ${LIBUSB_DLLS})
|
||||||
get_filename_component(libusb_dll_name "${libusb_dll}" NAME)
|
get_filename_component(libusb_dll_name "${libusb_dll}" NAME)
|
||||||
|
@ -1,15 +1,14 @@
|
|||||||
# This CPACK_PRE_BUILD_SCRIPTS script is used to copy all required Qt and other 3rd party libraries (SDR drivers and codecs) in to the .app bundle
|
# This CPACK_PRE_BUILD_SCRIPTS script is used to copy all required Qt and other 3rd party libraries (SDR drivers and codecs) in to the .app bundle
|
||||||
# It is run in a staging area (${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app) after all targets have been installed (E.g. sdrangel exe and plugins)
|
# It is run in a staging area (${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app) after all targets have been installed (E.g. sdrangel exe and plugins)
|
||||||
# The copying of frameworks and libraries is mostly done by 'macdeployqt', however, in order for 'macdeployqt' to copy libraries built by external/CMakeLists.txt,
|
# The copying of frameworks and libraries is mostly done by 'macdeployqt', however, in order for 'macdeployqt' to copy libraries built by external/CMakeLists.txt,
|
||||||
# we first need to add RPATHs into the libraries giving the locations of any libraries they might depend on.
|
# we first need to add RPATHs into the libraries giving the locations of any libraries they might depend on.
|
||||||
# These paths are in the variable MACOS_EXTERNAL_LIBS_FIXUP set in externals/CMakeLists.txt
|
# These paths are in the variable MACOS_EXTERNAL_LIBS_FIXUP set in externals/CMakeLists.txt
|
||||||
# Is there an easier way to this?
|
# Is there an easier way to this?
|
||||||
|
|
||||||
# Copy executable that will be run when icon in /Applications is clicked
|
# Copy executable that will be run when icon in /Applications is clicked
|
||||||
message ("Copying default executable to SDRangel.app/Contents/MacOS/SDRangel")
|
message ("Copying default executable to SDRangel.app/Contents/MacOS/SDRangel")
|
||||||
execute_process (COMMAND mkdir ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/MacOS/)
|
execute_process (COMMAND mkdir ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/MacOS/)
|
||||||
execute_process (COMMAND pwd)
|
execute_process (COMMAND cp /opt/build/sdrangel/build/sdrangel ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/MacOS/SDRangel)
|
||||||
execute_process (COMMAND cp sdrangel ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/MacOS/SDRangel)
|
|
||||||
|
|
||||||
|
|
||||||
# Add RPATHS to libraries so macdeployqt can find out and copy all dependencies
|
# Add RPATHS to libraries so macdeployqt can find out and copy all dependencies
|
||||||
|
223
debian/changelog
vendored
@ -1,226 +1,3 @@
|
|||||||
sdrangel (7.22.8-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* See Github release
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Wed, 02 Jul 2025 17:00:39 +0200
|
|
||||||
|
|
||||||
sdrangel (7.22.7-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* See Github release
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 04 May 2025 17:58:14 +0200
|
|
||||||
|
|
||||||
sdrangel (7.22.6-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* See Github release
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 02 Feb 2025 18:08:11 +0100
|
|
||||||
|
|
||||||
sdrangel (7.22.5-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Windows: upload signed releases rather than unsigned releases to Github releases page. PR #2347
|
|
||||||
* Windows: fixed signed releases. PR #2344
|
|
||||||
* FT8 Demod: limit upper bandwidth to 5.8 kHz. Fixes #2339
|
|
||||||
* Stop device while changing channel set. Fixes #2332. PR #2342
|
|
||||||
* ADSB: Update URL of OpenSkyNetwork Aircraft database. PR #2341
|
|
||||||
* Don't stop source if being deleted. For #2315. PR #2340
|
|
||||||
* Send DSPSignalNotification in audio mods for #2336. PR #2340
|
|
||||||
* Radiosonde: limit precision of floating point numbers sent to SondeHub. PR #2338
|
|
||||||
* Windows signed releases: use relative path. Increase timeout to 30 minutes. PR #2335
|
|
||||||
* ADSB: Include adsbdemodsettings.h PR #2334
|
|
||||||
* Use release signing certificate for Windows installer. PR #2331
|
|
||||||
* Fix memory leak and race condition relating to DSP*Engines. Part of #2159 PR #2330
|
|
||||||
* FreeDV: Fix memory allocation/free issues. Part of #2315. PR #2330
|
|
||||||
* Wav Files: Add support for meta-data. PR #2328
|
|
||||||
* DemodAnalyzer: Ensure sample rate is set in worker. Fixes #2309. PR #2328
|
|
||||||
^ SDRplayv3: Mac: link with libsdrplay_api.so.3 rather than libsdrplay_api.so.3.15. PR #2327
|
|
||||||
* ADS-B: Fix memory use after delete. For #1734 and part of #2315 PR #2326
|
|
||||||
* Fixed Appveyor Docker image build
|
|
||||||
* Fix output-artifact-directory and unzip file. PR #2323
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Thu, 05 Dec 2024 01:07:27 +0100
|
|
||||||
|
|
||||||
sdrangel (7.22.4-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Use macos-12 for Mac x86 build. PR #2321
|
|
||||||
* Workaround for "hdiutil: create failed - Resource busy"
|
|
||||||
* Pager: Add alpha and numeric columns. Implements #2319. PR #2320
|
|
||||||
* Added qtwebchannel dependecy to fix missing 3d Map and Sky Map from Windows release. PR #2316
|
|
||||||
* Removed .deb package build from Appveyor
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Mom, 11 Nov 2024 08:42:03 +0100
|
|
||||||
|
|
||||||
sdrangel (7.22.3-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Add deb dependencies for pipewire. PR #2314
|
|
||||||
* Added compilation options for WebAssembly. PR #2313
|
|
||||||
* ADS-B: Use settings keys. PR #2310
|
|
||||||
* AIS Demod: Remove spacing around messages. PR #2310
|
|
||||||
* Freuqency Scanner: Add multiplex mode. PR #2310
|
|
||||||
* Build snap, MAC, Windows and Ubuntu .deb with Github actions. Various PRs
|
|
||||||
* Server: Use Sink/MIMO signals rather than Source. Part of #2294. PR #2304
|
|
||||||
* Updated some Python scripts to Python3. PR #2298
|
|
||||||
* RemoteTCPSink: Does use IQ only setting for RTL0. PR #2301
|
|
||||||
* Server: wait for set sample source/sink/MIMO to complete before loading the device settings. Fixes #2294
|
|
||||||
* Fix spectrum peak measurement for SSB spectra. Fixes #2282. PR #2299
|
|
||||||
* Upgrade C++ standard to c++17
|
|
||||||
* Fixes for Android . PR #2288
|
|
||||||
* Add qtshadertools. PR #2287
|
|
||||||
* Add more Qt modules and set ENABLE_QT6=ON. PR #2287
|
|
||||||
* Update Qt optional packages for 6.8 , PR #2287
|
|
||||||
* Use Qt 6.8 for Windows build. PR #2287
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sat, 09 Nov 2024 17:30:44 +0100
|
|
||||||
|
|
||||||
sdrangel (7.22.2-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* ChirpChat: increased preamble symbols limit from 20 to 32. Fixes #2284
|
|
||||||
* RTLSDR: Apply driver settings in RTLSDRThread Add sync read for WebAssembly. PR #2281
|
|
||||||
* SSB demod: fixed GUI and returned to previous threading model. Fixes #2273
|
|
||||||
* HeatMap: Catch memory allocation failures... For #2083 PR #2277
|
|
||||||
* Add default-qt6-windows cmake config. PR #2276
|
|
||||||
* Add pager notifications. Add option to ignore duplicates. Support plotting pager messages on the map. PR #2276
|
|
||||||
* Don't load defaults if loading a preset. PR #2274
|
|
||||||
* DeviceGUI::closeEvent - Don't automatically delete the GUI,.. PR #2274
|
|
||||||
* MainWindow: Add FSMs to avoid blocking on the GUI thread... PR #2274
|
|
||||||
* Fix replay buffer when FixReal is qint16. PR #2270
|
|
||||||
* snap: Try to get version number from latest tag. PR #2270
|
|
||||||
* Add libflac to snap. Set ARCH_OPT to nehalem. PR #2270
|
|
||||||
* Fix flac on Mac. PR #2270
|
|
||||||
* RemoteTCP: Update docs. PR #2270
|
|
||||||
* Map: Fix Kiwi list. Add SDRangel wss support. PR #2270
|
|
||||||
* RemoteTCPSink: Report server init errors via GUI. Send protocol to public list. PR #2270
|
|
||||||
* RemoteTCPInput: Add wss protocol support. PR #2270
|
|
||||||
* Fix DeviceAPI::deserialize. Fixes #2266. PR #2267
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 20 Oct 2024 08:26:38 +0200
|
|
||||||
|
|
||||||
sdrangel (7.22.1-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* wdsprx: Fix path to help file.
|
|
||||||
* Removed SyncMessenger from DSPDeviceSourceEngine. Part of #2159
|
|
||||||
* Fixed threading model for DSPDeviceSourceEngine. Part of #2159
|
|
||||||
* Removed SyncMessenger from DSPDeviceMIMOEngine. Part of #2159
|
|
||||||
* RTLSDR: make sure start and stop are effective once only. PArt of #2159
|
|
||||||
* Fixed threading model for DSPDeviceMIMOEngine plus other fixes. Part of #2159
|
|
||||||
* Removed SyncMessenger from DSPDeviceSinkEngine. Part of #2159
|
|
||||||
* SSBMod, AMMod, NFMMod: revised thread processing
|
|
||||||
* Fixed threading model for DSPDeviceSinkEngine plus other fixes. Part of #2159
|
|
||||||
* DeviceSet and DeviceUISet: use delete channel API instead of destroy method...
|
|
||||||
* BladeRF2Output: removed applySettings from stop method
|
|
||||||
* All device plugins: make sure start and stop are effective once only. PArt of #2159
|
|
||||||
* Removed the destroy method from ChannelGUI interface
|
|
||||||
* DeviceGUI: removed destroy method. Part of #2159
|
|
||||||
* Fix SopaySDR library search when system cmake package present. PR #2245
|
|
||||||
* Append prefix to plugin name when running on Android. PR #2245
|
|
||||||
* Fix compilation with newer ffmpeg libavutil. PR #2245
|
|
||||||
* Fix compilation for Android with Qt6. PR #2245
|
|
||||||
* Bump Cmake minimal version to 3.17
|
|
||||||
* Use new find_package(CUDA Toolkit). PR #2250
|
|
||||||
* Update CMakeLists.txt to allow static libraries to be built, as well as shared... PR #2252
|
|
||||||
* Allow plugins to be compiled as static libs, part 2. PR #2254
|
|
||||||
* Use opencv4 with VS2022. PR #2257
|
|
||||||
* Frequency Scanner: initialize pointer to FrequencyScanner. Fixes #2262
|
|
||||||
* Update channel list upon Morse Decoder and Demod Analyzer GUI creation. Fixes #2263
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 06 Oct 2024 08:39:11 +0200
|
|
||||||
|
|
||||||
sdrangel (7.22.0-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* New Rx channel based on WDSP. Issue #2156
|
|
||||||
* Added cubehelix based color maps. Issue #2191
|
|
||||||
* Fix API host address in About dialog and debug message. PR #2218
|
|
||||||
* Some cleanup. PR #2212
|
|
||||||
* Added shift to channel marker to take RIT into account. Part of #2156
|
|
||||||
* Added S-meter units to scale engine. Part of #2156
|
|
||||||
* Some typos fixes. PR #2206
|
|
||||||
* Map enhancements and fixes. PR #2187
|
|
||||||
* APT Demod: Check filename suffix is specified. PR #2190
|
|
||||||
* Don't change filenames on Android, PR #2190
|
|
||||||
* Frequency Scanner: Fix rounding error. PR #2186
|
|
||||||
* Update sdrangel-windows-libraries link to include latest VC redistributable. PR #2185
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Tue, 13 Aug 2024 17:01:01 +0200
|
|
||||||
|
|
||||||
sdrangel (7.21.4-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Code fixes. PR #2184
|
|
||||||
* Do not save the settings twice. PR #2182
|
|
||||||
* FreqScanner: Add HF ATC channels preset. PR #2181
|
|
||||||
* FreqScanner: Add API action to run scan. Add scan results to channel report. PR #2181
|
|
||||||
* FreqScanner: Add scanState to FreqScanner Report. PR #2181
|
|
||||||
* Configurations dialog: Fix slot names. PR #2180
|
|
||||||
* AIS: Validate message length. Fixes #2125. PR #2180
|
|
||||||
* ILS Demod. Save frequency when switching between LOC and G/S. PR #2180
|
|
||||||
* ILS Demod. Set frequency for ident when in G/S mode. Fixes #2177. PR #2180
|
|
||||||
* Heat Map: Handle memory allocation errors. PR #2175
|
|
||||||
* Heat Map: Allow selecting which data to be saved to reduce memory requirements. PR #2175
|
|
||||||
* ILS Demod: Add DDM/SDM/Deviation to channel report. PR #2174
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Tue, 25 Jun 2024 20:17:52 +0200
|
|
||||||
|
|
||||||
sdrangel (7.21.3-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Update sdrangel-windows-libraries to latest revision. PR #2173 fixes #2155
|
|
||||||
* SDRplayV3Input: Add SDRPLAY_RSPdxR2_ID support. PR #2172 fixes #2155
|
|
||||||
* Fix tooltips. PR #2170
|
|
||||||
* Update external/windows to latest sdrangel-windows-libraries. PR #2169
|
|
||||||
* Update SDRplay API to 3.15 on Mac. PR #2169
|
|
||||||
* Fix typo in ILS freq. PR #2168
|
|
||||||
* Remove use of deprecated QRegExp. PR #2160
|
|
||||||
* Fix memleaks. PR #2157
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Mon, 17 Jun 2024 22:30:17 +0200
|
|
||||||
|
|
||||||
sdrangel (7.21.2-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Morse Decoder feature: build for Windows. Issue #2152
|
|
||||||
* Satellite Tracker Settings: add missing help description of Replay tab, PR #2151
|
|
||||||
* Satellite Tracker Settings: update help page for new button. PR #2151
|
|
||||||
* Satellite Tracker Settings: add a button to reset the list of TLE. PR #2151
|
|
||||||
* Move defines to the header so they can be reused elsewhere. PR #2151
|
|
||||||
* Factor out the code that updates the widget containing the list of TLEs. PR #2151
|
|
||||||
* Use https for all addresses. PR #2151
|
|
||||||
* Set CMAKE_PREFIX_PATH to include ffmpeg@5. PR #2149
|
|
||||||
* Github mac CI: Try ffmpeg@5. PR #2149
|
|
||||||
* CUDAvkFFTEngine: Add required include.. PR #2149
|
|
||||||
* Fix memleaks. PR #2133
|
|
||||||
* Remove extra margins from some dialog. PR #2148
|
|
||||||
* SDRPlay v1: fix setting of hardware flavour. Fixes #2127
|
|
||||||
* Audio Input: list plugin as a built in device for multiple times instantiation. Fixes #2143
|
|
||||||
* Do not exit after listing available devices. Fixes #2144
|
|
||||||
* Fix and refactor FindSoapySDR.cmake. PR #2146
|
|
||||||
* Morse Decoder: returm to the original GGMorse library
|
|
||||||
* Fix WFM mod: remove feedback sink. PR #2138
|
|
||||||
* Fix ADSB demod: Message length. PR #2138
|
|
||||||
* Fix Sigmf Record: overwriting sigmf-data or sigmf-meta. PR #2136
|
|
||||||
* Highlight the current workspace and device. PR #2126
|
|
||||||
* Web API: Sort some files by name in the resources file. PR #2124
|
|
||||||
* Web API: Add missing files to resources file. PR #2124
|
|
||||||
* Install subversion for Mac build. PR #2123
|
|
||||||
* Fix ggmorse paths on ma. PR #2123
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Fri, 06 Jun 2024 20:09:11 +0200
|
|
||||||
|
|
||||||
sdrangel (7.21.1-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Morse Decoder feature: Fix for Qt6 and Windows. PR #2122
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Fri, 24 May 2024 10:29:04 +0200
|
|
||||||
|
|
||||||
sdrangel (7.21.0-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Morse decoder feature. Implements #2112
|
|
||||||
* Fix crash quitting sdrangel when the SID window is open. PR #2121. Fixes #2119
|
|
||||||
* SSB demod: apply clamping also when squelch opens
|
|
||||||
* Remove unneeded calls to disconnect signals. PR #2120
|
|
||||||
* Fix memleaks. PR #2120 PR #2058.
|
|
||||||
* Do not create objects if there is no message queue to send to. PR #2058.
|
|
||||||
* Do not create a Message if there is no worker to send to. PT #2058
|
|
||||||
* Add cmake option to optionally compile with LeakSanitizer. PR #2058
|
|
||||||
|
|
||||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Thu, 23 May 2024 22:18:08 +0200
|
|
||||||
|
|
||||||
sdrangel (7.20.1-1) unstable; urgency=medium
|
sdrangel (7.20.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
* Fix Qt6 build. PR #2069
|
* Fix Qt6 build. PR #2069
|
||||||
|
8
debian/control
vendored
@ -42,12 +42,9 @@ Build-Depends: debhelper (>= 9),
|
|||||||
libopencv-imgcodecs-dev,
|
libopencv-imgcodecs-dev,
|
||||||
libxml2-dev,
|
libxml2-dev,
|
||||||
bison,
|
bison,
|
||||||
cmake,
|
|
||||||
flex,
|
flex,
|
||||||
ffmpeg,
|
ffmpeg,
|
||||||
ninja-build,
|
|
||||||
libfaad-dev,
|
libfaad-dev,
|
||||||
libflac-dev,
|
|
||||||
libavcodec-dev,
|
libavcodec-dev,
|
||||||
libavformat-dev,
|
libavformat-dev,
|
||||||
libopus-dev,
|
libopus-dev,
|
||||||
@ -65,13 +62,12 @@ Architecture: any
|
|||||||
Depends: ${shlibs:Depends},
|
Depends: ${shlibs:Depends},
|
||||||
${misc:Depends},
|
${misc:Depends},
|
||||||
libasound2,
|
libasound2,
|
||||||
libgl1,
|
libgl1-mesa-glx,
|
||||||
libglx-mesa0,
|
|
||||||
libqt5multimedia5-plugins,
|
libqt5multimedia5-plugins,
|
||||||
libqt5gamepad5,
|
libqt5gamepad5,
|
||||||
libqt5svg5,
|
libqt5svg5,
|
||||||
qtspeech5-speechd-plugin,
|
qtspeech5-speechd-plugin,
|
||||||
pulseaudio | pipewire-pulse,
|
pulseaudio,
|
||||||
ffmpeg,
|
ffmpeg,
|
||||||
gstreamer1.0-libav,
|
gstreamer1.0-libav,
|
||||||
qml-module-qtlocation,
|
qml-module-qtlocation,
|
||||||
|
@ -40,6 +40,4 @@ if(ENABLE_USRP AND UHD_FOUND)
|
|||||||
add_subdirectory(usrp)
|
add_subdirectory(usrp)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(ENABLE_METIS)
|
add_subdirectory(metis)
|
||||||
add_subdirectory(metis)
|
|
||||||
endif()
|
|
||||||
|
@ -15,7 +15,7 @@ set(soapysdrdevice_HEADERS
|
|||||||
)
|
)
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
${SOAPYSDR_INCLUDE_DIRS}
|
${SOAPYSDR_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
add_library(soapysdrdevice SHARED
|
add_library(soapysdrdevice SHARED
|
||||||
@ -26,15 +26,10 @@ set_target_properties(soapysdrdevice
|
|||||||
PROPERTIES DEFINE_SYMBOL "devices_EXPORTS")
|
PROPERTIES DEFINE_SYMBOL "devices_EXPORTS")
|
||||||
|
|
||||||
target_link_libraries(soapysdrdevice
|
target_link_libraries(soapysdrdevice
|
||||||
${SOAPYSDR_LINK_LIBRARIES}
|
${SOAPYSDR_LIBRARY}
|
||||||
${SOAPYSDR_LIBRARIES}
|
|
||||||
sdrbase
|
sdrbase
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_directories(soapysdrdevice PRIVATE
|
|
||||||
${SOAPYSDR_LIBRARY_DIRS}
|
|
||||||
)
|
|
||||||
|
|
||||||
if(SOAPYSDR_EXTERNAL AND NOT LINUX)
|
if(SOAPYSDR_EXTERNAL AND NOT LINUX)
|
||||||
add_dependencies(soapysdrdevice soapysdr)
|
add_dependencies(soapysdrdevice soapysdr)
|
||||||
endif()
|
endif()
|
||||||
|
@ -40,7 +40,7 @@ bool DeviceUSRPParams::open(const QString &deviceStr, bool channelNumOnly)
|
|||||||
qDebug() << "DeviceUSRPParams::open: m_nbRxChannels: " << m_nbRxChannels << " m_nbTxChannels: " << m_nbTxChannels;
|
qDebug() << "DeviceUSRPParams::open: m_nbRxChannels: " << m_nbRxChannels << " m_nbTxChannels: " << m_nbTxChannels;
|
||||||
|
|
||||||
// Speed up program initialisation, by not getting all properties
|
// Speed up program initialisation, by not getting all properties
|
||||||
// If we could find out number of channels without ::make ing the device
|
// If we could find out number of channles without ::make ing the device
|
||||||
// that would be even better
|
// that would be even better
|
||||||
if (!channelNumOnly)
|
if (!channelNumOnly)
|
||||||
{
|
{
|
||||||
|
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 640 KiB |
Before Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 217 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 181 KiB |
Before Width: | Height: | Size: 844 KiB After Width: | Height: | Size: 490 KiB |
Before Width: | Height: | Size: 819 KiB After Width: | Height: | Size: 570 KiB |
Before Width: | Height: | Size: 2.3 MiB After Width: | Height: | Size: 372 KiB |
Before Width: | Height: | Size: 259 KiB |
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 93 KiB |
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 351 KiB |
Before Width: | Height: | Size: 1.6 MiB After Width: | Height: | Size: 1.0 MiB |
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 603 KiB |
Before Width: | Height: | Size: 859 KiB |
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 547 KiB |
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 1.6 MiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 426 KiB |
Before Width: | Height: | Size: 473 KiB |
Before Width: | Height: | Size: 745 KiB |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 92 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 160 KiB |
Before Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 225 KiB |
Before Width: | Height: | Size: 185 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 174 KiB |
Before Width: | Height: | Size: 129 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 104 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 47 KiB |
@ -167,16 +167,4 @@
|
|||||||
# define FT8_API
|
# define FT8_API
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* the 'WDSP_API' controls the import/export of 'wdsp' symbols
|
|
||||||
*/
|
|
||||||
#if !defined(sdrangel_STATIC)
|
|
||||||
# ifdef wdsp_EXPORTS
|
|
||||||
# define WDSP_API __SDR_EXPORT
|
|
||||||
# else
|
|
||||||
# define WDSP_API __SDR_IMPORT
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define WDSP_API
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __SDRANGEL_EXPORT_H */
|
#endif /* __SDRANGEL_EXPORT_H */
|
||||||
|
96
external/CMakeLists.txt
vendored
@ -11,9 +11,9 @@
|
|||||||
set(CODEC2_TAG "v1.0.3")
|
set(CODEC2_TAG "v1.0.3")
|
||||||
set(CM256CC_TAG c0e92b92aca3d1d36c990b642b937c64d363c559)
|
set(CM256CC_TAG c0e92b92aca3d1d36c990b642b937c64d363c559)
|
||||||
set(MBELIB_TAG fe83b32c6a60cdd7bce8cecf3c7a0b9ec87a7667)
|
set(MBELIB_TAG fe83b32c6a60cdd7bce8cecf3c7a0b9ec87a7667)
|
||||||
set(SERIALDV_TAG "v1.1.5")
|
set(SERIALDV_TAG "v1.1.4")
|
||||||
set(DSDCC_TAG "v1.9.5")
|
set(DSDCC_TAG "v1.9.5")
|
||||||
set(LIMESUITE_TAG b39cb61ed03d74c35a2de757d495e901acbb6404)
|
set(LIMESUITE_TAG 70e3859a55d8d5353963a5318013c8454594769f)
|
||||||
set(BLADERF_TAG "2021.02")
|
set(BLADERF_TAG "2021.02")
|
||||||
set(LIBIIO_TAG 826563e41b5ce9890b75506f672017de8d76d52d)
|
set(LIBIIO_TAG 826563e41b5ce9890b75506f672017de8d76d52d)
|
||||||
set(AIRSPYHF_TAG "1af81c0ca18944b8c9897c3c98dc0a991815b686")
|
set(AIRSPYHF_TAG "1af81c0ca18944b8c9897c3c98dc0a991815b686")
|
||||||
@ -29,11 +29,17 @@ set(SOAPYSDR_SDRPLAY_TAG "soapy-sdrplay-0.2.0")
|
|||||||
set(SOAPYSDR_AUDIO_TAG "soapy-audio-0.1.1")
|
set(SOAPYSDR_AUDIO_TAG "soapy-audio-0.1.1")
|
||||||
set(SOAPYSDR_REMOTE_TAG "soapy-remote-0.5.1")
|
set(SOAPYSDR_REMOTE_TAG "soapy-remote-0.5.1")
|
||||||
set(AIRSPY_TAG "37c768ce9997b32e7328eb48972a7fda0a1f8554")
|
set(AIRSPY_TAG "37c768ce9997b32e7328eb48972a7fda0a1f8554")
|
||||||
set(HACKRF_TAG "v2024.02.1")
|
set(HACKRF_TAG "v2022.09.1")
|
||||||
set(LIBXML2_TAG "v2.10.4")
|
set(LIBXML2_TAG "v2.10.4")
|
||||||
set(UHD_TAG "v4.7.0.0")
|
set(UHD_TAG "v4.6.0.0")
|
||||||
set(BOOST_TAG "1.86.0")
|
if (APPLE AND (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL x86_64))
|
||||||
set(BOOST_TAG2 "1_86_0")
|
# UHD fails to load with 1.80+
|
||||||
|
set(BOOST_TAG "1.78.0")
|
||||||
|
set(BOOST_TAG2 "1_78_0")
|
||||||
|
else()
|
||||||
|
set(BOOST_TAG "1.83.0")
|
||||||
|
set(BOOST_TAG2 "1_83_0")
|
||||||
|
endif()
|
||||||
|
|
||||||
# For some external project macros
|
# For some external project macros
|
||||||
include(ExternalProject)
|
include(ExternalProject)
|
||||||
@ -54,7 +60,6 @@ if (WIN32)
|
|||||||
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG=${SDRANGEL_BINARY_LIB_DIR}
|
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG=${SDRANGEL_BINARY_LIB_DIR}
|
||||||
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=${SDRANGEL_BINARY_LIB_DIR}
|
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=${SDRANGEL_BINARY_LIB_DIR}
|
||||||
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO=${SDRANGEL_BINARY_LIB_DIR}
|
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO=${SDRANGEL_BINARY_LIB_DIR}
|
||||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5
|
|
||||||
)
|
)
|
||||||
elseif (LINUX)
|
elseif (LINUX)
|
||||||
set(COMMON_CMAKE_ARGS
|
set(COMMON_CMAKE_ARGS
|
||||||
@ -421,7 +426,6 @@ if (NOT FFMPEG_FOUND AND NOT USE_PRECOMPILED_LIBS)
|
|||||||
if (NOT X265_FOUND OR X265_EXTERNAL)
|
if (NOT X265_FOUND OR X265_EXTERNAL)
|
||||||
ExternalProject_Add(x265
|
ExternalProject_Add(x265
|
||||||
GIT_REPOSITORY https://bitbucket.org/multicoreware/x265_git.git
|
GIT_REPOSITORY https://bitbucket.org/multicoreware/x265_git.git
|
||||||
GIT_TAG 4.1
|
|
||||||
PREFIX "${EXTERNAL_BUILD_LIBRARIES}/x265"
|
PREFIX "${EXTERNAL_BUILD_LIBRARIES}/x265"
|
||||||
SOURCE_SUBDIR "source"
|
SOURCE_SUBDIR "source"
|
||||||
CMAKE_ARGS ${COMMON_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
|
CMAKE_ARGS ${COMMON_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
|
||||||
@ -542,7 +546,7 @@ endif (NOT FFMPEG_FOUND AND NOT USE_PRECOMPILED_LIBS)
|
|||||||
if (NOT OpenCV_FOUND AND NOT USE_PRECOMPILED_LIBS AND ENABLE_CHANNELTX_MODATV)
|
if (NOT OpenCV_FOUND AND NOT USE_PRECOMPILED_LIBS AND ENABLE_CHANNELTX_MODATV)
|
||||||
ExternalProject_Add(opencv
|
ExternalProject_Add(opencv
|
||||||
GIT_REPOSITORY https://github.com/opencv/opencv.git
|
GIT_REPOSITORY https://github.com/opencv/opencv.git
|
||||||
GIT_TAG 4.10.0
|
GIT_TAG 4.5.5
|
||||||
DEPENDS "${FFMPEG_DEPENDS}"
|
DEPENDS "${FFMPEG_DEPENDS}"
|
||||||
PREFIX "${EXTERNAL_BUILD_LIBRARIES}/opencv"
|
PREFIX "${EXTERNAL_BUILD_LIBRARIES}/opencv"
|
||||||
CMAKE_ARGS ${COMMON_CMAKE_ARGS} -DWITH_FFMPEG=ON -DCMAKE_PREFIX_PATH=${FFMPEG_INSTALL_DIR}
|
CMAKE_ARGS ${COMMON_CMAKE_ARGS} -DWITH_FFMPEG=ON -DCMAKE_PREFIX_PATH=${FFMPEG_INSTALL_DIR}
|
||||||
@ -847,70 +851,6 @@ if(ENABLE_FEATURE_SATELLITETRACKER OR ENABLE_CHANNELRX_DEMODAPT)
|
|||||||
endif ()
|
endif ()
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if(ENABLE_CHANNELRX_REMOTETCPSINK)
|
|
||||||
if (WIN32)
|
|
||||||
set(FLAC_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/FLAC.lib" CACHE INTERNAL "")
|
|
||||||
elseif (LINUX)
|
|
||||||
set(FLAC_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/flac/src/flac-build/src/libFLAC/libFLAC${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "")
|
|
||||||
elseif (APPLE)
|
|
||||||
set(FLAC_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/flac/src/flac-build/src/libFLAC/libFLAC${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "")
|
|
||||||
elseif (EMSCRIPTEN)
|
|
||||||
set(FLAC_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/flac/src/flac-build/src/libFLAC/libFLAC.a" CACHE INTERNAL "")
|
|
||||||
endif()
|
|
||||||
ExternalProject_Add(flac
|
|
||||||
GIT_REPOSITORY https://github.com/xiph/flac.git
|
|
||||||
PREFIX "${EXTERNAL_BUILD_LIBRARIES}/flac"
|
|
||||||
CMAKE_ARGS ${COMMON_CMAKE_ARGS} -DINSTALL_MANPAGES=OFF -DBUILD_SHARED_LIBS=ON -DWITH_FORTIFY_SOURCE=OFF -DWITH_STACK_PROTECTOR=PFF -DBUILD_PROGRAMS=OFF -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DWITH_OGG=OFF -DBUILD_DOCS=OFF
|
|
||||||
BUILD_BYPRODUCTS "${FLAC_LIBRARIES}"
|
|
||||||
INSTALL_COMMAND ""
|
|
||||||
TEST_COMMAND ""
|
|
||||||
)
|
|
||||||
ExternalProject_Get_Property(flac source_dir binary_dir)
|
|
||||||
set_global(FLAC_DEPENDS flac)
|
|
||||||
set_global_cache(FLAC_FOUND ON)
|
|
||||||
set(FLAC_EXTERNAL ON CACHE INTERNAL "")
|
|
||||||
set(FLAC_INCLUDE_DIR "${EXTERNAL_BUILD_LIBRARIES}/flac/src/flac/include" CACHE INTERNAL "")
|
|
||||||
if (WIN32)
|
|
||||||
install(FILES "${SDRANGEL_BINARY_BIN_DIR}/FLAC${CMAKE_SHARED_LIBRARY_SUFFIX}" DESTINATION "${INSTALL_LIB_DIR}")
|
|
||||||
elseif (APPLE)
|
|
||||||
install(DIRECTORY "${EXTERNAL_BUILD_LIBRARIES}/flac/src/flac-build/src/libFLAC" DESTINATION "${INSTALL_LIB_DIR}"
|
|
||||||
FILES_MATCHING PATTERN "libFLAC*${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
|
||||||
set(MACOS_EXTERNAL_LIBS_FIXUP "${MACOS_EXTERNAL_LIBS_FIXUP};${EXTERNAL_BUILD_LIBRARIES}/flac/src/flac-build/src/libFLAC")
|
|
||||||
endif ()
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
# For Morse Decoder feature
|
|
||||||
if(ENABLE_FEATURE_MORSEDECODER)
|
|
||||||
if (WIN32)
|
|
||||||
set(GGMORSE_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/ggmorse.lib" CACHE INTERNAL "")
|
|
||||||
elseif (LINUX)
|
|
||||||
set(GGMORSE_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/lib${LIB_SUFFIX}/libggmorse${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "")
|
|
||||||
endif()
|
|
||||||
ExternalProject_Add(ggmorse
|
|
||||||
GIT_REPOSITORY https://github.com/ggerganov/ggmorse.git
|
|
||||||
PREFIX "${EXTERNAL_BUILD_LIBRARIES}/ggmorse"
|
|
||||||
CMAKE_ARGS ${COMMON_CMAKE_ARGS}
|
|
||||||
-DGGMORSE_BUILD_TESTS=OFF
|
|
||||||
-DGGMORSE_BUILD_EXAMPLES=OFF
|
|
||||||
BUILD_BYPRODUCTS "${GGMORSE_LIBRARIES}"
|
|
||||||
INSTALL_COMMAND ""
|
|
||||||
TEST_COMMAND ""
|
|
||||||
)
|
|
||||||
ExternalProject_Get_Property(ggmorse source_dir binary_dir)
|
|
||||||
set(GGMORSE_DEPENDS ggmorse CACHE INTERNAL "")
|
|
||||||
set_global_cache(GGMORSE_FOUND ON)
|
|
||||||
set(GGMORSE_EXTERNAL ON CACHE INTERNAL "")
|
|
||||||
set(GGMORSE_INCLUDE_DIR "${EXTERNAL_BUILD_LIBRARIES}/ggmorse/src/ggmorse/include" CACHE INTERNAL "")
|
|
||||||
if (WIN32)
|
|
||||||
install(FILES "${SDRANGEL_BINARY_BIN_DIR}/ggmorse${CMAKE_SHARED_LIBRARY_SUFFIX}" DESTINATION "${INSTALL_LIB_DIR}")
|
|
||||||
elseif (APPLE)
|
|
||||||
set(GGMORSE_LIBRARIES "${binary_dir}/src/libggmorse${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "")
|
|
||||||
install(DIRECTORY "${binary_dir}/src" DESTINATION "${INSTALL_LIB_DIR}"
|
|
||||||
FILES_MATCHING PATTERN "libggmorse*${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
|
||||||
set(MACOS_EXTERNAL_LIBS_FIXUP "${MACOS_EXTERNAL_LIBS_FIXUP};${binary_dir}/src")
|
|
||||||
endif ()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# VkFFT (header only library)
|
# VkFFT (header only library)
|
||||||
ExternalProject_Add(vkfft
|
ExternalProject_Add(vkfft
|
||||||
GIT_REPOSITORY https://github.com/DTolm/VkFFT.git
|
GIT_REPOSITORY https://github.com/DTolm/VkFFT.git
|
||||||
@ -1252,7 +1192,7 @@ if (WIN32 OR APPLE)
|
|||||||
|
|
||||||
if (ENABLE_SOAPYSDR)
|
if (ENABLE_SOAPYSDR)
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
set(SOAPYSDR_LINK_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/SoapySDR.lib" CACHE INTERNAL "")
|
set(SOAPYSDR_LIBRARY "${SDRANGEL_BINARY_LIB_DIR}/SoapySDR.lib" CACHE INTERNAL "")
|
||||||
endif ()
|
endif ()
|
||||||
ExternalProject_Add(soapysdr
|
ExternalProject_Add(soapysdr
|
||||||
GIT_REPOSITORY https://github.com/pothosware/SoapySDR.git
|
GIT_REPOSITORY https://github.com/pothosware/SoapySDR.git
|
||||||
@ -1263,7 +1203,7 @@ if (WIN32 OR APPLE)
|
|||||||
-DENABLE_PYTHON=OFF
|
-DENABLE_PYTHON=OFF
|
||||||
-DENABLE_PYTHON3=OFF
|
-DENABLE_PYTHON3=OFF
|
||||||
-DENABLE_TESTS=OFF
|
-DENABLE_TESTS=OFF
|
||||||
BUILD_BYPRODUCTS "${SOAPYSDR_LINK_LIBRARIES}"
|
BUILD_BYPRODUCTS "${SOAPYSDR_LIBRARY}"
|
||||||
BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config $<CONFIG> -- SoapySDR
|
BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config $<CONFIG> -- SoapySDR
|
||||||
INSTALL_COMMAND ""
|
INSTALL_COMMAND ""
|
||||||
TEST_COMMAND ""
|
TEST_COMMAND ""
|
||||||
@ -1271,12 +1211,12 @@ if (WIN32 OR APPLE)
|
|||||||
ExternalProject_Get_Property(soapysdr source_dir binary_dir)
|
ExternalProject_Get_Property(soapysdr source_dir binary_dir)
|
||||||
set_global_cache(SOAPYSDR_FOUND ON)
|
set_global_cache(SOAPYSDR_FOUND ON)
|
||||||
set(SOAPYSDR_EXTERNAL ON CACHE INTERNAL "")
|
set(SOAPYSDR_EXTERNAL ON CACHE INTERNAL "")
|
||||||
set(SOAPYSDR_INCLUDE_DIRS "${source_dir}/include" CACHE INTERNAL "")
|
set(SOAPYSDR_INCLUDE_DIR "${source_dir}/include" CACHE INTERNAL "")
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
install(FILES "${SDRANGEL_BINARY_BIN_DIR}/SoapySDR${CMAKE_SHARED_LIBRARY_SUFFIX}" DESTINATION "${INSTALL_LIB_DIR}")
|
install(FILES "${SDRANGEL_BINARY_BIN_DIR}/SoapySDR${CMAKE_SHARED_LIBRARY_SUFFIX}" DESTINATION "${INSTALL_LIB_DIR}")
|
||||||
install(DIRECTORY "${SDRANGEL_BINARY_LIB_DIR}/SoapySDR" DESTINATION "${INSTALL_LIB_DIR}/lib")
|
install(DIRECTORY "${SDRANGEL_BINARY_LIB_DIR}/SoapySDR" DESTINATION "${INSTALL_LIB_DIR}/lib")
|
||||||
elseif (APPLE)
|
elseif (APPLE)
|
||||||
set(SOAPYSDR_LINK_LIBRARIES "${binary_dir}/lib/libSoapySDR${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "")
|
set(SOAPYSDR_LIBRARY "${binary_dir}/lib/libSoapySDR${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "")
|
||||||
install(DIRECTORY "${binary_dir}/lib/" DESTINATION "${INSTALL_LIB_DIR}"
|
install(DIRECTORY "${binary_dir}/lib/" DESTINATION "${INSTALL_LIB_DIR}"
|
||||||
FILES_MATCHING PATTERN "libSoapySDR*${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
FILES_MATCHING PATTERN "libSoapySDR*${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||||
set(MACOS_EXTERNAL_LIBS_FIXUP "${MACOS_EXTERNAL_LIBS_FIXUP};${binary_dir}/lib/")
|
set(MACOS_EXTERNAL_LIBS_FIXUP "${MACOS_EXTERNAL_LIBS_FIXUP};${binary_dir}/lib/")
|
||||||
@ -1574,8 +1514,6 @@ if (WIN32 OR APPLE)
|
|||||||
-DLIBUSB_LIBRARIES=${LIBUSB_LIBRARIES}
|
-DLIBUSB_LIBRARIES=${LIBUSB_LIBRARIES}
|
||||||
-DLIBUSB_INCLUDE_DIR=${LIBUSB_INCLUDE_DIR}
|
-DLIBUSB_INCLUDE_DIR=${LIBUSB_INCLUDE_DIR}
|
||||||
${UHD_PYTHON_ARGS}
|
${UHD_PYTHON_ARGS}
|
||||||
-DPython3_FIND_FRAMEWORK=NEVER
|
|
||||||
-DENABLE_PYTHON_API=OFF
|
|
||||||
-DCMAKE_INSTALL_NAME_DIR=<INSTALL_DIR>/lib
|
-DCMAKE_INSTALL_NAME_DIR=<INSTALL_DIR>/lib
|
||||||
TEST_COMMAND ""
|
TEST_COMMAND ""
|
||||||
)
|
)
|
||||||
|
2
external/windows
vendored
@ -1 +1 @@
|
|||||||
Subproject commit eddef8183524e5aaef978088427d4b22a5afb393
|
Subproject commit da914afa4b7f2453882953ca1bf292bb83093626
|
@ -81,7 +81,7 @@ void fcdClose(hid_device *phd);
|
|||||||
FCD_MODE_ENUM fcdGetMode(hid_device *phd);
|
FCD_MODE_ENUM fcdGetMode(hid_device *phd);
|
||||||
|
|
||||||
/** \brief Get FCD firmware version as string.
|
/** \brief Get FCD firmware version as string.
|
||||||
* \param str The returned version number as a 0 terminated string (must be pre-allocated)
|
* \param str The returned vesion number as a 0 terminated string (must be pre-allocated)
|
||||||
* \return The current FCD mode.
|
* \return The current FCD mode.
|
||||||
* \sa FCD_MODE_ENUM
|
* \sa FCD_MODE_ENUM
|
||||||
*/
|
*/
|
||||||
@ -183,7 +183,7 @@ FCD_MODE_ENUM fcdBlWriteFirmware(hid_device *phd, char *pc, int64_t n64Size);
|
|||||||
/** \brief Verify firmware in FCd flash.
|
/** \brief Verify firmware in FCd flash.
|
||||||
* \param pc Pointer to firmware data to verify against.
|
* \param pc Pointer to firmware data to verify against.
|
||||||
* \param n64Size Size of the data in pc.
|
* \param n64Size Size of the data in pc.
|
||||||
* \return The FCD_MODE_BL if verification was successful.
|
* \return The FCD_MODE_BL if verification was succesful.
|
||||||
*
|
*
|
||||||
* This function verifies the firmware currently in the FCd flash against the firmware
|
* This function verifies the firmware currently in the FCd flash against the firmware
|
||||||
* image pointed to by pc. The function return FCD_MODE_BL if the verification is OK and
|
* image pointed to by pc. The function return FCD_MODE_BL if the verification is OK and
|
||||||
|
@ -39,14 +39,10 @@ include_directories(
|
|||||||
${CMAKE_SOURCE_DIR}/sdrbase
|
${CMAKE_SOURCE_DIR}/sdrbase
|
||||||
)
|
)
|
||||||
|
|
||||||
add_library(ft8
|
add_library(ft8 SHARED
|
||||||
${ft8_SOURCES}
|
${ft8_SOURCES}
|
||||||
)
|
)
|
||||||
|
|
||||||
if(DEFINED FFTW3F_DEPENDS)
|
|
||||||
add_dependencies(ft8 "${FFTW3F_DEPENDS}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
target_link_libraries(ft8
|
target_link_libraries(ft8
|
||||||
Boost::disable_autolinking
|
Boost::disable_autolinking
|
||||||
${FFTW3F_LIBRARIES}
|
${FFTW3F_LIBRARIES}
|
||||||
|
14
ft8/ft8.cpp
@ -652,7 +652,7 @@ void FT8::go(int npasses)
|
|||||||
// in fractions of bins in off and hz.
|
// in fractions of bins in off and hz.
|
||||||
//
|
//
|
||||||
|
|
||||||
// just do this once, reuse for every fractional fft_shift
|
// just do this once, re-use for every fractional fft_shift
|
||||||
// and down_v7_f() to 200 sps.
|
// and down_v7_f() to 200 sps.
|
||||||
std::vector<std::complex<float>> bins = fftEngine_->one_fft(
|
std::vector<std::complex<float>> bins = fftEngine_->one_fft(
|
||||||
samples_, 0, samples_.size());
|
samples_, 0, samples_.size());
|
||||||
@ -1938,10 +1938,6 @@ void FT8::soft_decode(const FFTEngine::ffts_t &c79, float ll174[])
|
|||||||
//
|
//
|
||||||
void FT8::soft_decode_mags(FT8Params& params, const std::vector<std::vector<float>>& mags_, int nbSymbolBits, float ll174[])
|
void FT8::soft_decode_mags(FT8Params& params, const std::vector<std::vector<float>>& mags_, int nbSymbolBits, float ll174[])
|
||||||
{
|
{
|
||||||
if ((nbSymbolBits > 16) || (nbSymbolBits < 1)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::vector<std::vector<float>> mags = convert_to_snr_gen(params, nbSymbolBits, mags_);
|
std::vector<std::vector<float>> mags = convert_to_snr_gen(params, nbSymbolBits, mags_);
|
||||||
// statistics to decide soft probabilities.
|
// statistics to decide soft probabilities.
|
||||||
// distribution of strongest tones, and
|
// distribution of strongest tones, and
|
||||||
@ -1953,8 +1949,8 @@ void FT8::soft_decode_mags(FT8Params& params, const std::vector<std::vector<floa
|
|||||||
int lli = 0;
|
int lli = 0;
|
||||||
int zoX = 1<<(nbSymbolBits-1);
|
int zoX = 1<<(nbSymbolBits-1);
|
||||||
int zoY = nbSymbolBits;
|
int zoY = nbSymbolBits;
|
||||||
std::vector<int> zeroi(zoX*zoY);
|
int *zeroi = new int[zoX*zoY];
|
||||||
std::vector<int> onei(zoX*zoY);
|
int *onei = new int[zoX*zoY];
|
||||||
|
|
||||||
for (int biti = 0; biti < nbSymbolBits; biti++)
|
for (int biti = 0; biti < nbSymbolBits; biti++)
|
||||||
{
|
{
|
||||||
@ -2277,7 +2273,7 @@ std::vector<float> FT8::extract_bits(const std::vector<int> &syms, const std::ve
|
|||||||
return bits;
|
return bits;
|
||||||
}
|
}
|
||||||
|
|
||||||
// decode successive pairs of symbols. exploits the likelihood
|
// decode successive pairs of symbols. exploits the likelyhood
|
||||||
// that they have the same phase, by summing the complex
|
// that they have the same phase, by summing the complex
|
||||||
// correlations for each possible pair and using the max.
|
// correlations for each possible pair and using the max.
|
||||||
void FT8::soft_decode_pairs(
|
void FT8::soft_decode_pairs(
|
||||||
@ -2577,7 +2573,7 @@ void FT8::soft_decode_triples(
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// given log likelihood for each bit, try LDPC and OSD decoders.
|
// given log likelyhood for each bit, try LDPC and OSD decoders.
|
||||||
// on success, puts corrected 174 bits into a174[].
|
// on success, puts corrected 174 bits into a174[].
|
||||||
//
|
//
|
||||||
int FT8::decode(const float ll174[], int a174[], FT8Params& _params, int use_osd, std::string &comment)
|
int FT8::decode(const float ll174[], int a174[], FT8Params& _params, int use_osd, std::string &comment)
|
||||||
|
@ -85,9 +85,8 @@ struct FT8_API cdecode
|
|||||||
// total transmission time is 12.64 seconds
|
// total transmission time is 12.64 seconds
|
||||||
|
|
||||||
// tunable parameters
|
// tunable parameters
|
||||||
class FT8_API FT8Params
|
struct FT8_API FT8Params
|
||||||
{
|
{
|
||||||
public:
|
|
||||||
int nthreads; // number of parallel threads, for multi-core
|
int nthreads; // number of parallel threads, for multi-core
|
||||||
int npasses_one; // number of spectral subtraction passes
|
int npasses_one; // number of spectral subtraction passes
|
||||||
int npasses_two; // number of spectral subtraction passes
|
int npasses_two; // number of spectral subtraction passes
|
||||||
@ -265,14 +264,14 @@ public:
|
|||||||
|
|
||||||
FT8Params& getParams() { return params; }
|
FT8Params& getParams() { return params; }
|
||||||
//
|
//
|
||||||
// given log likelihood for each bit, try LDPC and OSD decoders.
|
// given log likelyhood for each bit, try LDPC and OSD decoders.
|
||||||
// on success, puts corrected 174 bits into a174[].
|
// on success, puts corrected 174 bits into a174[].
|
||||||
//
|
//
|
||||||
static int decode(const float ll174[], int a174[], FT8Params& params, int use_osd, std::string &comment);
|
static int decode(const float ll174[], int a174[], FT8Params& params, int use_osd, std::string &comment);
|
||||||
// encode a 77 bit message into a 174 bit payload
|
// encode a 77 bit message into a 174 bit payload
|
||||||
// adds the 14 bit CRC to obtain 91 bits
|
// adds the 14 bit CRC to obtain 91 bits
|
||||||
// apply (174, 91) generator mastrix to obtain the 83 parity bits
|
// apply (174, 91) generator mastrix to obtain the 83 parity bits
|
||||||
// append the 83 bits to the 91 bits message e+ crc to obtain the 174 bit payload
|
// append the 83 bits to the 91 bits messag e+ crc to obbain the 174 bit payload
|
||||||
static void encode(int a174[], int s77[]);
|
static void encode(int a174[], int s77[]);
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -491,7 +490,7 @@ private:
|
|||||||
// scaled by str.
|
// scaled by str.
|
||||||
//
|
//
|
||||||
std::vector<float> extract_bits(const std::vector<int> &syms, const std::vector<float> str);
|
std::vector<float> extract_bits(const std::vector<int> &syms, const std::vector<float> str);
|
||||||
// decode successive pairs of symbols. exploits the likelihood
|
// decode successive pairs of symbols. exploits the likelyhood
|
||||||
// that they have the same phase, by summing the complex
|
// that they have the same phase, by summing the complex
|
||||||
// correlations for each possible pair and using the max.
|
// correlations for each possible pair and using the max.
|
||||||
void soft_decode_pairs(
|
void soft_decode_pairs(
|
||||||
|
@ -370,9 +370,9 @@ void LDPC::ft8_crc(int msg1[], int msglen, int out[14])
|
|||||||
// the new FT8 polynomial for 14-bit CRC, 0x2757,
|
// the new FT8 polynomial for 14-bit CRC, 0x2757,
|
||||||
// with leading 1 bit.
|
// with leading 1 bit.
|
||||||
int div[] = {1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1};
|
int div[] = {1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1};
|
||||||
|
|
||||||
// append 14 zeros.
|
// append 14 zeros.
|
||||||
int *msg = (int *)malloc(sizeof(int) * (msglen + 14));
|
int *msg = (int *)malloc(sizeof(int) * (msglen + 14));
|
||||||
|
|
||||||
for (int i = 0; i < msglen + 14; i++)
|
for (int i = 0; i < msglen + 14; i++)
|
||||||
{
|
{
|
||||||
if (i < msglen)
|
if (i < msglen)
|
||||||
@ -396,7 +396,7 @@ void LDPC::ft8_crc(int msg1[], int msglen, int out[14])
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < msglen + 14; i++)
|
for (int i = 0; i < 14; i++)
|
||||||
{
|
{
|
||||||
out[i] = msg[msglen + i];
|
out[i] = msg[msglen + i];
|
||||||
}
|
}
|
||||||
|