Chris@1284: Chris@2458: win32-msvc* { Chris@2458: # Necessary for WinRT header used to determine background colour Chris@2458: CONFIG += c++17 Chris@2458: } Chris@2458: !win32-msvc* { Chris@2458: CONFIG += c++14 Chris@2458: } Chris@1299: Chris@2199: CONFIG += release Chris@2199: #CONFIG += debug Chris@1299: Chris@1753: PREFIX_PATH = /usr/local Chris@1753: Chris@1284: DEFINES += NDEBUG BUILD_RELEASE Chris@1484: DEFINES += NO_TIMING NO_HIT_COUNTS Chris@1284: Chris@1319: DEFINES += HAVE_PIPER HAVE_PLUGIN_CHECKER_HELPER Chris@1319: Chris@1292: # Full set of defines expected for all platforms when we have the Chris@1292: # sv-dependency-builds subrepo available to provide the dependencies. Chris@1292: Chris@1292: DEFINES += \ Chris@1292: HAVE_BZ2 \ Chris@1292: HAVE_FFTW3 \ Chris@1292: HAVE_FFTW3F \ Chris@1292: HAVE_SNDFILE \ Chris@1292: HAVE_SAMPLERATE \ Chris@1292: HAVE_RUBBERBAND \ Chris@1292: HAVE_LIBLO \ Chris@1292: HAVE_MAD \ Chris@1292: HAVE_ID3TAG \ Chris@2192: HAVE_OPUS \ Chris@1292: HAVE_PORTAUDIO Chris@1292: Chris@1292: # Default set of libs for the above. Config sections below may update Chris@1292: # these. Chris@1292: Chris@1292: LIBS += \ Chris@1827: -lbase \ Chris@1292: -lbz2 \ Chris@2207: -lrubberband \ Chris@1292: -lfftw3 \ Chris@1292: -lfftw3f \ Chris@1292: -lsndfile \ Chris@1292: -lFLAC \ Chris@1292: -logg \ Chris@1292: -lvorbis \ Chris@1292: -lvorbisenc \ Chris@1292: -lvorbisfile \ Chris@2195: -lopusfile \ Chris@2195: -lopus \ Chris@1292: -logg \ Chris@1292: -lmad \ Chris@1292: -lid3tag \ Chris@1292: -lportaudio \ Chris@1292: -lsamplerate \ Chris@1292: -lz \ Chris@1292: -lsord-0 \ Chris@1292: -lserd-0 \ Chris@1292: -llo \ Chris@1292: -lcapnp \ Chris@1292: -lkj Chris@1292: Chris@1284: win32-g++ { Chris@1292: Chris@1292: # This config is currently used for 32-bit Windows builds. Chris@1292: Chris@2199: INCLUDEPATH += $$PWD/sv-dependency-builds/win32-mingw/include $$PWD/sv-dependency-builds/win32-mingw/include/opus Chris@1292: Chris@1827: LIBS += -Lrelease -L$$PWD/sv-dependency-builds/win32-mingw/lib Chris@1295: Chris@2199: DEFINES += NOMINMAX _USE_MATH_DEFINES CAPNP_LITE Chris@1295: Chris@1295: QMAKE_CXXFLAGS_RELEASE += -ffast-math Chris@1292: Chris@1292: # Don't have liblo Chris@1292: DEFINES -= HAVE_LIBLO Chris@1292: LIBS -= -llo Chris@2199: Chris@2199: # (We don't have MediaFoundation support either, with this build sadly) Chris@1292: Chris@2199: LIBS += -lwinmm -lws2_32 Chris@1284: } Chris@1284: Chris@1284: win32-msvc* { Chris@1292: Chris@1292: # This config is actually used only for 64-bit Windows builds. Chris@1292: # even though the qmake spec is still called win32-msvc*. If Chris@1292: # we want to do 32-bit builds with MSVC as well, then we'll Chris@1292: # need to add a way to distinguish the two. Chris@1292: Chris@2197: INCLUDEPATH += $$PWD/sv-dependency-builds/win64-msvc/include $$PWD/sv-dependency-builds/win64-msvc/include/opus Chris@1294: Chris@1982: # This seems to be intruding even when we're supposed to be release Chris@1294: # CONFIG(debug) { Chris@1294: # LIBS += -NODEFAULTLIB:MSVCRT -Ldebug \ Chris@1982: # -L$$PWD/sv-dependency-builds/win64-msvc/lib/debug \ Chris@1982: # -L$$PWD/sv-dependency-builds/win64-msvc/lib Chris@1294: # } Chris@1292: CONFIG(release) { Chris@2202: LIBS += -NODEFAULTLIB:LIBCMT -Lrelease \ Chris@1827: -L$$PWD/sv-dependency-builds/win64-msvc/lib Chris@1292: } Chris@1292: Chris@2458: DEFINES += NOMINMAX _USE_MATH_DEFINES CAPNP_LITE HAVE_MEDIAFOUNDATION _HAS_STD_BYTE=0 Chris@1294: Chris@1839: QMAKE_CXXFLAGS_RELEASE += -fp:fast -gl Chris@1839: QMAKE_LFLAGS_RELEASE += -ltcg Chris@1292: Chris@2197: LIBS -= -lFLAC -lvorbis -lvorbisenc -lvorbisfile Chris@1292: Chris@1292: # These have different names Chris@1292: LIBS -= -lsord-0 -lserd-0 Chris@1292: LIBS += -lsord -lserd Chris@1292: Chris@1292: # Don't have liblo Chris@1292: DEFINES -= HAVE_LIBLO Chris@1292: LIBS -= -llo Chris@2458: Chris@2458: ##!!! WindowsApp seems to be win10-specific! can I avoid this? Chris@1292: Chris@2458: LIBS += -lWindowsApp -lmfplat -lmfreadwrite -lmfuuid -lpropsys -ladvapi32 -lwinmm -lws2_32 Chris@1284: } Chris@1284: Chris@1292: macx* { Chris@1292: Chris@1292: # All Mac builds are 64-bit these days. Chris@1292: Chris@2195: INCLUDEPATH += $$PWD/sv-dependency-builds/osx/include $$PWD/sv-dependency-builds/osx/include/opus cannam@1830: LIBS += -L$$PWD/sv-dependency-builds/osx/lib -L$$PWD Chris@1292: Chris@2106: QMAKE_CXXFLAGS_RELEASE += -O3 -ffast-math -flto Chris@2106: QMAKE_LFLAGS_RELEASE += -O3 -flto Chris@1295: Chris@1546: DEFINES += HAVE_COREAUDIO HAVE_VDSP Chris@1292: LIBS += \ Chris@1292: -framework CoreAudio \ Chris@1292: -framework CoreMidi \ Chris@1292: -framework AudioUnit \ Chris@1292: -framework AudioToolbox \ Chris@1292: -framework CoreFoundation \ Chris@1292: -framework CoreServices \ Chris@1292: -framework Accelerate Chris@1284: } Chris@1284: Chris@1292: linux* { Chris@1284: Chris@1292: message("Building without ./configure on Linux is unlikely to work") Chris@1292: message("If you really want to try it, remove this from noconfig.pri") Chris@1292: error("Refusing to build without ./configure first") Chris@1292: } Chris@1284: