lbajardsilogic@0: lbajardsilogic@0: ### lbajardsilogic@0: ### BEGIN CONFIGURABLE STUFF lbajardsilogic@0: ### lbajardsilogic@0: lbajardsilogic@0: CONFIG += release lbajardsilogic@0: # precompile_header lbajardsilogic@0: lbajardsilogic@0: # Whizzy optimization flags here lbajardsilogic@0: # lbajardsilogic@0: #linux-g++:QMAKE_CXXFLAGS_RELEASE += -DNDEBUG -DNO_TIMING -O2 -march=pentium3 -mfpmath=sse -ffast-math lbajardsilogic@0: QMAKE_CXXFLAGS_RELEASE += -DNDEBUG -DNO_TIMING -O2 lbajardsilogic@0: # QMAKE_CXXFLAGS_RELEASE += -O3 -march=pentium4 -mfpmath=sse -msse -msse2 -ffast-math -fomit-frame-pointer lbajardsilogic@0: # QMAKE_CXXFLAGS_RELEASE += -O3 -march=athlon-mp -mfpmath=sse -fomit-frame-pointer lbajardsilogic@0: lbajardsilogic@0: # To do a static build with gcc on Linux lbajardsilogic@0: # lbajardsilogic@0: LIBS += -Wl,-Bstatic lbajardsilogic@0: DEFINES += BUILD_STATIC lbajardsilogic@0: lbajardsilogic@42: #PRECOMPILED_HEADER = /work/sound-access/pch.h lbajardsilogic@0: lbajardsilogic@0: lbajardsilogic@0: # These are testable on platforms with pkg-config. If you don't have lbajardsilogic@0: # pkg-config, edit the "else" block below (see comments). lbajardsilogic@0: # lbajardsilogic@0: PKGCONFIG_PACKAGES = vamp vamp-sdk oggz fishsound mad fftw3f sndfile samplerate lrdf raptor jack liblo lbajardsilogic@0: lbajardsilogic@0: # No pkg-config test for the bzip2 library. This library is required. lbajardsilogic@0: # If you don't have it, install it. lbajardsilogic@0: # lbajardsilogic@0: DEFINES += HAVE_BZ2 lbajardsilogic@0: INCLUDEPATH += ../../packages/bzip2-1.0.4 lbajardsilogic@0: LIBS += -L../../packages/bzip2-1.0.4 -lbz2 lbajardsilogic@0: lbajardsilogic@0: # No pkg-config test for PortAudio. If you don't have it, comment these out. lbajardsilogic@0: # We support PortAudio v18 and v19; the default is v19. If you want to use lbajardsilogic@0: # v18, see below. lbajardsilogic@0: # lbajardsilogic@0: DEFINES += HAVE_PORTAUDIO lbajardsilogic@0: INCLUDEPATH += ../../packages/portaudio/include lbajardsilogic@0: LIBS += -L../../packages/portaudio -lportaudio lbajardsilogic@0: # lbajardsilogic@0: # If you want to use PortAudio v18, uncomment this line (as well as lbajardsilogic@0: # HAVE_PORTAUDIO above): lbajardsilogic@0: # lbajardsilogic@0: #DEFINES += HAVE_PORTAUDIO_v18 lbajardsilogic@0: lbajardsilogic@0: lbajardsilogic@0: #!system(pkg-config --atleast-pkgconfig-version=0) { lbajardsilogic@0: lbajardsilogic@0: # If you don't have pkg-config, comment out (or install) any of the lbajardsilogic@0: # following that you lack. If you have pkg-config, you should be lbajardsilogic@0: # able to ignore all this provided the right symbols are defined lbajardsilogic@0: # in PKGCONFIG_PACKAGES above. lbajardsilogic@0: # lbajardsilogic@0: # DEFINES += HAVE_JACK # Optional -- an audio playback option lbajardsilogic@0: # DEFINES += HAVE_OGGZ # Optional -- to import .ogg files lbajardsilogic@0: # DEFINES += HAVE_FISHSOUND # Optional -- to import .ogg files lbajardsilogic@0: DEFINES += HAVE_MAD # Optional -- to import .mp3 files lbajardsilogic@0: # lbajardsilogic@0: # LIBS += -ljack lbajardsilogic@0: # LIBS += -loggz -lfishsound lbajardsilogic@0: INCLUDEPATH += ../../packages/libmad-0.15.1b lbajardsilogic@0: LIBS += -L../../packages/libmad-0.15.1b -lmad lbajardsilogic@0: lbajardsilogic@0: # These ones are mandatory. lbajardsilogic@0: # If you don't have them, you'll have to find them. lbajardsilogic@0: # lbajardsilogic@0: DEFINES += HAVE_VAMP HAVE_VAMP_SDK # Required -- for analysis plugins lbajardsilogic@0: DEFINES += HAVE_FFTW3F # Required -- for all sorts of things lbajardsilogic@0: DEFINES += HAVE_SNDFILE # Required -- to import and export .wav files lbajardsilogic@0: DEFINES += HAVE_SAMPLERATE # Required -- for resampling lbajardsilogic@0: # lbajardsilogic@0: # INCLUDEPATH += ../../vamp-plugin-sdk ../../packages/fftw-3.1.2-dll ../../packages/libsndfile-1_0_17 ../../packages/libsamplerate-0.1.2/src lbajardsilogic@0: # LIBS += -L../../vamp-plugin-sdk/vamp-sdk -L../../packages/fftw-3.1.2-dll -L../../packages/libsndfile-1.0.17 -L../../packages/libsamplerate-0.1.2 lbajardsilogic@0: INCLUDEPATH += ../../vamp-plugin-sdk ../../packages/fftw-3.1.2-dll ../../packages/libsndfile-1.0.17/src ../../packages/libsamplerate-0.1.2/src lbajardsilogic@0: LIBS += -L../../vamp-plugin-sdk/vamp-sdk -L../../packages/fftw-3.1.2-dll -L../../packages/libsndfile-1.0.17 -L../../packages/libsamplerate-0.1.2 lbajardsilogic@0: # lbajardsilogic@0: LIBS += -lvamp-sdk -Wl,-Bdynamic -lfftw3f-3 -Wl,-Bstatic -lsndfile -lsamplerate lbajardsilogic@0: # LIBS += -lvamp-sdk -Wl,-Bdynamic -Wl,-Bstatic -lsndfile -lsamplerate lbajardsilogic@0: # LIBS += -lvamp-sdk -lsndfile -lsamplerate lbajardsilogic@0: #} lbajardsilogic@0: lbajardsilogic@0: ### lbajardsilogic@0: ### END CONFIGURABLE STUFF lbajardsilogic@0: ### lbajardsilogic@0: lbajardsilogic@0: lbajardsilogic@0: #system(pkg-config --atleast-pkgconfig-version=0) { lbajardsilogic@0: linux-g++ { lbajardsilogic@0: lbajardsilogic@0: # If you have pkg-config, this block should locate all packages lbajardsilogic@0: # for you provided they have .pc files and are listed in lbajardsilogic@0: # PKGCONFIG_PACKAGES. lbajardsilogic@0: # lbajardsilogic@0: for(PKG, PKGCONFIG_PACKAGES) { lbajardsilogic@0: contains(SV_UNIT_PACKAGES, $$PKG) { lbajardsilogic@0: system(pkg-config --exists $$PKG) { lbajardsilogic@0: VERSION = $$system(pkg-config --modversion $$PKG) lbajardsilogic@0: PACKAGE_SYMBOL = $$system(echo $$PKG | tr '[a-z-]' '[A-Z_]') lbajardsilogic@0: VERSION_SYMBOL = $$PACKAGE_SYMBOL'_VERSION' lbajardsilogic@0: DEFINES += HAVE_$$PACKAGE_SYMBOL lbajardsilogic@0: QMAKE_CXXFLAGS += -D"'"$$VERSION_SYMBOL='"'$$VERSION'"'"'" lbajardsilogic@0: QMAKE_CXXFLAGS += $$system(pkg-config --cflags $$PKG) lbajardsilogic@0: LIBS += $$system(pkg-config --libs $$PKG) lbajardsilogic@0: message("Using pkg-config package $$PKG with version $$VERSION") lbajardsilogic@0: } else { lbajardsilogic@0: message("WARNING: Failed to find pkg-config package $$PKG") lbajardsilogic@0: } lbajardsilogic@0: } lbajardsilogic@0: } lbajardsilogic@0: } lbajardsilogic@0: lbajardsilogic@0: contains(SV_UNIT_PACKAGES, portaudio) { lbajardsilogic@0: contains(DEFINES, HAVE_PORTAUDIO) { lbajardsilogic@0: message("Including PortAudio support for audio playback") lbajardsilogic@0: } else { lbajardsilogic@0: message("WARNING: PortAudio audio playback support will not be included") lbajardsilogic@0: } lbajardsilogic@0: } lbajardsilogic@0: lbajardsilogic@0: contains(SV_UNIT_PACKAGES, jack) { lbajardsilogic@0: contains(DEFINES, HAVE_JACK) { lbajardsilogic@0: message("Including JACK support for audio playback") lbajardsilogic@0: } else { lbajardsilogic@0: !win32:message("WARNING: JACK audio playback support will not be included") lbajardsilogic@0: !contains(DEFINES, HAVE_PORTAUDIO) { lbajardsilogic@0: message("WARNING: No audio playback support is configured!") lbajardsilogic@0: } lbajardsilogic@0: } lbajardsilogic@0: } lbajardsilogic@0: lbajardsilogic@0: contains(SV_UNIT_PACKAGES, oggz) { lbajardsilogic@0: contains(DEFINES, HAVE_OGGZ) { lbajardsilogic@0: contains(DEFINES, HAVE_FISHSOUND) { lbajardsilogic@0: message("Including .ogg file import") lbajardsilogic@0: } else { lbajardsilogic@0: message("WARNING: .ogg file import will not be included") lbajardsilogic@0: } lbajardsilogic@0: } else { lbajardsilogic@0: message("WARNING: .ogg file import will not be included") lbajardsilogic@0: } lbajardsilogic@0: } lbajardsilogic@0: lbajardsilogic@0: contains(SV_UNIT_PACKAGES, mad) { lbajardsilogic@0: contains(DEFINES, HAVE_MAD) { lbajardsilogic@0: message("Including .mp3 file import") lbajardsilogic@0: } else { lbajardsilogic@0: message("WARNING: .mp3 file import will not be included") lbajardsilogic@0: } lbajardsilogic@0: } lbajardsilogic@0: lbajardsilogic@0: contains(SV_UNIT_PACKAGES, vamp):!contains(DEFINES, HAVE_VAMP):error("Vamp plugin API required") lbajardsilogic@0: contains(SV_UNIT_PACKAGES, vamp-sdk):!contains(DEFINES, HAVE_VAMP_SDK):error("Vamp plugin SDK required") lbajardsilogic@0: contains(SV_UNIT_PACKAGES, bz2):!contains(DEFINES, HAVE_BZ2):error("bzip2 library required") lbajardsilogic@0: #contains(SV_UNIT_PACKAGES, fftw3f):!contains(DEFINES, HAVE_FFTW3F):error("FFTW3f library required") lbajardsilogic@0: contains(SV_UNIT_PACKAGES, sndfile):!contains(DEFINES, HAVE_SNDFILE):error("sndfile library required") lbajardsilogic@0: contains(SV_UNIT_PACKAGES, samplerate):!contains(DEFINES, HAVE_SAMPLERATE):error("libsamplerate required") lbajardsilogic@0: lbajardsilogic@0: #VERSION_CFLAGS += -D"'"SVNREV='"'$$system(svnversion -n .)'"'"'" lbajardsilogic@0: lbajardsilogic@0: QMAKE_CXXFLAGS_DEBUG += -DBUILD_DEBUG $$VERSION_CFLAGS lbajardsilogic@0: QMAKE_CXXFLAGS_RELEASE += -DBUILD_RELEASE $$VERSION_CFLAGS lbajardsilogic@0: lbajardsilogic@0: linux-g++ { lbajardsilogic@0: contains(DEFINES, BUILD_STATIC) { lbajardsilogic@0: LIBS += -lFLAC -ldl lbajardsilogic@0: } lbajardsilogic@0: } lbajardsilogic@0: lbajardsilogic@0: # Restore dynamic linkage, in case we went static earlier lbajardsilogic@0: linux-g++:LIBS += -Wl,-Bdynamic lbajardsilogic@0: