Aufgrund einer Wartung wird GitLab am 29.10. zwischen 9:00 und 10:00 Uhr kurzzeitig nicht zur Verfügung stehen. / Due to maintenance, GitLab will be temporarily unavailable on 29.10. between 9:00 and 10:00 am.

Lichtsteuerung.pro 7.64 KB
Newer Older
1
QT += qml quick networkauth network
Leander Schulten's avatar
Leander Schulten committed
2

3
CONFIG += c++1z force_debug_info
Leander Schulten's avatar
Leander Schulten committed
4 5 6 7 8

TARGET = Lichtsteuerung

TEMPLATE = app

Leander Schulten's avatar
Leander Schulten committed
9 10
RESOURCES += qml.qrc

11 12
DEFINES += CONVERT_FROM_SPOTIFY_OBJECTS

Leander Schulten's avatar
Leander Schulten committed
13 14 15 16 17 18
# Additional import path used to resolve QML modules in Qt Creator's code model
QML_IMPORT_PATH =

# Additional import path used to resolve QML modules just for Qt Quick Designer
QML_DESIGNER_IMPORT_PATH =

Leander Schulten's avatar
Leander Schulten committed
19
SOURCES += \
20
    applicationdata.cpp \
21 22 23
    audio/aubio/aubiocapi.cpp \
    audio/aubio/onsetanalysis.cpp \
    audio/aubio/tempoanalysis.cpp \
24
    audio/audioeventdata.cpp \
25
    dmx/channel.cpp \
26
    gui/audioeventdataview.cpp \
27 28 29 30 31
    gui/channelprogrammeditor.cpp \
    gui/colorplot.cpp \
    gui/controlitem.cpp \
    gui/controlitemdata.cpp \
    gui/controlpanel.cpp \
32 33 34 35
    dmx/device.cpp \
    dmx/deviceprototype.cpp \
    dmx/dmxchannelfilter.cpp \
    dmx/driver.cpp \
36
    errornotifier.cpp \
37 38
    gui/graph.cpp \
    gui/gridbackground.cpp \
39
    gui/linegeometry.cpp \
Leander Schulten's avatar
Leander Schulten committed
40 41
    id.cpp \
    main.cpp \
42 43
    gui/mapeditor.cpp \
    gui/mapview.cpp \
Leander Schulten's avatar
Leander Schulten committed
44 45
    modelmanager.cpp \
    modelvector.cpp \
46
    dmx/namedobject.cpp \
47 48
    gui/oscillogram.cpp \
    gui/polygon.cpp \
49 50
    dmx/programm.cpp \
    dmx/programmprototype.cpp \
51
    modules/dmxconsumer.cpp \
52
    modules/ledconsumer.cpp \
53
    scanner.cpp \
54
    slideshow.cpp \
55
    system_error_handler.cpp \
Leander Schulten's avatar
Leander Schulten committed
56
    test/testloopprogramm.cpp \
57
    settings.cpp \
Leander Schulten's avatar
Leander Schulten committed
58
    test/DriverDummy.cpp \
59
    updater.cpp \
Leander Schulten's avatar
Leander Schulten committed
60
    usermanagment.cpp \
61 62 63
    modules/modulemanager.cpp \
    modules/programblock.cpp \
    modules/compiler.cpp \
64
    test/testmodulsystem.cpp \
65 66 67 68
    modules/controller.cpp \
    modules/dmxprogram.cpp \
    modules/dmxprogramblock.cpp \
    modules/json_storage.cpp \
Leander Schulten's avatar
Leander Schulten committed
69 70
    codeeditorhelper.cpp \
    test/testmodulecontroller.cpp \
71
    test/testprogrammblock.cpp \
72
    gui/programblockeditor.cpp \
73 74
    audio/sample.cpp \
    test/testsampleclass.cpp \
75
    audio/audiocapturemanager.cpp \
76
    modules/boostloopprogramcontextswitcher.cpp \
77 78 79 80 81 82 83 84 85 86 87
    spotify/spotify.cpp \
    spotify/currentplayingobject.cpp \
    spotify/trackobject.cpp \
    spotify/albumobject.cpp \
    spotify/artistobject.cpp \
    spotify/imageobject.cpp \
    spotify/audiofeaturesobject.cpp \
    spotify/timeintervalobject.cpp \
    spotify/sectionobject.cpp \
    spotify/segmentobject.cpp \
    spotify/audioanalysisobject.cpp \
