mirror of
https://github.com/wf-group/wfview
synced 2026-08-13 17:32:59 -04:00
455 lines
15 KiB
Prolog
455 lines
15 KiB
Prolog
#-------------------------------------------------
|
|
#
|
|
# Project created by QtCreator 2018-05-26T16:57:32
|
|
#
|
|
#-------------------------------------------------
|
|
|
|
QT += core gui serialport network multimedia xml
|
|
|
|
#QT += sql
|
|
#DEFINES += USESQL
|
|
|
|
#Uncomment The following line to enable USB controllers (Shuttle/RC-28 etc.)
|
|
DEFINES += USB_CONTROLLER
|
|
DEFINES += OUTSIDE_SPEEX
|
|
DEFINES += FLOATING_POINT
|
|
DEFINES += USE_KISS_FFT
|
|
DEFINES += "EXPORT="
|
|
|
|
greaterThan(QT_MAJOR_VERSION, 4): QT += websockets gui qml quick quickcontrols2
|
|
|
|
contains(DEFINES,USB_CONTROLLER){
|
|
lessThan(QT_MAJOR_VERSION, 6): QT += gamepad
|
|
}
|
|
|
|
TARGET = wfview
|
|
TEMPLATE = app
|
|
|
|
DEFINES += WFVIEW_VERSION=\\\"3.00\\\"
|
|
|
|
DEFINES += BUILD_WFVIEW
|
|
|
|
CONFIG += c++17
|
|
|
|
CONFIG(debug, release|debug) {
|
|
# For Debug builds only:
|
|
linux:QMAKE_CXXFLAGS += -faligned-new
|
|
win32:DESTDIR = wfview-debug
|
|
} else {
|
|
# For Release builds only:
|
|
# The next line doesn't seem to be used?
|
|
#linux:QMAKE_CXXFLAGS += -s
|
|
linux:QMAKE_CXXFLAGS += -fvisibility=hidden
|
|
linux:QMAKE_CXXFLAGS += -fvisibility-inlines-hidden
|
|
linux:QMAKE_CXXFLAGS += -faligned-new
|
|
linux:QMAKE_LFLAGS += -O2 -s
|
|
win32:DESTDIR = wfview-release
|
|
DEFINES += NDEBUG
|
|
}
|
|
|
|
TRANSLATIONS += translations/wfview_en.ts \
|
|
translations/wfview_en_GB.ts \
|
|
translations/wfview_es_ES.ts \
|
|
translations/wfview_it.ts \
|
|
translations/wfview_tr.ts \
|
|
translations/wfview_de.ts \
|
|
translations/wfview_ja.ts \
|
|
translations/wfview_zh_TW.ts \
|
|
translations/wfview_cs_CZ.ts \
|
|
translations/wfview_pl.ts \
|
|
translations/wfview_nl_NL.ts \
|
|
translations/wfview_zh_CN.ts
|
|
|
|
|
|
# RTAudio defines
|
|
win32:DEFINES += __WINDOWS_WASAPI__
|
|
#win32:DEFINES += __WINDOWS_DS__ # Requires DirectSound libraries
|
|
#linux:DEFINES += __LINUX_ALSA__
|
|
#linux:DEFINES += __LINUX_OSS__
|
|
linux:DEFINES += __LINUX_PULSE__
|
|
macx:DEFINES += __MACOSX_CORE__
|
|
!linux:SOURCES += $$PWD/../rtaudio/RTAudio.cpp
|
|
!linux:HEADERS += $$PWD/../rtaudio/RTAudio.h
|
|
!linux:INCLUDEPATH += $$PWD/../rtaudio
|
|
|
|
linux:LIBS += -lpulse -lpulse-simple -lrtaudio -lpthread -ludev
|
|
|
|
win32:INCLUDEPATH += $$PWD/../portaudio/include
|
|
!win32:LIBS += -lportaudio
|
|
|
|
# The following define makes your compiler emit warnings if you use
|
|
# any feature of Qt which as been marked as deprecated (the exact warnings
|
|
# depend on your compiler). Please consult the documentation of the
|
|
# deprecated API in order to know how to port your code away from it.
|
|
DEFINES += QT_DEPRECATED_WARNINGS
|
|
|
|
# These defines are used for the resampler
|
|
equals(QT_ARCH, i386): win32:DEFINES += USE_SSE
|
|
equals(QT_ARCH, i386): win32:DEFINES += USE_SSE2
|
|
equals(QT_ARCH, x86_64): DEFINES += USE_SSE
|
|
equals(QT_ARCH, x86_64): DEFINES += USE_SSE2
|
|
equals(QT_ARCH, arm): DEFINES += USE_NEON
|
|
DEFINES += OUTSIDE_SPEEX
|
|
DEFINES += RANDOM_PREFIX=wf
|
|
|
|
# These defines are used for the Eigen library
|
|
DEFINES += EIGEN_MPL2_ONLY
|
|
DEFINES += EIGEN_DONT_VECTORIZE #Clear vector flags
|
|
equals(QT_ARCH, i386): win32:DEFINES += EIGEN_VECTORIZE_SSE3
|
|
equals(QT_ARCH, x86_64): DEFINES += EIGEN_VECTORIZE_SSE3
|
|
|
|
|
|
isEmpty(PREFIX) {
|
|
PREFIX = /usr/local
|
|
}
|
|
|
|
DEFINES += PREFIX=\\\"$$PREFIX\\\"
|
|
|
|
macx:INCLUDEPATH += /usr/local/include
|
|
macx:LIBS += -L/usr/local/lib
|
|
|
|
win32:RC_ICONS = "resources/icons/Windows/wfview 512x512.ico"
|
|
|
|
macx{
|
|
ICON = resources/wfview.icns
|
|
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.15
|
|
QMAKE_APPLE_DEVICE_ARCHS = x86_64 arm64
|
|
MY_ENTITLEMENTS.name = CODE_SIGN_ENTITLEMENTS
|
|
MY_ENTITLEMENTS.value = resources/wfview.entitlements
|
|
QMAKE_MAC_XCODE_SETTINGS += MY_ENTITLEMENTS
|
|
QMAKE_INFO_PLIST = resources/Info.plist
|
|
rigFiles.files = rigs
|
|
rigFiles.path = Contents/Resources
|
|
QMAKE_BUNDLE_DATA += rigFiles
|
|
}
|
|
|
|
QMAKE_TARGET_BUNDLE_PREFIX = org.wfview
|
|
|
|
!win32:DEFINES += HOST=\\\"`hostname`\\\" UNAME=\\\"`whoami`\\\"
|
|
!win32:DEFINES += GITSHORT="\\\"$(shell git -C \"$$PWD\" rev-parse --short HEAD)\\\""
|
|
|
|
win32:DEFINES += GITSHORT=\\\"$$system(git -C $$PWD rev-parse --short HEAD)\\\"
|
|
win32:DEFINES += HOST=\\\"$$system(hostname)\\\"
|
|
win32:DEFINES += UNAME=\\\"$$system(echo %USERNAME%)\\\"
|
|
|
|
|
|
RESOURCES += qdarkstyle/style.qrc \
|
|
resources/resources.qrc \
|
|
qml/qml.qrc \
|
|
translations/translation.qrc
|
|
|
|
|
|
unix:target.path = $$PREFIX/bin
|
|
INSTALLS += target
|
|
|
|
# Why doesn't this seem to do anything?
|
|
unix:DISTFILES += resources/icons/bitmap/wfview.png \
|
|
resources/install.sh
|
|
unix:DISTFILES += resources/wfview.desktop
|
|
unix:DISTFILES += resources/org.wfview.wfview.metainfo.xml
|
|
|
|
unix:applications.files = resources/wfview.desktop
|
|
unix:applications.path = $$PREFIX/share/applications
|
|
INSTALLS += applications
|
|
|
|
unix:icons.files = resources/icons/bitmap/wfview.png
|
|
unix:icons.path = $$PREFIX/share/icons/hicolor/256x256/apps
|
|
INSTALLS += icons
|
|
|
|
unix:metainfo.files = resources/org.wfview.wfview.metainfo.xml
|
|
unix:metainfo.path = $$PREFIX/share/metainfo
|
|
INSTALLS += metainfo
|
|
|
|
unix:stylesheets.files = qdarkstyle
|
|
unix:stylesheets.path = $$PREFIX/share/wfview
|
|
INSTALLS += stylesheets
|
|
|
|
unix:rigs.files = rigs/*
|
|
unix:rigs.path = $$PREFIX/share/wfview/rigs
|
|
INSTALLS += rigs
|
|
|
|
macx:LIBS += -framework CoreAudio -framework CoreFoundation -lpthread -lopus
|
|
|
|
# Do not do this, it will hang on start:
|
|
# CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG_OUTPUT
|
|
|
|
CONFIG(debug, release|debug) {
|
|
|
|
win32 {
|
|
contains(QMAKE_TARGET.arch, x86_64) {
|
|
LIBS += -L$$PWD/../opus/win32/VS2015/x64/DebugDLL/
|
|
QMAKE_POST_LINK +=$$quote(cmd /c copy /y $$shell_path($$PWD/../portaudio/msvc/x64/Debug/portaudio_x64.dll) wfview-debug $$escape_expand(\\n\\t))
|
|
QMAKE_POST_LINK +=$$quote(cmd /c copy /y $$shell_path($$PWD/../hidapi/windows/X64/Debug/hidapi.dll) wfview-debug $$escape_expand(\\n\\t))
|
|
QMAKE_POST_LINK +=$$quote(cmd /c copy /y $$shell_path($$PWD/../opus/win32/VS2015/x64/DebugDLL/opus-0.dll) wfview-debug $$escape_expand(\\n\\t))
|
|
QMAKE_POST_LINK +=$$quote(cmd /c xcopy /s/y $$shell_path($$PWD/rigs/*.*) wfview-debug\rigs\*.* $$escape_expand(\\n\\t))
|
|
LIBS += -L$$PWD/../portaudio/msvc/X64/Debug/ -lportaudio_x64
|
|
contains(DEFINES,USB_CONTROLLER){
|
|
LIBS += -L$$PWD/../hidapi/windows/x64/debug -lhidapi
|
|
}
|
|
} else {
|
|
LIBS += -L$$PWD/../opus/win32/VS2015/win32/DebugDLL/
|
|
LIBS += -L$$PWD/../portaudio/msvc/Win32/Debug/ -lportaudio_x86
|
|
QMAKE_POST_LINK +=$$quote(cmd /c copy /y $$shell_path($$PWD/../portaudio/msvc/win32/Debug/portaudio_x86.dll) wfview-debug $$escape_expand(\\n\\t))
|
|
QMAKE_POST_LINK +=$$quote(cmd /c copy /y $$shell_path($$PWD/../hidapi/windows/Debug/hidapi.dll) wfview-debug $$escape_expand(\\n\\t))
|
|
QMAKE_POST_LINK +=$$quote(cmd /c copy /y $$shell_path($$PWD/../opus/win32/VS2015/win32/DebugDLL/opus-0.dll) wfview-debug $$escape_expand(\\n\\t))
|
|
QMAKE_POST_LINK +=$$quote(cmd /c xcopy /s/y $$shell_path($$PWD/rigs/*.*) wfview-debug\rigs\*.* $$escape_expand(\\n\\t))
|
|
contains(DEFINES,USB_CONTROLLER){
|
|
LIBS += -L$$PWD/../hidapi/windows/debug -lhidapi
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
|
|
win32 {
|
|
contains(QMAKE_TARGET.arch, x86_64) {
|
|
LIBS += -L$$PWD/../opus/win32/VS2015/x64/ReleaseDLL/
|
|
LIBS += -L$$PWD/../portaudio/msvc/X64/Release/ -lportaudio_x64
|
|
QMAKE_POST_LINK +=$$quote(cmd /c copy /y $$shell_path($$PWD/../portaudio/msvc/x64/Release/portaudio_x64.dll) wfview-release $$escape_expand(\\n\\t))
|
|
QMAKE_POST_LINK +=$$quote(cmd /c copy /y $$shell_path($$PWD/../hidapi/windows/X64/Release/hidapi.dll) wfview-release $$escape_expand(\\n\\t))
|
|
QMAKE_POST_LINK +=$$quote(cmd /c copy /y $$shell_path($$PWD/../opus/win32/VS2015/x64/ReleaseDLL/opus-0.dll) wfview-release $$escape_expand(\\n\\t))
|
|
QMAKE_POST_LINK +=$$quote(cmd /c xcopy /s/y $$shell_path($$PWD/rigs/*.*) wfview-release\rigs\*.* $$escape_expand(\\n\\t))
|
|
contains(DEFINES,USB_CONTROLLER){
|
|
LIBS += -L$$PWD/../hidapi/windows/x64/release -lhidapi
|
|
}
|
|
} else {
|
|
LIBS += -L$$PWD/../opus/win32/VS2015/win32/ReleaseDLL/
|
|
LIBS += -L$$PWD/../portaudio/msvc/Win32/Release/ -lportaudio_x86
|
|
QMAKE_POST_LINK +=$$quote(cmd /c copy /y $$shell_path($$PWD/../portaudio/msvc/win32/Release/portaudio_x86.dll) wfview-release $$escape_expand(\\n\\t))
|
|
QMAKE_POST_LINK +=$$quote(cmd /c copy /y $$shell_path($$PWD/../hidapi/windows/Release/hidapi.dll) wfview-release $$escape_expand(\\n\\t))
|
|
QMAKE_POST_LINK +=$$quote(cmd /c copy /y $$shell_path($$PWD/../opus/win32/VS2015/win32/ReleaseDLL/opus-0.dll) wfview-release $$escape_expand(\\n\\t))
|
|
QMAKE_POST_LINK +=$$quote(cmd /c xcopy /s/y $$shell_path($$PWD/rigs/*.*) wfview-release\rigs\*.* $$escape_expand(\\n\\t))
|
|
contains(DEFINES,USB_CONTROLLER){
|
|
win32:LIBS += -L$$PWD/../hidapi/windows/release -lhidapi
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
contains(DEFINES,USB_CONTROLLER){
|
|
linux:LIBS += -L./ -lhidapi-libusb
|
|
macx:LIBS += -lhidapi
|
|
win32:INCLUDEPATH += $$PWD/../hidapi/hidapi
|
|
}
|
|
|
|
!win32:LIBS += -L./ -lopus
|
|
|
|
win32:LIBS += -lopus -lole32 -luser32
|
|
|
|
#contains(DEFINES,FTDI_SUPPORT){
|
|
# !win32:LIBS += -lft4222
|
|
#}
|
|
|
|
win32:INCLUDEPATH += $$PWD/../hidapi/hidapi
|
|
|
|
#contains(DEFINES,FTDI_SUPPORT){
|
|
# win32:INCLUDEPATH += ../LibFT4222-v1.4.7\imports\LibFT4222\inc
|
|
# win32:INCLUDEPATH += ../LibFT4222-v1.4.7\imports\ftd2xx
|
|
#}
|
|
|
|
!linux:INCLUDEPATH += $$PWD/../opus/include
|
|
!linux:INCLUDEPATH += $$PWD/../eigen
|
|
!linux:INCLUDEPATH += $$PWD/../r8brain-free-src
|
|
|
|
INCLUDEPATH += include
|
|
INCLUDEPATH += src/audio
|
|
INCLUDEPATH += src/audio/resampler
|
|
INCLUDEPATH += src/audio/plugins
|
|
INCLUDEPATH += src/audio/pocketfft
|
|
INCLUDEPATH += src/audio/speexdspmini/src
|
|
INCLUDEPATH += src/audio/speexdspmini/include
|
|
INCLUDEPATH += src/audio/anr
|
|
|
|
SOURCES += \
|
|
src/CWSenderController.cpp \
|
|
src/ControllerController.cpp \
|
|
src/DebugController.cpp \
|
|
src/LogModel.cpp \
|
|
src/LoggingController.cpp \
|
|
src/MainController.cpp \
|
|
src/MemoriesModel.cpp \
|
|
src/MeterItem.cpp \
|
|
src/ReceiverController.cpp \
|
|
src/RigCreatorController.cpp \
|
|
src/SelectRadioController.cpp \
|
|
src/SettingsController.cpp \
|
|
src/audio/adpcm/adpcm-dns.c \
|
|
src/audio/adpcm/adpcm-lib.c \
|
|
src/audio/audioconverter.cpp \
|
|
src/audio/audiodevices.cpp \
|
|
src/audio/audiohandlerbase.cpp \
|
|
src/audio/audiohandlerpainput.cpp \
|
|
src/audio/audiohandlerpaoutput.cpp \
|
|
src/audio/audiohandlerqtinput.cpp \
|
|
src/audio/audiohandlerqtoutput.cpp \
|
|
src/audio/audiohandlerrtinput.cpp \
|
|
src/audio/audiohandlerrtoutput.cpp \
|
|
src/audio/audiohandlertciinput.cpp \
|
|
src/audio/audiohandlertcioutput.cpp \
|
|
src/audio/plugins/dyson_compress.cpp \
|
|
src/audio/plugins/mbeq.cpp \
|
|
src/audio/plugins/noisegate.cpp \
|
|
src/audio/plugins/triple_para.cpp \
|
|
src/audio/pocketfft/pocketfft.c \
|
|
src/audio/resampler/resample.c \
|
|
src/audio/txaudioprocessor.cpp \
|
|
src/audio/rxaudioprocessor.cpp \
|
|
src/audio/anr/loguru.cpp \
|
|
src/audio/anr/NoiseReduction.cpp \
|
|
src/audio/anr/RealFFTf.cpp \
|
|
src/audio/anr/InputTrack.cpp \
|
|
src/audio/anr/OutputTrack.cpp \
|
|
src/audio/speexdspmini/src/preprocess.c \
|
|
src/audio/speexdspmini/src/fftwrap.c \
|
|
src/audio/speexdspmini/src/filterbank.c \
|
|
src/audio/speexdspmini/src/kiss_fft.c \
|
|
src/audio/speexdspmini/src/kiss_fftr.c \
|
|
src/audiorouting.cpp \
|
|
src/cachingqueue.cpp \
|
|
src/cluster.cpp \
|
|
src/commhandler.cpp \
|
|
src/cwsidetone.cpp \
|
|
src/database.cpp \
|
|
src/directradiotransport.cpp \
|
|
src/freqctrlquick.cpp \
|
|
src/freqmemory.cpp \
|
|
src/ft4222handler.cpp \
|
|
src/iaxclientsession.cpp \
|
|
src/iaxradiotransport.cpp \
|
|
src/keyboard.cpp \
|
|
src/logcategories.cpp \
|
|
src/main.cpp \
|
|
src/vsphandler.cpp \
|
|
src/radiotransportframe.cpp \
|
|
src/radio/icomcommander.cpp \
|
|
src/radio/icomcivradiotransport.cpp \
|
|
src/radio/icomscopeframeassembler.cpp \
|
|
src/radio/icomserver.cpp \
|
|
src/radio/icomudpaudio.cpp \
|
|
src/radio/icomudpbase.cpp \
|
|
src/radio/icomudpcivdata.cpp \
|
|
src/radio/icomudphandler.cpp \
|
|
src/radio/kenwoodcommander.cpp \
|
|
src/radio/kenwoodserver.cpp \
|
|
src/radio/yaesucommander.cpp \
|
|
src/radio/yaesuserver.cpp \
|
|
src/radio/yaesuudpaudio.cpp \
|
|
src/radio/yaesuudpbase.cpp \
|
|
src/radio/yaesuudpcat.cpp \
|
|
src/radio/yaesuudpcontrol.cpp \
|
|
src/radio/yaesuudpscope.cpp \
|
|
src/rigcommander.cpp \
|
|
src/rigctlcompat.cpp \
|
|
src/rigctld.cpp \
|
|
src/rigidentities.cpp \
|
|
src/rigserver.cpp \
|
|
src/rtpaudio.cpp \
|
|
src/sidebandchooser.cpp \
|
|
src/spectrumitem.cpp \
|
|
src/tciserver.cpp \
|
|
src/tcpserver.cpp \
|
|
src/usbcontroller.cpp \
|
|
src/waterfallitem.cpp
|
|
|
|
HEADERS += \
|
|
include/CWSenderController.h \
|
|
include/ControllerController.h \
|
|
include/DebugController.h \
|
|
include/LogModel.h \
|
|
include/LoggingController.h \
|
|
include/MainController.h \
|
|
include/MemoriesModel.h \
|
|
include/MeterItem.h \
|
|
include/ReceiverController.h \
|
|
include/RigCreatorController.h \
|
|
include/SelectRadioController.h \
|
|
include/SettingsController.h \
|
|
include/freqctrlquick.h \
|
|
include/spectrumitem.h \
|
|
include/themebridge.h \
|
|
include/waterfallitem.h \
|
|
src/audio/adpcm/adpcm-lib.h \
|
|
src/audio/resampler/resample_neon.h \
|
|
src/audio/resampler/speex_resampler.h \
|
|
src/audio/resampler/arch.h \
|
|
src/audio/resampler/resample_sse.h \
|
|
include/audioconverter.h \
|
|
include/audiodevices.h \
|
|
include/audiohandler.h \
|
|
include/audiohandlerbase.h \
|
|
include/audiohandlerpainput.h \
|
|
include/audiohandlerpaoutput.h \
|
|
include/audiohandlerqtinput.h \
|
|
include/audiohandlerqtoutput.h \
|
|
include/audiohandlerrtinput.h \
|
|
include/audiohandlerrtoutput.h \
|
|
include/audiohandlertciinput.h \
|
|
include/audiohandlertcioutput.h \
|
|
include/audiorouting.h \
|
|
include/audiotaper.h \
|
|
include/bytering.h \
|
|
include/cachingqueue.h \
|
|
include/cluster.h \
|
|
include/colorprefs.h \
|
|
include/commhandler.h \
|
|
include/cwsidetone.h \
|
|
include/database.h \
|
|
include/directradiotransport.h \
|
|
include/freqmemory.h \
|
|
include/ft4222handler.h \
|
|
include/icomcommander.h \
|
|
include/icomcivradiotransport.h \
|
|
include/icomscopeframeassembler.h \
|
|
include/icomserver.h \
|
|
include/icomudpaudio.h \
|
|
include/icomudpbase.h \
|
|
include/icomudpcivdata.h \
|
|
include/icomudphandler.h \
|
|
include/iaxclientsession.h \
|
|
include/iaxradiotransport.h \
|
|
include/kenwoodcommander.h \
|
|
include/kenwoodserver.h \
|
|
include/keyboard.h \
|
|
include/logcategories.h \
|
|
include/packettypes.h \
|
|
include/prefs.h \
|
|
include/printhex.h \
|
|
include/vsphandler.h \
|
|
include/repeaterattributes.h \
|
|
include/radiotransport.h \
|
|
include/radiotransportframe.h \
|
|
include/rigcommander.h \
|
|
include/rigctlcompat.h \
|
|
include/rigctld.h \
|
|
include/rigidentities.h \
|
|
include/rigserver.h \
|
|
include/rigstate.h \
|
|
include/rtpaudio.h \
|
|
include/rxaudioprocessor.h \
|
|
include/sidebandchooser.h \
|
|
include/tciserver.h \
|
|
include/tcpserver.h \
|
|
include/txaudioprocessor.h \
|
|
include/usbcontroller.h \
|
|
include/wfviewtypes.h \
|
|
include/yaesucommander.h \
|
|
include/yaesuserver.h \
|
|
include/yaesuudpaudio.h \
|
|
include/yaesuudpbase.h \
|
|
include/yaesuudpcat.h \
|
|
include/yaesuudpcontrol.h \
|
|
include/yaesuudpscope.h \
|
|
src/audio/speexnrprocessor.h \
|
|
src/audio/anrnrprocessor.h \
|
|
src/audio/spacnrprocessor.h \
|
|
src/audio/plugins/dysoncompress.h \
|
|
src/audio/plugins/mbeq.h \
|
|
src/audio/plugins/noisegate.h \
|
|
src/audio/plugins/triple_para.h
|
|
|
|
|
|
DISTFILES += \
|
|
src/audio/adpcm/CMakeLists.txt \
|
|
src/audio/adpcm/README.md \
|
|
src/audio/adpcm/library.properties \
|
|
src/audio/adpcm/license.txt \
|
|
src/audio/resampler/COPYING
|