annotate noconfig.pri @ 2458:74d73990ac1d background-mode

Toward Windows background-mode support
author Chris Cannam
date Fri, 17 Jan 2020 21:43:40 +0000
parents 8fd5183efbd6
children 98321b83ac9b
rev   line source
Chris@1284 1
Chris@2458 2 win32-msvc* {
Chris@2458 3 # Necessary for WinRT header used to determine background colour
Chris@2458 4 CONFIG += c++17
Chris@2458 5 }
Chris@2458 6 !win32-msvc* {
Chris@2458 7 CONFIG += c++14
Chris@2458 8 }
Chris@1299 9
Chris@2199 10 CONFIG += release
Chris@2199 11 #CONFIG += debug
Chris@1299 12
Chris@1753 13 PREFIX_PATH = /usr/local
Chris@1753 14
Chris@1284 15 DEFINES += NDEBUG BUILD_RELEASE
Chris@1484 16 DEFINES += NO_TIMING NO_HIT_COUNTS
Chris@1284 17
Chris@1319 18 DEFINES += HAVE_PIPER HAVE_PLUGIN_CHECKER_HELPER
Chris@1319 19
Chris@1292 20 # Full set of defines expected for all platforms when we have the
Chris@1292 21 # sv-dependency-builds subrepo available to provide the dependencies.
Chris@1292 22
Chris@1292 23 DEFINES += \
Chris@1292 24 HAVE_BZ2 \
Chris@1292 25 HAVE_FFTW3 \
Chris@1292 26 HAVE_FFTW3F \
Chris@1292 27 HAVE_SNDFILE \
Chris@1292 28 HAVE_SAMPLERATE \
Chris@1292 29 HAVE_RUBBERBAND \
Chris@1292 30 HAVE_LIBLO \
Chris@1292 31 HAVE_MAD \
Chris@1292 32 HAVE_ID3TAG \
Chris@2192 33 HAVE_OPUS \
Chris@1292 34 HAVE_PORTAUDIO
Chris@1292 35
Chris@1292 36 # Default set of libs for the above. Config sections below may update
Chris@1292 37 # these.
Chris@1292 38
Chris@1292 39 LIBS += \
Chris@1827 40 -lbase \
Chris@1292 41 -lbz2 \
Chris@2207 42 -lrubberband \
Chris@1292 43 -lfftw3 \
Chris@1292 44 -lfftw3f \
Chris@1292 45 -lsndfile \
Chris@1292 46 -lFLAC \
Chris@1292 47 -logg \
Chris@1292 48 -lvorbis \
Chris@1292 49 -lvorbisenc \
Chris@1292 50 -lvorbisfile \
Chris@2195 51 -lopusfile \
Chris@2195 52 -lopus \
Chris@1292 53 -logg \
Chris@1292 54 -lmad \
Chris@1292 55 -lid3tag \
Chris@1292 56 -lportaudio \
Chris@1292 57 -lsamplerate \
Chris@1292 58 -lz \
Chris@1292 59 -lsord-0 \
Chris@1292 60 -lserd-0 \
Chris@1292 61 -llo \
Chris@1292 62 -lcapnp \
Chris@1292 63 -lkj
Chris@1292 64
Chris@1284 65 win32-g++ {
Chris@1292 66
Chris@1292 67 # This config is currently used for 32-bit Windows builds.
Chris@1292 68
Chris@2199 69 INCLUDEPATH += $$PWD/sv-dependency-builds/win32-mingw/include $$PWD/sv-dependency-builds/win32-mingw/include/opus
Chris@1292 70
Chris@1827 71 LIBS += -Lrelease -L$$PWD/sv-dependency-builds/win32-mingw/lib
Chris@1295 72
Chris@2199 73 DEFINES += NOMINMAX _USE_MATH_DEFINES CAPNP_LITE
Chris@1295 74
Chris@1295 75 QMAKE_CXXFLAGS_RELEASE += -ffast-math
Chris@1292 76
Chris@1292 77 # Don't have liblo
Chris@1292 78 DEFINES -= HAVE_LIBLO
Chris@1292 79 LIBS -= -llo
Chris@2199 80
Chris@2199 81 # (We don't have MediaFoundation support either, with this build sadly)
Chris@1292 82
Chris@2199 83 LIBS += -lwinmm -lws2_32
Chris@1284 84 }
Chris@1284 85
Chris@1284 86 win32-msvc* {
Chris@1292 87
Chris@1292 88 # This config is actually used only for 64-bit Windows builds.
Chris@1292 89 # even though the qmake spec is still called win32-msvc*. If
Chris@1292 90 # we want to do 32-bit builds with MSVC as well, then we'll
Chris@1292 91 # need to add a way to distinguish the two.
Chris@1292 92
Chris@2197 93 INCLUDEPATH += $$PWD/sv-dependency-builds/win64-msvc/include $$PWD/sv-dependency-builds/win64-msvc/include/opus
Chris@1294 94
Chris@1982 95 # This seems to be intruding even when we're supposed to be release
Chris@1294 96 # CONFIG(debug) {
Chris@1294 97 # LIBS += -NODEFAULTLIB:MSVCRT -Ldebug \
Chris@1982 98 # -L$$PWD/sv-dependency-builds/win64-msvc/lib/debug \
Chris@1982 99 # -L$$PWD/sv-dependency-builds/win64-msvc/lib
Chris@1294 100 # }
Chris@1292 101 CONFIG(release) {
Chris@2202 102 LIBS += -NODEFAULTLIB:LIBCMT -Lrelease \
Chris@1827 103 -L$$PWD/sv-dependency-builds/win64-msvc/lib
Chris@1292 104 }
Chris@1292 105
Chris@2458 106 DEFINES += NOMINMAX _USE_MATH_DEFINES CAPNP_LITE HAVE_MEDIAFOUNDATION _HAS_STD_BYTE=0
Chris@1294 107
Chris@1839 108 QMAKE_CXXFLAGS_RELEASE += -fp:fast -gl
Chris@1839 109 QMAKE_LFLAGS_RELEASE += -ltcg
Chris@1292 110
Chris@2197 111 LIBS -= -lFLAC -lvorbis -lvorbisenc -lvorbisfile
Chris@1292 112
Chris@1292 113 # These have different names
Chris@1292 114 LIBS -= -lsord-0 -lserd-0
Chris@1292 115 LIBS += -lsord -lserd
Chris@1292 116
Chris@1292 117 # Don't have liblo
Chris@1292 118 DEFINES -= HAVE_LIBLO
Chris@1292 119 LIBS -= -llo
Chris@2458 120
Chris@2458 121 ##!!! WindowsApp seems to be win10-specific! can I avoid this?
Chris@1292 122
Chris@2458 123 LIBS += -lWindowsApp -lmfplat -lmfreadwrite -lmfuuid -lpropsys -ladvapi32 -lwinmm -lws2_32
Chris@1284 124 }
Chris@1284 125
Chris@1292 126 macx* {
Chris@1292 127
Chris@1292 128 # All Mac builds are 64-bit these days.
Chris@1292 129
Chris@2195 130 INCLUDEPATH += $$PWD/sv-dependency-builds/osx/include $$PWD/sv-dependency-builds/osx/include/opus
cannam@1830 131 LIBS += -L$$PWD/sv-dependency-builds/osx/lib -L$$PWD
Chris@1292 132
Chris@2106 133 QMAKE_CXXFLAGS_RELEASE += -O3 -ffast-math -flto
Chris@2106 134 QMAKE_LFLAGS_RELEASE += -O3 -flto
Chris@1295 135
Chris@1546 136 DEFINES += HAVE_COREAUDIO HAVE_VDSP
Chris@1292 137 LIBS += \
Chris@1292 138 -framework CoreAudio \
Chris@1292 139 -framework CoreMidi \
Chris@1292 140 -framework AudioUnit \
Chris@1292 141 -framework AudioToolbox \
Chris@1292 142 -framework CoreFoundation \
Chris@1292 143 -framework CoreServices \
Chris@1292 144 -framework Accelerate
Chris@1284 145 }
Chris@1284 146
Chris@1292 147 linux* {
Chris@1284 148
Chris@1292 149 message("Building without ./configure on Linux is unlikely to work")
Chris@1292 150 message("If you really want to try it, remove this from noconfig.pri")
Chris@1292 151 error("Refusing to build without ./configure first")
Chris@1292 152 }
Chris@1284 153