88
    spotify/userobject.cpp \
89 90
    sortedmodelview.cpp \
    zip.cpp
Leander Schulten's avatar
Leander Schulten committed
91 92 93 94 95 96

# The following define makes your compiler emit warnings if you use
# any feature of Qt which as been marked 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
Leander Schulten's avatar
Leander Schulten committed
97
DEFINES += _USE_MATH_DEFINES
Leander Schulten's avatar
Leander Schulten committed
98 99 100 101 102

# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
103 104

HEADERS += \
105 106 107
    audio/aubio/aubiocapi.h \
    audio/aubio/onsetanalysis.h \
    audio/aubio/tempoanalysis.h \
108
    audio/audioeventdata.h \
109 110
    dmx/deviceprototype.h \
    dmx/channel.h \
111
    gui/linegeometry.h \
112
    id.h \
113
    dmx/device.h \
114
    idbase.h \
115 116
    dmx/programmprototype.h \
    dmx/programm.h \
117
    applicationdata.h \
118 119
    dmx/namedobject.h \
    dmx/dmxchannelfilter.h \
120
    modules/controlpoint.hpp \
121
    modules/ledconsumer.h \
122
    modules/scanner.hpp \
123
    scanner.h \
124
    slideshow.h \
125
    system_error_handler.h \
126
    updater.h \
Leander Schulten's avatar
Leander Schulten committed
127
    usermanagment.h \
128
    gui/audioeventdataview.h \
129
    gui/channelprogrammeditor.h \
Leander Schulten's avatar
Leander Schulten committed
130
    modelmanager.h \
131 132 133 134
    gui/mapview.h \
    gui/polygon.h \
    gui/mapeditor.h \
    gui/gridbackground.h \
Leander Schulten's avatar
Leander Schulten committed
135
    modelvector.h \
136 137 138
    gui/controlpanel.h \
    gui/controlitem.h \
    gui/controlitemdata.h \
139
    dmx/HardwareInterface.h \
140
    errornotifier.h \
141
    settings.h \
142
    dmx/driver.h \
Leander Schulten's avatar
Leander Schulten committed
143
    test/DriverDummy.h \
144 145 146
    gui/colorplot.h \
    gui/graph.h \
    gui/oscillogram.h \
147 148 149
    modules/types.h \
    modules/dmxconsumer.h \
    modules/module.h \
Leander Schulten's avatar
Leander Schulten committed
150
    test/testloopprogramm.h \
151 152 153 154 155 156
    modules/modulemanager.h \
    modules/programblock.h \
    modules/property.hpp \
    modules/filter.hpp \
    modules/consumer.hpp \
    modules/compiler.h \
157
    test/testmodulsystem.h \
158 159 160 161 162
    modules/controller.h \
    modules/dmxprogram.h \
    modules/dmxprogramblock.h \
    modules/storage.hpp \
    modules/json_storage.h \
Leander Schulten's avatar
Leander Schulten committed
163
    codeeditorhelper.h \
164
    modules/program.hpp \
Leander Schulten's avatar
Leander Schulten committed
165
    test/testmodulecontroller.h \
166
    test/testprogrammblock.h \
167
    gui/programblockeditor.h \
168 169
    audio/sample.h \
    test/testsampleclass.h \
170
    audio/audiocapturemanager.h \
171 172 173
    modules/fftoutput.hpp \
    modules/loopprogram.hpp \
    modules/boostloopprogramcontextswitcher.h \
174 175 176 177 178 179 180 181 182 183 184 185 186
    spotify/spotify.h \
    spotify/currentplayingobject.h \
    spotify/trackobject.h \
    spotify/albumobject.h \
    spotify/artistobject.h \
    spotify/imageobject.h \
    spotify/audiofeaturesobject.h \
    spotify/timeintervalobject.h \
    spotify/sectionobject.h \
    spotify/segmentobject.h \
    spotify/audioanalysisobject.h \
    spotify/userobject.h \
    spotify/util.h \
187 188
    modules/spotifyobjetcs.hpp \
    modules/spotify.hpp \
189 190
    sortedmodelview.h \
    zip.h
Leander Schulten's avatar
Leander Schulten committed
191 192 193 194 195 196 197


# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

