comparison sv.pro @ 1279:c6513cae4747 project-file-rework

Cut down vastly on the number of config.pri files and places where their contents has to be effectively duplicated without them
author Chris Cannam
date Mon, 24 Oct 2016 17:53:33 +0100
parents cbb241e91426
children 587c0e53ea86
comparison
equal deleted inserted replaced
1278:eb60f984c66c 1279:c6513cae4747
1 1
2 TEMPLATE = app 2 TEMPLATE = app
3
4 INCLUDEPATH += vamp-plugin-sdk
5
6 win32-g++ {
7 INCLUDEPATH += sv-dependency-builds/win32-mingw/include
8 LIBS += -Lrelease -Lsv-dependency-builds/win32-mingw/lib
9 }
10 win32-msvc* {
11 # We actually expect MSVC to be used only for 64-bit builds,
12 # though the qmake spec is still called win32-msvc*
13 INCLUDEPATH += sv-dependency-builds/win64-msvc/include
14 # bah, this is happening even if not debug build
15 # CONFIG(debug) {
16 # LIBS += -NODEFAULTLIB:MSVCRT -Ldebug \
17 # -L../sonic-visualiser/sv-dependency-builds/win64-msvc/lib/debug \
18 # -L../sonic-visualiser/sv-dependency-builds/win64-msvc/lib
19 # }
20 CONFIG(release) {
21 LIBS += -Lrelease \
22 -L../sonic-visualiser/sv-dependency-builds/win64-msvc/lib
23 }
24 }
25 mac* {
26 INCLUDEPATH += sv-dependency-builds/osx/include
27 LIBS += -Lsv-dependency-builds/osx/lib
28 }
29 3
30 exists(config.pri) { 4 exists(config.pri) {
31 include(config.pri) 5 include(config.pri)
32 } 6 }
33 7
34 !exists(config.pri) { 8 !exists(config.pri) {
35 9 include(noconfig.pri)
36 CONFIG += release
37 DEFINES += NDEBUG BUILD_RELEASE
38 DEFINES += NO_TIMING
39
40 DEFINES += HAVE_BZ2 HAVE_FFTW3 HAVE_FFTW3F HAVE_SNDFILE HAVE_SAMPLERATE HAVE_VAMP HAVE_VAMPHOSTSDK HAVE_RUBBERBAND HAVE_DATAQUAY HAVE_LIBLO HAVE_MAD HAVE_ID3TAG HAVE_PORTAUDIO
41
42 LIBS += -lbz2 -lrubberband -lfftw3 -lfftw3f -lsndfile -lFLAC -logg -lvorbis -lvorbisenc -lvorbisfile -logg -lmad -lid3tag -lportaudio -lsamplerate -lz -lsord-0 -lserd-0 -llo
43
44 win* {
45 DEFINES += NOMINMAX _USE_MATH_DEFINES
46 DEFINES -= HAVE_LIBLO
47 LIBS += -lwinmm -lws2_32
48 }
49 win32-msvc* {
50 LIBS -= -lFLAC -logg -lvorbis -lvorbisenc -lvorbisfile -lsord-0 -lserd-0 -llo
51 LIBS += -lsord -lserd -ladvapi32
52 }
53 macx* {
54 DEFINES += HAVE_COREAUDIO
55 LIBS += -framework CoreAudio -framework CoreMidi -framework AudioUnit -framework AudioToolbox -framework CoreFoundation -framework CoreServices -framework Accelerate
56 }
57 } 10 }
58
59 LIBS += -lcapnp -lkj ##!!!
60 11
61 CONFIG += qt thread warn_on stl rtti exceptions c++11 12 CONFIG += qt thread warn_on stl rtti exceptions c++11
62 QT += network xml gui widgets svg 13 QT += network xml gui widgets svg
63 14
64 TARGET = "Sonic Visualiser" 15 TARGET = "Sonic Visualiser"
65 linux*:TARGET = sonic-visualiser 16 linux*:TARGET = sonic-visualiser
66 solaris*:TARGET = sonic-visualiser 17 solaris*:TARGET = sonic-visualiser
67 18
68 DEPENDPATH += . bqaudioio piper-cpp svcore svgui svapp 19 TRANSLATIONS += \
69 INCLUDEPATH += . bqaudioio piper-cpp svcore svgui svapp 20 i18n/sonic-visualiser_ru.ts \
21 i18n/sonic-visualiser_en_GB.ts \
22 i18n/sonic-visualiser_en_US.ts \
23 i18n/sonic-visualiser_cs_CZ.ts
70 24
71 TRANSLATIONS += i18n/sonic-visualiser_ru.ts i18n/sonic-visualiser_en_GB.ts i18n/sonic-visualiser_en_US.ts i18n/sonic-visualiser_cs_CZ.ts 25 # Platform defines for RtMidi
26 linux*: DEFINES += __LINUX_ALSASEQ__
27 macx*: DEFINES += __MACOSX_CORE__
28 win*: DEFINES += __WINDOWS_MM__
29 solaris*: DEFINES += __RTMIDI_DUMMY_ONLY__
30
31 # Defines for Dataquay
32 DEFINES += USE_SORD
72 33
73 OBJECTS_DIR = o 34 OBJECTS_DIR = o
74 MOC_DIR = o 35 MOC_DIR = o
75 36
76 ICON = icons/sv-macicon.icns 37 ICON = icons/sv-macicon.icns
77 RC_FILE = icons/sv.rc 38 RC_FILE = icons/sv.rc
78 39
79 contains(DEFINES, BUILD_STATIC):LIBS -= -ljack 40 RESOURCES += sonic-visualiser.qrc
80 41
81 MY_LIBS = -Lsvapp -Lsvgui -Lsvcore -Lchecker -Ldataquay -L. \ 42 # Mac integration
82 -lsvapp -lsvgui -lsvcore -lchecker -ldataquay -lbq 43 QMAKE_INFO_PLIST = deploy/osx/Info.plist
83 44
84 linux* { 45 SV_INCLUDEPATH = \
85 MY_LIBS = -Wl,-Bstatic $$MY_LIBS -Wl,-Bdynamic 46 . \
47 bqvec \
48 bqvec/bqvec \
49 bqresample \
50 bqaudioio \
51 bqaudioio/bqaudioio \
52 piper-cpp \
53 checker \
54 checker/checker \
55 dataquay \
56 dataquay/dataquay \
57 svcore \
58 svcore/data \
59 svcore/plugin/api/alsa \
60 svgui \
61 svapp \
62 vamp-plugin-sdk
63
64 DEPENDPATH += $$SV_INCLUDEPATH
65 INCLUDEPATH += $$SV_INCLUDEPATH
66
67 include(bq-files.pri)
68 include(vamp-plugin-sdk-files.pri)
69 include(svcore/files.pri)
70 include(svgui/files.pri)
71 include(svapp/files.pri)
72
73 DATAQUAY_SOURCES=$$fromfile(dataquay/lib.pro, SOURCES)
74 DATAQUAY_HEADERS=$$fromfile(dataquay/lib.pro, HEADERS)
75
76 CHECKER_SOURCES=$$fromfile(checker/checker.pri, SOURCES)
77 CHECKER_HEADERS=$$fromfile(checker/checker.pri, HEADERS)
78
79 CLIENT_HEADERS=$$fromfile(piper-cpp/vamp-client/client.pro, HEADERS)
80
81 for (file, BQ_SOURCES) { SOURCES += $$file }
82 for (file, BQ_HEADERS) { HEADERS += $$file }
83
84 for (file, VAMP_SOURCES) { SOURCES += $$file }
85 for (file, VAMP_HEADERS) { HEADERS += $$file }
86
87 for (file, SVCORE_SOURCES) { SOURCES += $$sprintf("svcore/%1", $$file) }
88 for (file, SVGUI_SOURCES) { SOURCES += $$sprintf("svgui/%1", $$file) }
89 for (file, SVAPP_SOURCES) { SOURCES += $$sprintf("svapp/%1", $$file) }
90 for (file, DATAQUAY_SOURCES) { SOURCES += $$sprintf("dataquay/%1", $$file) }
91 for (file, CHECKER_SOURCES) { SOURCES += $$sprintf("checker/%1", $$file) }
92
93 for (file, SVCORE_HEADERS) { HEADERS += $$sprintf("svcore/%1", $$file) }
94 for (file, SVGUI_HEADERS) { HEADERS += $$sprintf("svgui/%1", $$file) }
95 for (file, SVAPP_HEADERS) { HEADERS += $$sprintf("svapp/%1", $$file) }
96 for (file, DATAQUAY_HEADERS) { HEADERS += $$sprintf("dataquay/%1", $$file) }
97 for (file, CHECKER_HEADERS) { HEADERS += $$sprintf("checker/%1", $$file) }
98
99 for (file, CLIENT_HEADERS) {
100 HEADERS += $$sprintf("piper-cpp/vamp-client/%1", $$file)
86 } 101 }
87 102
88 ##??? how to set this appropriately for debug/release 103 SOURCES += piper-cpp/vamp-capnp/piper-capnp.cpp
89 win32*:CONFIG(debug) {
90 MY_LIBS = -Lsvapp/debug -Lsvgui/debug -Lsvcore/debug -Lchecker/debug -Ldataquay/debug $$MY_LIBS
91 }
92 win32*:CONFIG(release) {
93 MY_LIBS = -Lsvapp/release -Lsvgui/release -Lsvcore/release -Lchecker/release -Ldataquay/release $$MY_LIBS
94 }
95
96 LIBS = $$MY_LIBS $$LIBS
97
98 win32-g++* {
99 PRE_TARGETDEPS += svapp/release/libsvapp.a \
100 svgui/release/libsvgui.a \
101 svcore/release/libsvcore.a \
102 dataquay/release/libdataquay.a \
103 checker/release/libchecker.a
104 }
105 !win* {
106 PRE_TARGETDEPS += svapp/libsvapp.a \
107 svgui/libsvgui.a \
108 svcore/libsvcore.a \
109 dataquay/libdataquay.a \
110 checker/libchecker.a
111 }
112
113 win32-msvc*:CONFIG(debug) {
114 PRE_TARGETDEPS += svapp/debug/svapp.lib \
115 svgui/debug/svgui.lib \
116 svcore/debug/svcore.lib \
117 dataquay/debug/dataquay.lib \
118 checker/debug/checker.lib
119 }
120 win32-msvc*:CONFIG(release) {
121 PRE_TARGETDEPS += svapp/release/svapp.lib \
122 svgui/release/svgui.lib \
123 svcore/release/svcore.lib \
124 dataquay/release/dataquay.lib \
125 checker/release/checker.lib
126 }
127
128 RESOURCES += sonic-visualiser.qrc
129 104
130 HEADERS += \ 105 HEADERS += \
131 vamp-plugin-sdk/vamp-hostsdk/PluginBase.h \
132 vamp-plugin-sdk/vamp-hostsdk/PluginBufferingAdapter.h \
133 vamp-plugin-sdk/vamp-hostsdk/PluginChannelAdapter.h \
134 vamp-plugin-sdk/vamp-hostsdk/Plugin.h \
135 vamp-plugin-sdk/vamp-hostsdk/PluginHostAdapter.h \
136 vamp-plugin-sdk/vamp-hostsdk/PluginInputDomainAdapter.h \
137 vamp-plugin-sdk/vamp-hostsdk/PluginLoader.h \
138 vamp-plugin-sdk/vamp-hostsdk/PluginSummarisingAdapter.h \
139 vamp-plugin-sdk/vamp-hostsdk/PluginWrapper.h \
140 vamp-plugin-sdk/vamp-hostsdk/RealTime.h \
141 vamp-plugin-sdk/src/vamp-hostsdk/Window.h \
142 main/MainWindow.h \ 106 main/MainWindow.h \
143 main/NetworkPermissionTester.h \ 107 main/NetworkPermissionTester.h \
144 main/Surveyer.h \ 108 main/Surveyer.h \
145 main/SVSplash.h \ 109 main/SVSplash.h \
146 main/PreferencesDialog.h 110 main/PreferencesDialog.h
111
147 SOURCES += \ 112 SOURCES += \
148 vamp-plugin-sdk/src/vamp-hostsdk/PluginBufferingAdapter.cpp \
149 vamp-plugin-sdk/src/vamp-hostsdk/PluginChannelAdapter.cpp \
150 vamp-plugin-sdk/src/vamp-hostsdk/PluginHostAdapter.cpp \
151 vamp-plugin-sdk/src/vamp-hostsdk/PluginInputDomainAdapter.cpp \
152 vamp-plugin-sdk/src/vamp-hostsdk/PluginLoader.cpp \
153 vamp-plugin-sdk/src/vamp-hostsdk/PluginSummarisingAdapter.cpp \
154 vamp-plugin-sdk/src/vamp-hostsdk/PluginWrapper.cpp \
155 vamp-plugin-sdk/src/vamp-hostsdk/RealTime.cpp \
156 vamp-plugin-sdk/src/vamp-hostsdk/Files.cpp \
157 piper-cpp/vamp-capnp/piper-capnp.cpp \
158 main/main.cpp \ 113 main/main.cpp \
159 main/OSCHandler.cpp \ 114 main/OSCHandler.cpp \
160 main/MainWindow.cpp \ 115 main/MainWindow.cpp \
161 main/NetworkPermissionTester.cpp \ 116 main/NetworkPermissionTester.cpp \
162 main/Surveyer.cpp \ 117 main/Surveyer.cpp \
163 main/SVSplash.cpp \ 118 main/SVSplash.cpp \
164 main/PreferencesDialog.cpp 119 main/PreferencesDialog.cpp
165 120
166 # for mac integration
167 QMAKE_INFO_PLIST = deploy/osx/Info.plist
168