annotate noconfig.pri @ 378:a296bbde0861

Strive to include dynamic (because faster startup) and static (AppImage) builds
author Chris Cannam
date Fri, 05 Jun 2020 13:38:22 +0100
parents ddcbbd85c1ea
children 885960538dd4
rev   line source
Chris@334 1
Chris@334 2 CONFIG += c++14
Chris@260 3
Chris@260 4 CONFIG += release
Chris@334 5 #CONFIG += debug
Chris@260 6
Chris@334 7 PREFIX_PATH = /usr/local
Chris@260 8
Chris@260 9 DEFINES += NDEBUG BUILD_RELEASE
Chris@260 10 DEFINES += NO_TIMING
Chris@260 11
Chris@260 12 # Full set of defines expected for all platforms when we have the
Chris@260 13 # sv-dependency-builds subrepo available to provide the dependencies.
Chris@260 14
Chris@260 15 DEFINES += \
Chris@260 16 HAVE_BZ2 \
Chris@260 17 HAVE_FFTW3 \
Chris@260 18 HAVE_FFTW3F \
Chris@260 19 HAVE_SNDFILE \
Chris@260 20 HAVE_SAMPLERATE \
Chris@260 21 HAVE_MAD \
Chris@334 22 HAVE_ID3TAG \
Chris@334 23 HAVE_OPUS
Chris@334 24
Chris@260 25 # Default set of libs for the above. Config sections below may update
Chris@260 26 # these.
Chris@260 27
Chris@260 28 LIBS += \
Chris@328 29 -lbase \
Chris@260 30 -lbz2 \
Chris@260 31 -lrubberband \
Chris@260 32 -lfftw3 \
Chris@260 33 -lfftw3f \
Chris@260 34 -lsndfile \
Chris@260 35 -lFLAC \
Chris@260 36 -logg \
Chris@260 37 -lvorbis \
Chris@260 38 -lvorbisenc \
Chris@260 39 -lvorbisfile \
Chris@334 40 -lopusfile \
Chris@334 41 -lopus \
Chris@260 42 -logg \
Chris@260 43 -lmad \
Chris@260 44 -lid3tag \
Chris@260 45 -lsamplerate \
Chris@260 46 -lz \
Chris@260 47 -lsord-0 \
Chris@260 48 -lserd-0
Chris@260 49
Chris@260 50 win32-g++ {
Chris@260 51
Chris@260 52 # This config is currently used for 32-bit Windows builds.
Chris@260 53
Chris@338 54 INCLUDEPATH += $$PWD/sv-dependency-builds/win32-mingw/include $$PWD/sv-dependency-builds/win32-mingw/include/opus
Chris@260 55
Chris@328 56 LIBS += -Lrelease -L$$PWD/sv-dependency-builds/win32-mingw/lib
Chris@260 57
Chris@328 58 DEFINES += NOMINMAX _USE_MATH_DEFINES CAPNP_LITE
Chris@260 59
Chris@260 60 QMAKE_CXXFLAGS_RELEASE += -ffast-math
Chris@260 61
Chris@339 62 # (We don't have MediaFoundation support, with this build sadly)
Chris@339 63
Chris@339 64 LIBS += -lwinmm -lws2_32
Chris@260 65 }
Chris@260 66
Chris@260 67 win32-msvc* {
Chris@260 68
Chris@260 69 # This config is actually used only for 64-bit Windows builds.
Chris@260 70 # even though the qmake spec is still called win32-msvc*. If
Chris@260 71 # we want to do 32-bit builds with MSVC as well, then we'll
Chris@260 72 # need to add a way to distinguish the two.
Chris@260 73
Chris@338 74 INCLUDEPATH += $$PWD/sv-dependency-builds/win64-msvc/include $$PWD/sv-dependency-builds/win64-msvc/include/opus
Chris@260 75
Chris@260 76 CONFIG(release) {
Chris@339 77 LIBS += -NODEFAULTLIB:LIBCMT -Lrelease \
Chris@328 78 -L$$PWD/sv-dependency-builds/win64-msvc/lib
Chris@260 79 }
Chris@260 80
Chris@369 81 DEFINES += NOMINMAX _USE_MATH_DEFINES HAVE_MEDIAFOUNDATION AVOID_WINRT_DEPENDENCY
Chris@260 82
Chris@328 83 QMAKE_CXXFLAGS_RELEASE += -fp:fast -gl
Chris@328 84 QMAKE_LFLAGS_RELEASE += -ltcg
Chris@260 85
Chris@260 86 # No Ogg/FLAC support in the sndfile build on this platform yet
Chris@339 87 LIBS -= -lFLAC -lvorbis -lvorbisenc -lvorbisfile
Chris@260 88
Chris@260 89 # These have different names
Chris@260 90 LIBS -= -lsord-0 -lserd-0
Chris@260 91 LIBS += -lsord -lserd
Chris@260 92
Chris@334 93 LIBS += -lmfplat -lmfreadwrite -lmfuuid -lpropsys -ladvapi32 -lwinmm -lws2_32
Chris@260 94 }
Chris@260 95
Chris@260 96 macx* {
Chris@260 97
Chris@260 98 # All Mac builds are 64-bit these days.
Chris@260 99
Chris@334 100 INCLUDEPATH += $$PWD/sv-dependency-builds/osx/include $$PWD/sv-dependency-builds/osx/include/opus
Chris@328 101 LIBS += -L$$PWD/sv-dependency-builds/osx/lib -L$$PWD
Chris@260 102
Chris@334 103 QMAKE_CXXFLAGS_RELEASE += -O3 -ffast-math -flto
Chris@339 104 QMAKE_LFLAGS_RELEASE += -O3 -flto
Chris@260 105
Chris@334 106 DEFINES += HAVE_COREAUDIO HAVE_VDSP
Chris@260 107 LIBS += \
cannam@283 108 -framework CoreAudio \
cannam@283 109 -framework CoreMidi \
cannam@283 110 -framework AudioUnit \
cannam@283 111 -framework AudioToolbox \
Chris@260 112 -framework CoreFoundation \
Chris@260 113 -framework CoreServices \
Chris@260 114 -framework Accelerate
Chris@260 115 }
Chris@260 116
Chris@260 117 linux* {
Chris@260 118
Chris@260 119 message("Building without ./configure on Linux is unlikely to work")
Chris@260 120 message("If you really want to try it, remove this from noconfig.pri")
Chris@260 121 error("Refusing to build without ./configure first")
Chris@260 122 }
Chris@260 123