198 199
DISTFILES +=

Leander Schulten's avatar
Leander Schulten committed
200
# QMAKE_CXXFLAGS += -fsanitize=address
201
# QMAKE_CXXFLAGS += -fno-omit-frame-pointer
Leander Schulten's avatar
Leander Schulten committed
202 203 204
# QMAKE_CXXFLAGS += -Wshadow
# QMAKE_CXXFLAGS += -lasan
# LIBS += -lasan
Leander Schulten's avatar
Leander Schulten committed
205

206
win32-g++{
207
    # boost
208 209 210 211 212
    CONFIG(debug, debug|release){
        DEBUG = d-
    } else {
        DEBUG =
    }
213 214
    LIBS += -L$$PWD/'lib/boost/lib' -lboost_coroutine-mt-$${DEBUG}x64 -lboost_context-mt-$${DEBUG}x64
    INCLUDEPATH += $$PWD/'lib/boost/include'
215
}
216 217 218

unix{
    #installed with brew install boost
Leander Schulten's avatar
Leander Schulten committed
219
    LIBS += -L/usr/local/lib -lboost_coroutine -lboost_context-mt
220
    INCLUDEPATH += /usr/local/include
221
}
Leander Schulten's avatar
Leander Schulten committed
222

223 224
macx{
    #AudioFFT
225 226
    LIBS += -L$$PWD/'lib/AudioFFT/dll' -lAudioFFT
    INCLUDEPATH += $$PWD/lib/AudioFFT/include
227 228
}

229 230
win32-g++{
    #AudioFFT
231 232 233 234 235 236
    #LIBS += -L$$PWD/'lib/AudioFFT/dll' -lAudioFFT
    contains(QT_ARCH, i386){ # 32 bit
        LIBS += -L$$PWD/'lib/AudioFFT/dll/win32/' -lAudioFFT
    } else { # 64 bit
        LIBS += -L$$PWD/'lib/AudioFFT/dll/win64' -lAudioFFT
    }
237 238
    INCLUDEPATH += $$PWD/'lib/AudioFFT/include'
}
Leander Schulten's avatar
Leander Schulten committed
239

240 241 242 243 244 245 246 247 248 249
win32-g++{
    #DrMinGW
    #LIBS += -L$$PWD/'lib/AudioFFT/dll' -lAudioFFT
    !contains(QT_ARCH, i386){ # 64 bit
        LIBS += -L$$PWD/'lib/DrMinGW/bin/' -lexchndl
        INCLUDEPATH += $$PWD/'lib/DrMinGW/include'
        DEFINES += DrMinGW
    }
}

250
    #Aubio
251 252 253 254 255
    LIBS += -L$$PWD/'lib/aubio/lib/'
    win32: LIBS += -laubio-5
    else: LIBS += -laubio
    INCLUDEPATH += $$PWD/'lib/aubio/include'

256

257 258 259 260
    #segvcatch
    LIBS += -L$$PWD/'lib/segvcatch/lib' -lsegvcatch
    INCLUDEPATH += $$PWD/'lib/segvcatch/include'

261 262 263 264
macx{
    #libbacktrace + segvcatch, otherwise you get an link warning
    QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.13
}
265 266 267 268 269 270

    #boost stacktrace / libbacktrace
    #see https://www.boost.org/doc/libs/1_66_0/doc/html/stacktrace/configuration_and_build.html
    DEFINES += BOOST_STACKTRACE_USE_BACKTRACE
    LIBS += -L$$PWD/'lib/libbacktrace/lib' -lbacktrace
    INCLUDEPATH += $$PWD/'lib/libbacktrace/include'
271 272 273 274
macx{
    # needed by boost stacktrace
    DEFINES += _GNU_SOURCE
}
275

276 277 278 279 280
win32-msvc{
    #AudioFFT
    LIBS += -L$$PWD/'lib/AudioFFT/dll/AudioFFT.dll'
    INCLUDEPATH += $$PWD/'lib/AudioFFT/include'
}
281 282 283 284

    # RTAudio
    INCLUDEPATH += $$PWD/lib/RtAudio/include
    LIBS += -L$$PWD/lib/RtAudio/lib -lrtaudio
285
    win32: LIBS +=  -lole32 -lwinmm -lksuser -lmfplat -lmfuuid -lwmcodecdspuuid