### ### BEGIN CONFIGURABLE STUFF ### # If you're building for PPC, change the x86 to ppc here: # CONFIG += release precompile_header x86 # Whizzy optimization flags here. # # (Don't use -ffast-math -- it does make things faster, but it # prevents isnan and isinf from working, and we need those.) # QMAKE_CXXFLAGS_RELEASE += -DNDEBUG -DNO_TIMING -O3 # Mandatory libraries. If you don't have all of these, go away and # install the ones you're missing. DEFINES += HAVE_BZ2 # Compression library (for session files) DEFINES += HAVE_FFTW3F # Fourier transforms DEFINES += HAVE_VAMP # Vamp plugin API DEFINES += HAVE_VAMP_HOSTSDK # Vamp plugin host SDK DEFINES += HAVE_SAMPLERATE # Resampling library DEFINES += HAVE_RUBBERBAND # Time stretcher INCLUDEPATH += ../include LIBPATH += ../lib LIBS += -lvamp-hostsdk -lrubberband -lfftw3 -lfftw3f -lsamplerate -lbz2 # Optional libraries follow. # Libsndfile. Import for basic audio file format (.wav etc). You # really need this unless you're using QuickTime. Even if you are, # you might like to have this as well. # DEFINES += HAVE_SNDFILE # Audio file import LIBS += -lsndfile # QuickTime. This library is optional, for audio file import. Note # that if you compile in support for either or both of libmad and # libsndfile as well as for QuickTime, libmad and libsndfile will be # used in preference to QuickTime where applicable. For licensing # reasons you may not redistribute binaries of Sonic Visualiser built # with QuickTime support, except for platforms which include QuickTime # as a standard part of the platform (i.e. OS/X). # DEFINES += HAVE_QUICKTIME LIBS += -framework QuickTime # PortAudio for audio playback. If you don't have it, comment these # out -- but you will need either PortAudio or JACK if you want any # sound. We support PortAudio v18 and v19; the default is v19. If # you want to use v18, uncomment the third line here as well. # DEFINES += HAVE_PORTAUDIO LIBS += -lportaudio #DEFINES += HAVE_PORTAUDIO_V18 # JACK for audio playback. If you don't have it, comment this out. # DEFINES += HAVE_JACK LIBS += -ljack # Oggz and Fishsound for Ogg file import. If you don't have them, # comment these out. # DEFINES += HAVE_OGGZ DEFINES += HAVE_FISHSOUND LIBS += -loggz -lfishsound # MAD and id3tag for MP3 file import and tag support. If you don't # have these, comment these out (you can also comment out id3tag but # leave MAD in if you want). # DEFINES += HAVE_MAD DEFINES += HAVE_ID3TAG LIBS += -lmad -lid3tag ### ### END CONFIGURABLE STUFF ### contains(SV_UNIT_PACKAGES, portaudio) { contains(DEFINES, HAVE_PORTAUDIO) { message("Including PortAudio support for audio playback") } else { message("WARNING: PortAudio audio playback support will not be included") } } contains(SV_UNIT_PACKAGES, jack) { contains(DEFINES, HAVE_JACK) { message("Including JACK support for audio playback") } else { !win32:message("WARNING: JACK audio playback support will not be included") !contains(DEFINES, HAVE_PORTAUDIO) { message("WARNING: No audio playback support is configured!") } } } contains(SV_UNIT_PACKAGES, oggz) { contains(DEFINES, HAVE_OGGZ) { contains(DEFINES, HAVE_FISHSOUND) { message("Including .ogg file import") } else { message("WARNING: .ogg file import will not be included") } } else { message("WARNING: .ogg file import will not be included") } } contains(SV_UNIT_PACKAGES, mad) { contains(DEFINES, HAVE_MAD) { message("Including .mp3 file import") } else { message("WARNING: .mp3 file import will not be included") } } contains(SV_UNIT_PACKAGES, id3tag) { contains(DEFINES, HAVE_ID3TAG) { message("Including .mp3 file tag support") } else { message("WARNING: .mp3 file tag support will not be included") } } contains(SV_UNIT_PACKAGES, fftw3f) { contains(DEFINES, HAVE_FFTW3F) { message("Using FFTW3f") } else { message("WARNING: FFTW3f not available, using slower FFT implementation") } } contains(SV_UNIT_PACKAGES, vamp):!contains(DEFINES, HAVE_VAMP):error("Vamp plugin API required") contains(SV_UNIT_PACKAGES, vamp-hostsdk):!contains(DEFINES, HAVE_VAMP_HOSTSDK):error("Vamp plugin host SDK required") contains(SV_UNIT_PACKAGES, bz2):!contains(DEFINES, HAVE_BZ2):error("bzip2 library required") contains(SV_UNIT_PACKAGES, sndfile):!contains(DEFINES, HAVE_SNDFILE):error("sndfile library required") contains(SV_UNIT_PACKAGES, samplerate):!contains(DEFINES, HAVE_SAMPLERATE):error("libsamplerate required") VERSION_CFLAGS += -D"'"SVNREV='"'$$system(svnversion -n .)'"'"'" QMAKE_CXXFLAGS_DEBUG += -DBUILD_DEBUG $$VERSION_CFLAGS QMAKE_CXXFLAGS_RELEASE += -DBUILD_RELEASE $$VERSION_CFLAGS