annotate noconfig.pri @ 1827:e63cc95876cb baselib-win-build

Alternative build mechanism for Windows, with base as a library and a single script to run full builds
author Chris Cannam
date Thu, 24 May 2018 16:19:50 +0100
parents e4cf3ec06955
children 98bec50c3c2e
rev   line source
Chris@1284 1
Chris@1284 2 CONFIG += release
Chris@1299 3
Chris@1299 4 #CONFIG -= release
Chris@1299 5 #CONFIG += debug
Chris@1299 6
Chris@1753 7 PREFIX_PATH = /usr/local
Chris@1753 8
Chris@1284 9 DEFINES += NDEBUG BUILD_RELEASE
Chris@1484 10 DEFINES += NO_TIMING NO_HIT_COUNTS
Chris@1284 11
Chris@1319 12 DEFINES += HAVE_PIPER HAVE_PLUGIN_CHECKER_HELPER
Chris@1319 13
Chris@1292 14 # Full set of defines expected for all platforms when we have the
Chris@1292 15 # sv-dependency-builds subrepo available to provide the dependencies.
Chris@1292 16
Chris@1292 17 DEFINES += \
Chris@1292 18 HAVE_BZ2 \
Chris@1292 19 HAVE_FFTW3 \
Chris@1292 20 HAVE_FFTW3F \
Chris@1292 21 HAVE_SNDFILE \
Chris@1292 22 HAVE_SAMPLERATE \
Chris@1292 23 HAVE_RUBBERBAND \
Chris@1292 24 HAVE_LIBLO \
Chris@1292 25 HAVE_MAD \
Chris@1292 26 HAVE_ID3TAG \
Chris@1292 27 HAVE_PORTAUDIO
Chris@1292 28
Chris@1292 29 # Default set of libs for the above. Config sections below may update
Chris@1292 30 # these.
Chris@1292 31
Chris@1292 32 LIBS += \
Chris@1827 33 -lbase \
Chris@1292 34 -lbz2 \
Chris@1292 35 -lrubberband \
Chris@1292 36 -lfftw3 \
Chris@1292 37 -lfftw3f \
Chris@1292 38 -lsndfile \
Chris@1292 39 -lFLAC \
Chris@1292 40 -logg \
Chris@1292 41 -lvorbis \
Chris@1292 42 -lvorbisenc \
Chris@1292 43 -lvorbisfile \
Chris@1292 44 -logg \
Chris@1292 45 -lmad \
Chris@1292 46 -lid3tag \
Chris@1292 47 -lportaudio \
Chris@1292 48 -lsamplerate \
Chris@1292 49 -lz \
Chris@1292 50 -lsord-0 \
Chris@1292 51 -lserd-0 \
Chris@1292 52 -llo \
Chris@1292 53 -lcapnp \
Chris@1292 54 -lkj
Chris@1292 55
Chris@1284 56 win32-g++ {
Chris@1292 57
Chris@1292 58 # This config is currently used for 32-bit Windows builds.
Chris@1292 59
Chris@1827 60 INCLUDEPATH += $$PWD/sv-dependency-builds/win32-mingw/include
Chris@1292 61
Chris@1827 62 LIBS += -Lrelease -L$$PWD/sv-dependency-builds/win32-mingw/lib
Chris@1295 63
Chris@1546 64 DEFINES += NOMINMAX _USE_MATH_DEFINES CAPNP_LITE
Chris@1295 65
Chris@1295 66 QMAKE_CXXFLAGS_RELEASE += -ffast-math
Chris@1292 67
Chris@1292 68 # Don't have liblo
Chris@1292 69 DEFINES -= HAVE_LIBLO
Chris@1292 70 LIBS -= -llo
Chris@1292 71
Chris@1292 72 LIBS += -lwinmm -lws2_32
Chris@1284 73 }
Chris@1284 74
Chris@1284 75 win32-msvc* {
Chris@1292 76
Chris@1292 77 # This config is actually used only for 64-bit Windows builds.
Chris@1292 78 # even though the qmake spec is still called win32-msvc*. If
Chris@1292 79 # we want to do 32-bit builds with MSVC as well, then we'll
Chris@1292 80 # need to add a way to distinguish the two.
Chris@1292 81
Chris@1827 82 INCLUDEPATH += $$PWD/sv-dependency-builds/win64-msvc/include
Chris@1294 83
Chris@1294 84 ## This seems to be intruding even when we're supposed to be release
Chris@1294 85 # CONFIG(debug) {
Chris@1294 86 # LIBS += -NODEFAULTLIB:MSVCRT -Ldebug \
Chris@1294 87 # -L../sonic-visualiser/sv-dependency-builds/win64-msvc/lib/debug \
Chris@1294 88 # -L../sonic-visualiser/sv-dependency-builds/win64-msvc/lib
Chris@1294 89 # }
Chris@1292 90 CONFIG(release) {
Chris@1292 91 LIBS += -Lrelease \
Chris@1827 92 -L$$PWD/sv-dependency-builds/win64-msvc/lib
Chris@1292 93 }
Chris@1292 94
Chris@1546 95 DEFINES += NOMINMAX _USE_MATH_DEFINES CAPNP_LITE
Chris@1294 96
Chris@1294 97 QMAKE_CXXFLAGS_RELEASE += -fp:fast
Chris@1292 98
Chris@1292 99 # No Ogg/FLAC support in the sndfile build on this platform yet
Chris@1292 100 LIBS -= -lFLAC -logg -lvorbis -lvorbisenc -lvorbisfile
Chris@1292 101
Chris@1292 102 # These have different names
Chris@1292 103 LIBS -= -lsord-0 -lserd-0
Chris@1292 104 LIBS += -lsord -lserd
Chris@1292 105
Chris@1292 106 # Don't have liblo
Chris@1292 107 DEFINES -= HAVE_LIBLO
Chris@1292 108 LIBS -= -llo
Chris@1292 109
Chris@1292 110 LIBS += -ladvapi32 -lwinmm -lws2_32
Chris@1284 111 }
Chris@1284 112
Chris@1292 113 macx* {
Chris@1292 114
Chris@1292 115 # All Mac builds are 64-bit these days.
Chris@1292 116
Chris@1827 117 INCLUDEPATH += $$PWD/sv-dependency-builds/osx/include
Chris@1827 118 LIBS += -L$$PWD/sv-dependency-builds/osx/lib
Chris@1292 119
cannam@1647 120 QMAKE_CXXFLAGS_RELEASE += -O3 -ffast-math
Chris@1295 121
Chris@1546 122 DEFINES += HAVE_COREAUDIO HAVE_VDSP
Chris@1292 123 LIBS += \
Chris@1292 124 -framework CoreAudio \
Chris@1292 125 -framework CoreMidi \
Chris@1292 126 -framework AudioUnit \
Chris@1292 127 -framework AudioToolbox \
Chris@1292 128 -framework CoreFoundation \
Chris@1292 129 -framework CoreServices \
Chris@1292 130 -framework Accelerate
Chris@1284 131 }
Chris@1284 132
Chris@1292 133 linux* {
Chris@1284 134
Chris@1292 135 message("Building without ./configure on Linux is unlikely to work")
Chris@1292 136 message("If you really want to try it, remove this from noconfig.pri")
Chris@1292 137 error("Refusing to build without ./configure first")
Chris@1292 138 }
Chris@1284 139