mirror of
https://github.com/wf-group/wfview
synced 2026-08-13 17:32:59 -04:00
291 lines
10 KiB
Prolog
291 lines
10 KiB
Prolog
#-------------------------------------------------
|
|
#
|
|
# Project created by QtCreator 2018-05-26T16:57:32
|
|
#
|
|
#-------------------------------------------------
|
|
|
|
QT += core serialport network multimedia
|
|
|
|
greaterThan(QT_MAJOR_VERSION, 4): QT += xml
|
|
|
|
TARGET = wfserver
|
|
TEMPLATE = app
|
|
|
|
CONFIG += console
|
|
CONFIG += c++17
|
|
|
|
DEFINES += WFVIEW_VERSION=\\\"2.11\\\"
|
|
|
|
DEFINES += BUILD_WFSERVER
|
|
|
|
# FTDI support requires the library from https://ftdichip.com/software-examples/ft4222h-software-examples/
|
|
DEFINES += FTDI_SUPPORT
|
|
|
|
CONFIG(debug, release|debug) {
|
|
# For Debug builds only:
|
|
linux:QMAKE_CXXFLAGS += -faligned-new
|
|
win32 {
|
|
contains(QMAKE_TARGET.arch, x86_64) {
|
|
LIBS += -L$$PWD/../opus/win32/VS2015/x64/DebugDLL/
|
|
LIBS += -L$$PWD/../portaudio/msvc/X64/Debug/ -lportaudio_x64
|
|
contains(DEFINES,FTDI_SUPPORT){
|
|
LIBS += -L$$PWD/../LibFT4222-v1.4.7/imports/ftd2xx/dll/amd64 -lftd2xx
|
|
LIBS += -L$$PWD/../LibFT4222-v1.4.7/imports/LibFT4222/dll/amd64 -lLibFT4222-64
|
|
}
|
|
QMAKE_POST_LINK +=$$quote(cmd /c copy /y $$shell_path($$PWD/../portaudio/msvc/x64/Debug/portaudio_x64.dll) wfserver-debug $$escape_expand(\\n\\t))
|
|
QMAKE_POST_LINK +=$$quote(cmd /c copy /y $$shell_path($$PWD/../opus/win32/VS2015/x64/DebugDLL/opus-0.dll) wfserver-debug $$escape_expand(\\n\\t))
|
|
QMAKE_POST_LINK +=$$quote(cmd /c xcopy /s/y $$shell_path($$PWD/rigs/*.*) wfserver-debug\rigs\*.* $$escape_expand(\\n\\t))
|
|
} else {
|
|
LIBS += -L$$PWD/../opus/win32/VS2015/win32/DebugDLL/
|
|
LIBS += -L$$PWD/../portaudio/msvc/Win32/Debug/ -lportaudio_x86
|
|
contains(DEFINES,FTDI_SUPPORT){
|
|
LIBS += -L$$PWD/../LibFT4222-v1.4.7/imports/ftd2xx/dll/i386 -lftd2xx
|
|
LIBS += -L$$PWD/../LibFT4222-v1.4.7/imports/LibFT4222/dll/i386 -lLibFT4222
|
|
}
|
|
QMAKE_POST_LINK +=$$quote(cmd /c copy /y $$shell_path($$PWD/../portaudio/msvc/win32/Debug/portaudio_x86.dll) wfserver-debug $$escape_expand(\\n\\t))
|
|
QMAKE_POST_LINK +=$$quote(cmd /c copy /y $$shell_path($$PWD/../opus/win32/VS2015/win32/DebugDLL/opus-0.dll) wfserver-debug $$escape_expand(\\n\\t))
|
|
QMAKE_POST_LINK +=$$quote(cmd /c xcopy /s/y $$shell_path($$PWD/rigs/*.*) wfserver-debug\rigs\*.* $$escape_expand(\\n\\t))
|
|
}
|
|
DESTDIR = wfserver-debug
|
|
}
|
|
} else {
|
|
# For Release builds only:
|
|
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 {
|
|
contains(QMAKE_TARGET.arch, x86_64) {
|
|
LIBS += -L$$PWD/../opus/win32/VS2015/x64/ReleaseDLL/
|
|
LIBS += -L$$PWD/../portaudio/msvc/X64/Release/ -lportaudio_x64
|
|
contains(DEFINES,FTDI_SUPPORT){
|
|
LIBS += -L$$PWD/../LibFT4222-v1.4.7/imports/ftd2xx/dll/amd64 -lftd2xx
|
|
LIBS += -L$$PWD/../LibFT4222-v1.4.7/imports/LibFT4222/dll/amd64 -lLibFT4222-64
|
|
}
|
|
QMAKE_POST_LINK +=$$quote(cmd /c copy /y $$shell_path($$PWD/../portaudio/msvc/x64/Release/portaudio_x64.dll) wfserver-release $$escape_expand(\\n\\t))
|
|
QMAKE_POST_LINK +=$$quote(cmd /c copy /y $$shell_path($$PWD/../opus/win32/VS2015/x64/ReleaseDLL/opus-0.dll) wfserver-release $$escape_expand(\\n\\t))
|
|
QMAKE_POST_LINK +=$$quote(cmd /c xcopy /s/y $$shell_path($$PWD/rigs/*.*) wfserver-release\rigs\*.* $$escape_expand(\\n\\t))
|
|
} else {
|
|
LIBS += -L$$PWD/../opus/win32/VS2015/win32/ReleaseDLL/
|
|
LIBS += -L$$PWD/../portaudio/msvc/Win32/Release/ -lportaudio_x86
|
|
contains(DEFINES,FTDI_SUPPORT){
|
|
LIBS += -L$$PWD/../LibFT4222-v1.4.7/imports/ftd2xx/dll/i386 -lftd2xx
|
|
LIBS += -L$$PWD/../LibFT4222-v1.4.7/imports/LibFT4222/dll/i386 -lLibFT4222
|
|
}
|
|
QMAKE_POST_LINK +=$$quote(cmd /c copy /y $$shell_path($$PWD/../portaudio/msvc/win32/Release/portaudio_x86.dll) wfserver-release $$escape_expand(\\n\\t))
|
|
QMAKE_POST_LINK +=$$quote(cmd /c copy /y $$shell_path($$PWD/../opus/win32/VS2015/win32/ReleaseDLL/opus-0.dll) wfserver-release $$escape_expand(\\n\\t))
|
|
QMAKE_POST_LINK +=$$quote(cmd /c xcopy /s/y $$shell_path($$PWD/rigs/*.*) wfserver-release\rigs\*.* $$escape_expand(\\n\\t))
|
|
}
|
|
DESTDIR = wfserver-release
|
|
}
|
|
}
|
|
|
|
|
|
# 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
|
|
|
|
win32:INCLUDEPATH += $$PWD/../portaudio/include
|
|
|
|
win32:LIBS += -lopus -lole32 -luser32 -ladvapi32
|
|
!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): DEFINES += USE_SSE
|
|
equals(QT_ARCH, i386): DEFINES += USE_SSE2
|
|
equals(QT_ARCH, arm): DEFINES += USE_NEON
|
|
DEFINES += OUTSIDE_SPEEX
|
|
DEFINES += RANDOM_PREFIX=wf
|
|
|
|
isEmpty(PREFIX) {
|
|
PREFIX = /usr/local
|
|
}
|
|
|
|
# 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
|
|
|
|
DEFINES += PREFIX=\\\"$$PREFIX\\\"
|
|
|
|
macx:INCLUDEPATH += /usr/local/include /opt/local/include
|
|
macx:LIBS += -L/usr/local/lib -L/opt/local/lib
|
|
|
|
macx:ICON = ../wfview/resources/wfview.icns
|
|
win32:RC_ICONS = "../wfview/resources/icons/Windows/wfview 512x512.ico"
|
|
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.15
|
|
QMAKE_TARGET_BUNDLE_PREFIX = org.wfview
|
|
MY_ENTITLEMENTS.name = CODE_SIGN_ENTITLEMENTS
|
|
MY_ENTITLEMENTS.value = ../wfview/resources/wfview.entitlements
|
|
QMAKE_MAC_XCODE_SETTINGS += MY_ENTITLEMENTS
|
|
QMAKE_INFO_PLIST = ../wfview/resources/Info.plist
|
|
|
|
macx{
|
|
rigFiles.files = rigs
|
|
rigFiles.path = Contents/MacOS
|
|
QMAKE_BUNDLE_DATA += rigFiles
|
|
}
|
|
|
|
unix:rigs.files = rigs/*
|
|
unix:rigs.path = $$PREFIX/share/wfview/rigs
|
|
INSTALLS += rigs
|
|
|
|
!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=\\\"wfview.org\\\"
|
|
win32:DEFINES += UNAME=\\\"build\\\"
|
|
|
|
|
|
RESOURCES += qdarkstyle/style.qrc \
|
|
resources/resources.qrc
|
|
|
|
unix:target.path = $$PREFIX/bin
|
|
INSTALLS += target
|
|
|
|
linux:LIBS += -L./ -lopus
|
|
macx:LIBS += -framework CoreAudio -framework CoreFoundation -lpthread -lopus
|
|
|
|
contains(DEFINES,FTDI_SUPPORT){
|
|
win32:INCLUDEPATH += $$PWD/../LibFT4222-v1.4.7/imports/LibFT4222/inc
|
|
win32:INCLUDEPATH += $$PWD/../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
|
|
|
|
SOURCES += \
|
|
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/resampler/resample.c \
|
|
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/cachingqueue.cpp \
|
|
src/directradiotransport.cpp \
|
|
src/iaxclientsession.cpp \
|
|
src/iaxradiotransport.cpp \
|
|
src/main.cpp\
|
|
src/servermain.cpp \
|
|
src/serverwizard.cpp \
|
|
src/commhandler.cpp \
|
|
src/radiotransportframe.cpp \
|
|
src/rigcommander.cpp \
|
|
src/rigidentities.cpp \
|
|
src/logcategories.cpp \
|
|
src/vsphandler.cpp \
|
|
src/tcpserver.cpp \
|
|
src/keyboard.cpp \
|
|
src/rigserver.cpp \
|
|
src/ft4222handler.cpp \
|
|
src/rtpaudio.cpp
|
|
|
|
|
|
HEADERS += \
|
|
include/servermain.h \
|
|
include/serverwizard.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/cachingqueue.h \
|
|
include/commhandler.h \
|
|
include/directradiotransport.h \
|
|
include/ft4222handler.h \
|
|
include/kenwoodcommander.h \
|
|
include/radiotransport.h \
|
|
include/rigcommander.h \
|
|
include/icomcommander.h \
|
|
include/icomcivradiotransport.h \
|
|
include/icomscopeframeassembler.h \
|
|
include/icomserver.h \
|
|
include/iaxclientsession.h \
|
|
include/iaxradiotransport.h \
|
|
include/freqmemory.h \
|
|
include/rigidentities.h \
|
|
include/rtpaudio.h \
|
|
include/logcategories.h \
|
|
include/rigserver.h \
|
|
include/packettypes.h \
|
|
include/repeaterattributes.h \
|
|
include/tcpserver.h \
|
|
include/audiotaper.h \
|
|
include/keyboard.h \
|
|
include/wfviewtypes.h \
|
|
include/vsphandler.h \
|
|
include/radiotransportframe.h \
|
|
include/icomudpaudio.h \
|
|
include/icomudpbase.h \
|
|
include/icomudpcivdata.h \
|
|
include/icomudphandler.h \
|
|
include/kenwoodserver.h \
|
|
include/yaesucommander.h \
|
|
include/yaesuserver.h \
|
|
include/yaesuudpaudio.h \
|
|
include/yaesuudpbase.h \
|
|
include/yaesuudpcat.h \
|
|
include/yaesuudpcontrol.h \
|
|
include/yaesuudpscope.h
|