mirror of https://github.com/EspoTek/Labrador.git
357 lines
12 KiB
Prolog
357 lines
12 KiB
Prolog
#-------------------------------------------------
|
|
#
|
|
# Project created by QtCreator 2016-03-30T13:27:52
|
|
#
|
|
#-------------------------------------------------
|
|
|
|
|
|
############################################################################
|
|
######CLEAN->RUN QMAKE->BUILD after changing anything on this page!!!######
|
|
##########################################################################
|
|
|
|
QT += core gui
|
|
|
|
CONFIG += c++14
|
|
|
|
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport
|
|
|
|
TARGET = Labrador
|
|
TEMPLATE = app
|
|
|
|
QCP_VER = 1
|
|
DEFINES += "QCP_VER=$${QCP_VER}"
|
|
equals(QCP_VER,"2"){
|
|
DEFINES += QCUSTOMPLOT_USE_OPENGL
|
|
LIBS += -lOpenGL32
|
|
message("Using QCP2 with OpenGL support")
|
|
}
|
|
|
|
include(ui_elements.pri)
|
|
|
|
MOC_DIR = $$PWD/moc
|
|
|
|
SOURCES += main.cpp\
|
|
mainwindow.cpp \
|
|
functiongencontrol.cpp \
|
|
isodriver.cpp \
|
|
isobuffer.cpp \
|
|
desktop_settings.cpp \
|
|
scoperangeenterdialog.cpp \
|
|
genericusbdriver.cpp \
|
|
isobufferbuffer.cpp \
|
|
uartstyledecoder.cpp \
|
|
daqform.cpp \
|
|
daqloadprompt.cpp \
|
|
isobuffer_file.cpp \
|
|
i2cdecoder.cpp \
|
|
asyncdft.cpp
|
|
|
|
HEADERS += mainwindow.h \
|
|
functiongencontrol.h \
|
|
xmega.h \
|
|
isodriver.h \
|
|
isobuffer.h \
|
|
desktop_settings.h \
|
|
scoperangeenterdialog.h \
|
|
genericusbdriver.h \
|
|
isobufferbuffer.h \
|
|
q_debugstream.h \
|
|
unified_debug_structure.h \
|
|
uartstyledecoder.h \
|
|
daqform.h \
|
|
daqloadprompt.h \
|
|
isobuffer_file.h \
|
|
i2cdecoder.h \
|
|
asyncdft.h
|
|
|
|
android:{
|
|
FORMS += ui_files_mobile/mainwindow.ui \
|
|
ui_files_mobile/scoperangeenterdialog.ui \
|
|
ui_files_desktop/daqform.ui \
|
|
ui_files_desktop/daqloadprompt.ui
|
|
}
|
|
|
|
!android:{
|
|
FORMS += ui_files_desktop/mainwindow.ui \
|
|
ui_files_desktop/scoperangeenterdialog.ui \
|
|
ui_files_desktop/daqform.ui \
|
|
ui_files_desktop/daqloadprompt.ui
|
|
}
|
|
|
|
|
|
RESOURCES += \
|
|
resources.qrc
|
|
|
|
DESTDIR = bin
|
|
|
|
RC_ICONS = appicon.ico
|
|
|
|
INCLUDEPATH += $$PWD/ui_elements
|
|
DEPENDPATH += $$PWD/ui_elements
|
|
|
|
|
|
###########################################################
|
|
################ WINDOWS BUILD ONLY ################
|
|
#########################################################
|
|
|
|
win32{
|
|
INCLUDEPATH += $$PWD/build_win
|
|
SOURCES += winusbdriver.cpp
|
|
HEADERS += winusbdriver.h
|
|
|
|
#libusbk include
|
|
contains(QT_ARCH, i386) {
|
|
message("Building for Windows (x86)")
|
|
CONFIG(release, debug|release): LIBS += -L$$PWD/build_win/libusbk/bin/lib/x86/ -llibusbK
|
|
else:CONFIG(debug, debug|release): LIBS += -L$$PWD/build_win/libusbk/bin/lib/x86/ -llibusbK
|
|
DEFINES += "WINDOWS_32_BIT"
|
|
INCLUDEPATH += $$PWD/build_win/fftw/x86
|
|
LIBS += -L$$PWD/build_win/fftw/x86 -llibfftw3-3
|
|
} else {
|
|
message("Building for Windows (x64)")
|
|
CONFIG(release, debug|release): LIBS += -L$$PWD/build_win/libusbk/bin/lib/amd64/ -llibusbK
|
|
else:CONFIG(debug, debug|release): LIBS += -L$$PWD/build_win/libusbk/bin/lib/amd64/ -llibusbK
|
|
INCLUDEPATH += $$PWD/build_win/fftw/x64
|
|
LIBS += -L$$PWD/build_win/fftw/x64 -llibfftw3-3
|
|
|
|
DEFINES += "WINDOWS_64_BIT"
|
|
}
|
|
INCLUDEPATH += $$PWD/build_win/libusbk/includes
|
|
DEPENDPATH += $$PWD/build/win/libusbk/includes
|
|
DEFINES += PLATFORM_WINDOWS
|
|
}
|
|
|
|
#############################################################
|
|
################ GNU/LINUX BUILD ONLY ################
|
|
###########################################################
|
|
|
|
unix:!android:!macx{
|
|
INCLUDEPATH += $$PWD/build_linux
|
|
CONFIG += link_pkgconfig
|
|
PKGCONFIG += libusb-1.0 ##make sure you have the libusb-1.0-0-dev package!
|
|
PKGCONFIG += fftw3 ##make sure you have the libfftw3-dev package!
|
|
contains(QT_ARCH, arm) {
|
|
message("Building for Raspberry Pi")
|
|
#libdfuprog include
|
|
unix:!android:!macx:LIBS += -L$$PWD/build_linux/libdfuprog/lib/arm -ldfuprog-0.9
|
|
unix:!android:!macx:INCLUDEPATH += $$PWD/build_linux/libdfuprog/include
|
|
unix:!android:!macx:DEPENDPATH += $$PWD/build_linux/libdfuprog/include
|
|
QMAKE_CFLAGS += -fsigned-char
|
|
QMAKE_CXXFLAGS += -fsigned-char
|
|
DEFINES += "PLATFORM_RASPBERRY_PI"
|
|
#All ARM-Linux GCC treats char as unsigned by default???
|
|
lib_deploy.files = $$PWD/build_linux/libdfuprog/lib/arm/libdfuprog-0.9.so
|
|
lib_deploy.path = /usr/lib
|
|
|
|
} else {
|
|
contains(QT_ARCH, i386) {
|
|
message("Building for Linux (x86)")
|
|
#libdfuprog include
|
|
unix:!android:!macx:LIBS += -L$$PWD/build_linux/libdfuprog/lib/x86 -ldfuprog-0.9
|
|
unix:!android:!macx:INCLUDEPATH += $$PWD/build_linux/libdfuprog/include
|
|
unix:!android:!macx:DEPENDPATH += $$PWD/build_linux/libdfuprog/include
|
|
lib_deploy.files = $$PWD/build_linux/libdfuprog/lib/x86/libdfuprog-0.9.so
|
|
lib_deploy.path = /usr/lib
|
|
|
|
} else {
|
|
message("Building for Linux (x64)")
|
|
#libdfuprog include
|
|
unix:!android:!macx:LIBS += -L$$PWD/build_linux/libdfuprog/lib/x64 -ldfuprog-0.9
|
|
unix:!android:!macx:INCLUDEPATH += $$PWD/build_linux/libdfuprog/include
|
|
unix:!android:!macx:DEPENDPATH += $$PWD/build_linux/libdfuprog/include
|
|
lib_deploy.files = $$PWD/build_linux/libdfuprog/lib/x64/libdfuprog-0.9.so
|
|
lib_deploy.path = /usr/lib
|
|
}
|
|
}
|
|
|
|
other.files += bin/firmware
|
|
other.files += bin/waveforms
|
|
other.path = /usr/bin/EspoTek-Labrador
|
|
|
|
target.path = /usr/bin/EspoTek-Labrador
|
|
|
|
udev.path = /etc/udev/rules.d
|
|
udev.files = rules.d/69-labrador.rules
|
|
|
|
icon48.files += resources/icon48/espotek-labrador.png
|
|
icon48.path = /usr/share/icons/hicolor/48x48/apps/
|
|
|
|
icon256.files += resources/icon256/espotek-labrador.png
|
|
icon256.path = /usr/share/icons/hicolor/256x256/apps/
|
|
|
|
equals(APPIMAGE, 1){
|
|
desktop.files += resources/appimage/espotek-labrador.desktop
|
|
}
|
|
!equals(APPIMAGE, 1){
|
|
desktop.files += resources/espotek-labrador.desktop
|
|
}
|
|
desktop.path = /usr/share/applications
|
|
|
|
symlink.path = /usr/bin
|
|
symlink.extra = ln -sf ${INSTALL_ROOT}/usr/bin/EspoTek-Labrador/Labrador /usr/bin/labrador
|
|
|
|
udevextra.path = /etc/udev/rules.d
|
|
!equals(DEB, 1){
|
|
udevextra.extra = udevadm control --reload-rules && udevadm trigger
|
|
}
|
|
|
|
equals(APPIMAGE, 1){
|
|
other.path = /usr/bin
|
|
target.path = /usr/bin
|
|
}
|
|
|
|
INSTALLS += target
|
|
INSTALLS += lib_deploy
|
|
INSTALLS += other
|
|
INSTALLS += udev
|
|
INSTALLS += icon48
|
|
INSTALLS += icon256
|
|
INSTALLS += desktop
|
|
|
|
!equals(APPIMAGE, 1){
|
|
INSTALLS += symlink
|
|
INSTALLS += udevextra
|
|
}
|
|
}
|
|
|
|
|
|
|
|
#############################################################
|
|
################ MAC OSX BUILD ONLY ##################
|
|
###########################################################
|
|
|
|
macx:INCLUDEPATH += $$PWD/build_mac
|
|
|
|
#libusb dylib include
|
|
macx:LIBS += -L$$PWD/build_mac/libusb/lib -lusb-1.0
|
|
macx:INCLUDEPATH += $$PWD/build_mac/libusb/include/libusb-1.0
|
|
macx:DEPENDPATH += $$PWD/build_mac/libusb/include/libusb-1.0
|
|
|
|
#libdfuprog dylib include
|
|
macx:LIBS += -L$$PWD/build_mac/libdfuprog/lib -ldfuprog-0.9
|
|
macx:INCLUDEPATH += $$PWD/build_mac/libdfuprog/include
|
|
macx:DEPENDPATH += $$PWD/build_mac/libdfuprog/include
|
|
|
|
macx:QMAKE_LFLAGS += "-undefined dynamic_lookup"
|
|
|
|
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.10
|
|
|
|
|
|
|
|
|
|
#############################################################
|
|
######## SHARED UNIX-LIKE BUILDS (MAC + LINUX) #########
|
|
###########################################################
|
|
|
|
unix:SOURCES += unixusbdriver.cpp
|
|
unix:HEADERS += unixusbdriver.h
|
|
|
|
#############################################################
|
|
######## SHARED ANDROID/LINUX GCC FLAGS #########
|
|
###########################################################
|
|
|
|
unix:!macx: QMAKE_CXXFLAGS_RELEASE -= -O0
|
|
unix:!macx: QMAKE_CXXFLAGS_RELEASE -= -O1
|
|
unix:!macx: QMAKE_CXXFLAGS_RELEASE -= -O2
|
|
unix:!macx: QMAKE_CXXFLAGS_RELEASE -= -O3
|
|
|
|
android: QMAKE_CXXFLAGS_RELEASE -= -O0
|
|
android: QMAKE_CXXFLAGS_RELEASE -= -O1
|
|
android: QMAKE_CXXFLAGS_RELEASE -= -O2
|
|
android: QMAKE_CXXFLAGS_RELEASE -= -O3
|
|
android: QMAKE_CXXFLAGS_RELEASE -= -Os
|
|
|
|
|
|
android: QMAKE_CFLAGS_RELEASE -= -O0
|
|
android: QMAKE_CFLAGS_RELEASE -= -O1
|
|
android: QMAKE_CFLAGS_RELEASE -= -O2
|
|
android: QMAKE_CFLAGS_RELEASE -= -O3
|
|
android: QMAKE_CFLAGS_RELEASE -= -Os
|
|
|
|
|
|
#############################################################
|
|
################# ANDROID BUILD ONLY #################
|
|
###########################################################
|
|
|
|
android:{
|
|
QMAKE_CFLAGS += -fsigned-char
|
|
QMAKE_CXXFLAGS += -fsigned-char
|
|
#Android treats char as unsigned by default (why???)
|
|
|
|
# Building .so files fails with -Wl,--no-undefined
|
|
QMAKE_LFLAGS_APP -= -Wl,--no-undefined
|
|
QMAKE_LFLAGS_SHLIB -= -Wl,--no-undefined
|
|
QMAKE_LFLAGS_PLUGIN -= -Wl,--no-undefined
|
|
QMAKE_LFLAGS_NOUNDEF -= -Wl,--no-undefined
|
|
|
|
QT += androidextras
|
|
CONFIG += mobility
|
|
MOBILITY =
|
|
|
|
INCLUDEPATH += $$PWD/build_android
|
|
SOURCES += androidusbdriver.cpp
|
|
HEADERS += androidusbdriver.h
|
|
INCLUDEPATH += $$PWD/build_android/libusb-242
|
|
DEPENDPATH += $$PWD/build_android/libusb-242
|
|
|
|
ANDROID_PACKAGE_SOURCE_DIR = $$PWD/build_android/package_source
|
|
assets_deploy.files=$$files($$PWD/build_android/package_source/assets/*)
|
|
assets_deploy.path=/assets
|
|
INSTALLS += asssets_deploy
|
|
|
|
#libdfuprog include
|
|
LIBS += -L$$PWD/build_android/libdfuprog/lib -ldfuprog-0.9
|
|
INCLUDEPATH += $$PWD/build_android/libdfuprog/include
|
|
DEPENDPATH += $$PWD/build_android/libdfuprog/include
|
|
ANDROID_EXTRA_LIBS += $${PWD}/build_android/libdfuprog/lib/libdfuprog-0.9.so
|
|
|
|
#liblog include
|
|
LIBS += -L$$PWD/build_android/liblog/lib -llog
|
|
ANDROID_EXTRA_LIBS += $${PWD}/build_android/liblog/lib/liblog.so
|
|
|
|
|
|
|
|
DISTFILES += \
|
|
build_android/package_source/AndroidManifest.xml \
|
|
build_android/package_source/gradle/wrapper/gradle-wrapper.jar \
|
|
build_android/package_source/gradlew \
|
|
build_android/package_source/res/values/libs.xml \
|
|
build_android/package_source/build.gradle \
|
|
build_android/package_source/gradle/wrapper/gradle-wrapper.properties \
|
|
build_android/package_source/gradlew.bat \
|
|
build_android/package_source/AndroidManifest.xml \
|
|
build_android/package_source/res/values/libs.xml \
|
|
build_android/package_source/build.gradle \
|
|
build_android/package_source/src/androidInterface.java
|
|
|
|
# Doing the following inside one equals() failed. qmake bug? https://forum.qt.io/topic/113836/dynamic-libs-on-android-with-qt5-14-2/4
|
|
for(abi, ANDROID_ABIS): message("qmake building for Android ($${abi}) platform")
|
|
for(abi, ANDROID_ABIS): LIBS += -L$${PWD}/build_android/libusb-242/android/$${abi} -lusb1.0
|
|
for(abi, ANDROID_ABIS): ANDROID_EXTRA_LIBS += $${PWD}/build_android/libusb-242/android/$${abi}/libusb1.0.so
|
|
}
|
|
|
|
DISTFILES += \
|
|
build_android/package_source/AndroidManifest.xml \
|
|
build_android/package_source/gradle/wrapper/gradle-wrapper.jar \
|
|
build_android/package_source/gradlew \
|
|
build_android/package_source/res/values/libs.xml \
|
|
build_android/package_source/build.gradle \
|
|
build_android/package_source/gradle/wrapper/gradle-wrapper.properties \
|
|
build_android/package_source/gradlew.bat \
|
|
build_android/package_source/AndroidManifest.xml \
|
|
build_android/package_source/gradle/wrapper/gradle-wrapper.jar \
|
|
build_android/package_source/gradlew \
|
|
build_android/package_source/res/values/libs.xml \
|
|
build_android/package_source/build.gradle \
|
|
build_android/package_source/gradle/wrapper/gradle-wrapper.properties \
|
|
build_android/package_source/gradlew.bat \
|
|
build_android/package_source/res/xml/device_filter.xml
|
|
|
|
# Vincenzo added these to get multithreading on Unix fftw
|
|
unix:!macx: LIBS += -fopenmp
|
|
macx: LIBS += -lomp
|
|
unix: LIBS += -lfftw3f_omp
|
|
unix: LIBS += -lfftw3_threads
|
|
macx: INCLUDEPATH += /usr/local/include
|
|
macx: LIBS+= -L/usr/local/lib
|