wfview/wfserver.pro
2026-06-05 09:03:52 +01:00

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