app.pro Example File | Qt Multimedia 5.4

- Qt 5.4
- Qt Multimedia
- Spectrum Example
- app.pro Example File
- Qt 5.4.2 Reference Documentation

# app.pro Example File

spectrum/app/app.pro

    include(../spectrum.pri)

    TEMPLATE = app

    TARGET = spectrum

    QT       += multimedia widgets

    SOURCES  += main.cpp \
                engine.cpp \
                frequencyspectrum.cpp \
                levelmeter.cpp \
                mainwidget.cpp \
                progressbar.cpp \
                settingsdialog.cpp \
                spectrograph.cpp \
                spectrumanalyser.cpp \
                tonegenerator.cpp \
                tonegeneratordialog.cpp \
                utils.cpp \
                waveform.cpp \
                wavfile.cpp

    HEADERS  += engine.h \
                frequencyspectrum.h \
                levelmeter.h \
                mainwidget.h \
                progressbar.h \
                settingsdialog.h \
                spectrograph.h \
                spectrum.h \
                spectrumanalyser.h \
                tonegenerator.h \
                tonegeneratordialog.h \
                utils.h \
                waveform.h \
                wavfile.h

    fftreal_dir = ../3rdparty/fftreal

    INCLUDEPATH += $${fftreal_dir}

    RESOURCES = spectrum.qrc

    # Dynamic linkage against FFTReal DLL
    !contains(DEFINES, DISABLE_FFT) {
        macx {
            # Link to fftreal framework
            LIBS += -F$${fftreal_dir}
            LIBS += -framework fftreal
        } else {
            LIBS += -L..$${spectrum_build_dir}
            LIBS += -lfftreal
        }
    }

    target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/spectrum
    INSTALLS += target

    # Deployment

    DESTDIR = ..$${spectrum_build_dir}
    macx {
        !contains(DEFINES, DISABLE_FFT) {
            # Relocate fftreal.framework into spectrum.app bundle
            framework_dir = ../spectrum.app/Contents/Frameworks
            framework_name = fftreal.framework/Versions/1/fftreal
            QMAKE_POST_LINK = \
                mkdir -p $${framework_dir} &&\
                rm -rf $${framework_dir}/fftreal.framework &&\
                cp -R $${fftreal_dir}/fftreal.framework $${framework_dir} &&\
                install_name_tool -id @executable_path/../Frameworks/$${framework_name} \
                                    $${framework_dir}/$${framework_name} &&\
                install_name_tool -change $${framework_name} \
                                    @executable_path/../Frameworks/$${framework_name} \
                                    ../spectrum.app/Contents/MacOS/spectrum
        }
    } else {
        linux-g++*: {
            # Provide relative path from application to fftreal library
            QMAKE_LFLAGS += -Wl,--rpath=\\\$\$ORIGIN
        }
    }