Added missing scheduler.cpp source to qmake file

# Input
DEPENDPATH += . json qt
HEADERS += qt/bitcoingui.h \
    qt/transactiontablemodel.h \
    qt/addresstablemodel.h \
    qt/optionsdialog.h \
    qt/coincontroldialog.h \
    qt/coincontroltreewidget.h \
    qt/sendcoinsdialog.h \
    qt/addressbookpage.h \
    qt/signverifymessagedialog.h \
    qt/aboutdialog.h \
    qt/editaddressdialog.h \
    qt/bitcoinaddressvalidator.h \
    alert.h \
    addrman.h \
    base58.h \
    bignum.h \
    checkpoints.h \
    compat.h \
    coincontrol.h \
    sync.h \
    util.h \
    hash.h \
    uint256.h \
    kernel.h \
    scrypt.h \
    pbkdf2.h \
    zerocoin/Accumulator.h \
    zerocoin/AccumulatorProofOfKnowledge.h \
    zerocoin/Coin.h \
    zerocoin/CoinSpend.h \
    zerocoin/Commitment.h \
    zerocoin/ParamGeneration.h \
    zerocoin/Params.h \
    zerocoin/SerialNumberSignatureOfKnowledge.h \
    zerocoin/SpendMetaData.h \
    zerocoin/ZeroTest.h \
    zerocoin/Zerocoin.h \
    serialize.h \
    main.h \
    miner.h \
    net.h \
    key.h \
    db.h \
    txdb.h \
    walletdb.h \
    script.h \
    init.h \
    hash.h \
    bloom.h \
    mruset.h \
    json/json_spirit_writer_template.h \
    json/json_spirit_writer.h \
    json/json_spirit_value.h \
    json/json_spirit_utils.h \
    json/json_spirit_stream_reader.h \
    json/json_spirit_reader_template.h \
    json/json_spirit_reader.h \
    json/json_spirit_error_position.h \
    json/json_spirit.h \
    qt/clientmodel.h \
    qt/guiutil.h \
    qt/transactionrecord.h \
    qt/guiconstants.h \
    qt/optionsmodel.h \
    qt/monitoreddatamapper.h \
    qt/transactiondesc.h \
    qt/transactiondescdialog.h \
    qt/bitcoinamountfield.h \
    wallet.h \
    keystore.h \
    qt/transactionfilterproxy.h \
    qt/transactionview.h \
    qt/walletmodel.h \
    bitcoinrpc.h \
    qt/overviewpage.h \
    qt/ui_overviewpage.h \
    qt/ui_qrcodedialog.h \
    qt/ntp1summary.h \
    qt/ui_ntp1summary.h \
    qt/ui_sendcoinsdialog.h \
    qt/ui_coincontroldialog.h \
    qt/ui_sendcoinsdialog.h \
    qt/ui_addressbookpage.h \
    qt/ui_signverifymessagedialog.h \
    qt/ui_aboutdialog.h \
    qt/ui_editaddressdialog.h \
    qt/ui_transactiondescdialog.h \
    qt/ui_sendcoinsentry.h \
    qt/ui_askpassphrasedialog.h \
    qt/ui_rpcconsole.h \
    qt/ui_optionsdialog.h \
    qt/csvmodelwriter.h \
    crypter.h \
    qt/sendcoinsentry.h \
    qt/qvalidatedlineedit.h \
    qt/bitcoinunits.h \
    qt/qvaluecombobox.h \
    qt/askpassphrasedialog.h \
    qt/neblioupdatedialog.h \
    protocol.h \
    qt/notificator.h \
    qt/qtipcserver.h \
    allocators.h \
    ui_interface.h \
    qt/rpcconsole.h \
    qt/ClickableLabel.h \
    version.h \
    netbase.h \
    clientversion.h \
    threadsafety.h \
    neblioupdater.h \
    neblioversion.h \
    neblioreleaseinfo.h \
    curltools.h \
    qt/messageboxwithtimer.h \
    qt/ntp1/ntp1tokenlistmodel.h \
    qt/ntp1/ntp1tokenlistfilterproxy.h \
    ntp1/ntp1tokenmetadata.h \
    ntp1/ntp1wallet.h \
    qt/ntp1/ntp1tokenlistitemdelegate.h \
    ThreadSafeHashMap.h \
    qt/ntp1sendtokensfeewidget.h \
    ntp1/ntp1script_burn.h \
    ntp1/ntp1tokenminimalmetadata.h \
    qt/ntp1/ntp1listelementtokendata.h \
    ntp1/ntp1sendtxdata.h \
    NetworkForks.h \
    ntp1/ntp1v1_issuance_static_data.h \
    qt/json/AbstractTreeNode.h  \
    qt/json/JsonNewNodeDialog.h \
    qt/json/JsonTreeModel.h     \
    qt/json/JsonTreeNode.h      \
    qt/json/JsonTreeView.h      \
    qt/ntp1/ntp1createmetadatadialog.h \
    qt/ntp1/ntp1metadatapairwidget.h \
    qt/ntp1/ntp1custommetadatawidget.h \
    qt/ntp1/ntp1metadatapairswidget.h \
    qt/json/NTP1MetadataViewer.h \
    SerializationTester.h \
    blockindexcatalog.h   \
    blockindex.h          \
    outpoint.h            \
    inpoint.h             \
    block.h               \
    transaction.h         \
    globals.h             \
    diskblockindex.h      \
    disktxpos.h           \
    txindex.h             \
    txin.h                \
    txout.h               \
    txmempool.h           \
    merkletx.h            \
    blocklocator.h        \
    qt/ntp1/issuenewntp1tokendialog.h \
    chainparamsbase.h          \
    chainparams.h              \
    consensus_params.h         \
    amount.h                   \
    crypto_highlevel.h         \
    scheduler.h

HEADERS +=                 \
    ntp1/ntp1tools.h       \
    ntp1/ntp1inpoint.h     \
    ntp1/ntp1outpoint.h    \
    ntp1/ntp1transaction.h \
    ntp1/ntp1txin.h        \
    ntp1/ntp1txout.h       \
    ntp1/ntp1tokentxdata.h \
    ntp1/ntp1apicalls.h    \
    ntp1/ntp1sendtokensonerecipientdata.h \
    ntp1/ntp1script.h      \
    ntp1/ntp1script_issuance.h \
    ntp1/ntp1script_transfer.h

SOURCES += qt/bitcoin.cpp \
    qt/bitcoingui.cpp \
    qt/transactiontablemodel.cpp \
    qt/addresstablemodel.cpp \
    qt/optionsdialog.cpp \
    qt/sendcoinsdialog.cpp \
    qt/coincontroldialog.cpp \
    qt/coincontroltreewidget.cpp \
    qt/addressbookpage.cpp \
    qt/signverifymessagedialog.cpp \
    qt/aboutdialog.cpp \
    qt/editaddressdialog.cpp \
    qt/bitcoinaddressvalidator.cpp \
    alert.cpp \
    version.cpp \
    sync.cpp \
    util.cpp \
    hash.cpp \
    netbase.cpp \
    key.cpp \
    script.cpp \
    main.cpp \
    miner.cpp \
    init.cpp \
    net.cpp \
    bloom.cpp \
    checkpoints.cpp \
    addrman.cpp \
    db.cpp \
    walletdb.cpp \
    qt/clientmodel.cpp \
    qt/guiutil.cpp \
    qt/transactionrecord.cpp \
    qt/optionsmodel.cpp \
    qt/monitoreddatamapper.cpp \
    qt/transactiondesc.cpp \
    qt/transactiondescdialog.cpp \
    qt/bitcoinstrings.cpp \
    qt/bitcoinamountfield.cpp \
    wallet.cpp \
    keystore.cpp \
    qt/transactionfilterproxy.cpp \
    qt/transactionview.cpp \
    qt/walletmodel.cpp \
    bitcoinrpc.cpp \
    rpcdump.cpp \
    rpcnet.cpp \
    rpcmining.cpp \
    rpcwallet.cpp \
    rpcblockchain.cpp \
    rpcrawtransaction.cpp \
    qt/overviewpage.cpp \
    qt/ntp1summary.cpp \
    qt/csvmodelwriter.cpp \
    crypter.cpp \
    qt/sendcoinsentry.cpp \
    qt/qvalidatedlineedit.cpp \
    qt/bitcoinunits.cpp \
    qt/qvaluecombobox.cpp \
    qt/askpassphrasedialog.cpp \
    protocol.cpp \
    qt/notificator.cpp \
    qt/qtipcserver.cpp \
    qt/rpcconsole.cpp \
    qt/ClickableLabel.cpp \
    qt/neblioupdatedialog.cpp \
    qt/messageboxwithtimer.cpp \
    noui.cpp \
    kernel.cpp \
    scrypt-arm.S \
    scrypt-x86.S \
    scrypt-x86_64.S \
    scrypt.cpp \
    pbkdf2.cpp \
    zerocoin/Accumulator.cpp \
    zerocoin/AccumulatorProofOfKnowledge.cpp \
    zerocoin/Coin.cpp \
    zerocoin/CoinSpend.cpp \
    zerocoin/Commitment.cpp \
    zerocoin/ParamGeneration.cpp \
    zerocoin/Params.cpp \
    zerocoin/SerialNumberSignatureOfKnowledge.cpp \
    zerocoin/SpendMetaData.cpp \
    neblioupdater.cpp \
    neblioversion.cpp \
    json/json_spirit_value.cpp \
    json/json_spirit_reader.cpp \
    json/json_spirit_writer.cpp \
    neblioreleaseinfo.cpp \
    zerocoin/ZeroTest.cpp \
    curltools.cpp \
    qt/ntp1/ntp1tokenlistmodel.cpp \
    qt/ntp1/ntp1tokenlistfilterproxy.cpp \
    ntp1/ntp1tokenmetadata.cpp \
    ntp1/ntp1wallet.cpp \
    qt/ntp1/ntp1tokenlistitemdelegate.cpp \
    ThreadSafeHashMap.cpp \
    ntp1/ntp1sendtokensonerecipientdata.cpp \
    qt/ntp1sendtokensfeewidget.cpp \
    ntp1/ntp1script_burn.cpp \
    ntp1/ntp1tokenminimalmetadata.cpp \
    ntp1/ntp1sendtxdata.cpp \
    NetworkForks.cpp \
    ntp1/ntp1v1_issuance_static_data.cpp \
    qt/json/AbstractTreeNode.cpp  \
    qt/json/JsonNewNodeDialog.cpp \
    qt/json/JsonTreeModel.cpp     \
    qt/json/JsonTreeNode.cpp      \
    qt/json/JsonTreeView.cpp      \
    qt/json/NTP1MetadataViewer.cpp \
    qt/ntp1/ntp1createmetadatadialog.cpp \
    qt/ntp1/ntp1metadatapairwidget.cpp \
    qt/ntp1/ntp1custommetadatawidget.cpp \
    qt/ntp1/ntp1metadatapairswidget.cpp \
    SerializationTester.cpp \
    blockindexcatalog.cpp \
    blockindex.cpp        \
    outpoint.cpp          \
    inpoint.cpp           \
    block.cpp             \
    transaction.cpp       \
    globals.cpp           \
    diskblockindex.cpp    \
    disktxpos.cpp         \
    txindex.cpp           \
    txin.cpp              \
    txout.cpp             \
    txmempool.cpp         \
    merkletx.cpp          \
    blocklocator.cpp      \
    qt/ntp1/issuenewntp1tokendialog.cpp \
    chainparamsbase.cpp                 \
    chainparams.cpp                     \
    consensus_params.cpp                \
    crypto_highlevel.cpp                \
    scheduler.cpp

SOURCES +=                   \
    ntp1/ntp1tools.cpp       \
    ntp1/ntp1inpoint.cpp     \
    ntp1/ntp1outpoint.cpp    \
    ntp1/ntp1transaction.cpp \
    ntp1/ntp1txin.cpp        \
    ntp1/ntp1txout.cpp       \
    ntp1/ntp1tokentxdata.cpp \
    ntp1/ntp1apicalls.cpp    \
    ntp1/ntp1script.cpp      \
    ntp1/ntp1script_issuance.cpp \
    ntp1/ntp1script_transfer.cpp

contains(NEBLIO_REST, 1) {
    HEADERS += nebliorest.h
    SOURCES += nebliorest.cpp
}

contains(USE_QRCODE, 1) {
HEADERS += qt/qrcodedialog.h
SOURCES += qt/qrcodedialog.cpp
FORMS += qt/forms/qrcodedialog.ui
}

# Input
DEPENDPATH += . json qt
HEADERS += qt/bitcoingui.h \
    qt/transactiontablemodel.h \
    qt/addresstablemodel.h \
    qt/optionsdialog.h \
    qt/coincontroldialog.h \
    qt/coincontroltreewidget.h \
    qt/sendcoinsdialog.h \
    qt/addressbookpage.h \
    qt/signverifymessagedialog.h \
    qt/aboutdialog.h \
    qt/editaddressdialog.h \
    qt/bitcoinaddressvalidator.h \
    alert.h \
    addrman.h \
    base58.h \
    bignum.h \
    checkpoints.h \
    compat.h \
    coincontrol.h \
    sync.h \
    util.h \
    hash.h \
    uint256.h \
    kernel.h \
    scrypt.h \
    pbkdf2.h \
    zerocoin/Accumulator.h \
    zerocoin/AccumulatorProofOfKnowledge.h \
    zerocoin/Coin.h \
    zerocoin/CoinSpend.h \
    zerocoin/Commitment.h \
    zerocoin/ParamGeneration.h \
    zerocoin/Params.h \
    zerocoin/SerialNumberSignatureOfKnowledge.h \
    zerocoin/SpendMetaData.h \
    zerocoin/ZeroTest.h \
    zerocoin/Zerocoin.h \
    serialize.h \
    main.h \
    miner.h \
    net.h \
    key.h \
    db.h \
    txdb.h \
    walletdb.h \
    script.h \
    init.h \
    hash.h \
    bloom.h \
    mruset.h \
    json/json_spirit_writer_template.h \
    json/json_spirit_writer.h \
    json/json_spirit_value.h \
    json/json_spirit_utils.h \
    json/json_spirit_stream_reader.h \
    json/json_spirit_reader_template.h \
    json/json_spirit_reader.h \
    json/json_spirit_error_position.h \
    json/json_spirit.h \
    qt/clientmodel.h \
    qt/guiutil.h \
    qt/transactionrecord.h \
    qt/guiconstants.h \
    qt/optionsmodel.h \
    qt/monitoreddatamapper.h \
    qt/transactiondesc.h \
    qt/transactiondescdialog.h \
    qt/bitcoinamountfield.h \
    wallet.h \
    keystore.h \
    qt/transactionfilterproxy.h \
    qt/transactionview.h \
    qt/walletmodel.h \
    bitcoinrpc.h \
    qt/overviewpage.h \
    qt/ui_overviewpage.h \
    qt/ui_qrcodedialog.h \
    qt/ntp1summary.h \
    qt/ui_ntp1summary.h \
    qt/ui_sendcoinsdialog.h \
    qt/ui_coincontroldialog.h \
    qt/ui_sendcoinsdialog.h \
    qt/ui_addressbookpage.h \
    qt/ui_signverifymessagedialog.h \
    qt/ui_aboutdialog.h \
    qt/ui_editaddressdialog.h \
    qt/ui_transactiondescdialog.h \
    qt/ui_sendcoinsentry.h \
    qt/ui_askpassphrasedialog.h \
    qt/ui_rpcconsole.h \
    qt/ui_optionsdialog.h \
    qt/csvmodelwriter.h \
    crypter.h \
    qt/sendcoinsentry.h \
    qt/qvalidatedlineedit.h \
    qt/bitcoinunits.h \
    qt/qvaluecombobox.h \
    qt/askpassphrasedialog.h \
    qt/neblioupdatedialog.h \
    protocol.h \
    qt/notificator.h \
    qt/qtipcserver.h \
    allocators.h \
    ui_interface.h \
    qt/rpcconsole.h \
    qt/ClickableLabel.h \
    version.h \
    netbase.h \
    clientversion.h \
    threadsafety.h \
    neblioupdater.h \
    neblioversion.h \
    neblioreleaseinfo.h \
    curltools.h \
    qt/messageboxwithtimer.h \
    qt/ntp1/ntp1tokenlistmodel.h \
    qt/ntp1/ntp1tokenlistfilterproxy.h \
    ntp1/ntp1tokenmetadata.h \
    ntp1/ntp1wallet.h \
    qt/ntp1/ntp1tokenlistitemdelegate.h \
    ThreadSafeHashMap.h \
    qt/ntp1sendtokensfeewidget.h \
    ntp1/ntp1script_burn.h \
    ntp1/ntp1tokenminimalmetadata.h \
    qt/ntp1/ntp1listelementtokendata.h \
    ntp1/ntp1sendtxdata.h \
    NetworkForks.h \
    ntp1/ntp1v1_issuance_static_data.h \
    qt/json/AbstractTreeNode.h  \
    qt/json/JsonNewNodeDialog.h \
    qt/json/JsonTreeModel.h     \
    qt/json/JsonTreeNode.h      \
    qt/json/JsonTreeView.h      \
    qt/ntp1/ntp1createmetadatadialog.h \
    qt/ntp1/ntp1metadatapairwidget.h \
    qt/ntp1/ntp1custommetadatawidget.h \
    qt/ntp1/ntp1metadatapairswidget.h \
    qt/json/NTP1MetadataViewer.h \
    SerializationTester.h \
    blockindexcatalog.h   \
    blockindex.h          \
    outpoint.h            \
    inpoint.h             \
    block.h               \
    transaction.h         \
    globals.h             \
    diskblockindex.h      \
    disktxpos.h           \
    txindex.h             \
    txin.h                \
    txout.h               \
    txmempool.h           \
    merkletx.h            \
    blocklocator.h        \
    qt/ntp1/issuenewntp1tokendialog.h \
    chainparamsbase.h          \
    chainparams.h              \
    consensus_params.h         \
    amount.h                   \
    crypto_highlevel.h

HEADERS +=                 \
    ntp1/ntp1tools.h       \
    ntp1/ntp1inpoint.h     \
    ntp1/ntp1outpoint.h    \
    ntp1/ntp1transaction.h \
    ntp1/ntp1txin.h        \
    ntp1/ntp1txout.h       \
    ntp1/ntp1tokentxdata.h \
    ntp1/ntp1apicalls.h    \
    ntp1/ntp1sendtokensonerecipientdata.h \
    ntp1/ntp1script.h      \
    ntp1/ntp1script_issuance.h \
    ntp1/ntp1script_transfer.h

SOURCES += qt/bitcoin.cpp \
    qt/bitcoingui.cpp \
    qt/transactiontablemodel.cpp \
    qt/addresstablemodel.cpp \
    qt/optionsdialog.cpp \
    qt/sendcoinsdialog.cpp \
    qt/coincontroldialog.cpp \
    qt/coincontroltreewidget.cpp \
    qt/addressbookpage.cpp \
    qt/signverifymessagedialog.cpp \
    qt/aboutdialog.cpp \
    qt/editaddressdialog.cpp \
    qt/bitcoinaddressvalidator.cpp \
    alert.cpp \
    version.cpp \
    sync.cpp \
    util.cpp \
    hash.cpp \
    netbase.cpp \
    key.cpp \
    script.cpp \
    main.cpp \
    miner.cpp \
    init.cpp \
    net.cpp \
    bloom.cpp \
    checkpoints.cpp \
    addrman.cpp \
    db.cpp \
    walletdb.cpp \
    qt/clientmodel.cpp \
    qt/guiutil.cpp \
    qt/transactionrecord.cpp \
    qt/optionsmodel.cpp \
    qt/monitoreddatamapper.cpp \
    qt/transactiondesc.cpp \
    qt/transactiondescdialog.cpp \
    qt/bitcoinstrings.cpp \
    qt/bitcoinamountfield.cpp \
    wallet.cpp \
    keystore.cpp \
    qt/transactionfilterproxy.cpp \
    qt/transactionview.cpp \
    qt/walletmodel.cpp \
    bitcoinrpc.cpp \
    rpcdump.cpp \
    rpcnet.cpp \
    rpcmining.cpp \
    rpcwallet.cpp \
    rpcblockchain.cpp \
    rpcrawtransaction.cpp \
    qt/overviewpage.cpp \
    qt/ntp1summary.cpp \
    qt/csvmodelwriter.cpp \
    crypter.cpp \
    qt/sendcoinsentry.cpp \
    qt/qvalidatedlineedit.cpp \
    qt/bitcoinunits.cpp \
    qt/qvaluecombobox.cpp \
    qt/askpassphrasedialog.cpp \
    protocol.cpp \
    qt/notificator.cpp \
    qt/qtipcserver.cpp \
    qt/rpcconsole.cpp \
    qt/ClickableLabel.cpp \
    qt/neblioupdatedialog.cpp \
    qt/messageboxwithtimer.cpp \
    noui.cpp \
    kernel.cpp \
    scrypt-arm.S \
    scrypt-x86.S \
    scrypt-x86_64.S \
    scrypt.cpp \
    pbkdf2.cpp \
    zerocoin/Accumulator.cpp \
    zerocoin/AccumulatorProofOfKnowledge.cpp \
    zerocoin/Coin.cpp \
    zerocoin/CoinSpend.cpp \
    zerocoin/Commitment.cpp \
    zerocoin/ParamGeneration.cpp \
    zerocoin/Params.cpp \
    zerocoin/SerialNumberSignatureOfKnowledge.cpp \
    zerocoin/SpendMetaData.cpp \
    neblioupdater.cpp \
    neblioversion.cpp \
    json/json_spirit_value.cpp \
    json/json_spirit_reader.cpp \
    json/json_spirit_writer.cpp \
    neblioreleaseinfo.cpp \
    zerocoin/ZeroTest.cpp \
    curltools.cpp \
    qt/ntp1/ntp1tokenlistmodel.cpp \
    qt/ntp1/ntp1tokenlistfilterproxy.cpp \
    ntp1/ntp1tokenmetadata.cpp \
    ntp1/ntp1wallet.cpp \
    qt/ntp1/ntp1tokenlistitemdelegate.cpp \
    ThreadSafeHashMap.cpp \
    ntp1/ntp1sendtokensonerecipientdata.cpp \
    qt/ntp1sendtokensfeewidget.cpp \
    ntp1/ntp1script_burn.cpp \
    ntp1/ntp1tokenminimalmetadata.cpp \
    ntp1/ntp1sendtxdata.cpp \
    NetworkForks.cpp \
    ntp1/ntp1v1_issuance_static_data.cpp \
    qt/json/AbstractTreeNode.cpp  \
    qt/json/JsonNewNodeDialog.cpp \
    qt/json/JsonTreeModel.cpp     \
    qt/json/JsonTreeNode.cpp      \
    qt/json/JsonTreeView.cpp      \
    qt/json/NTP1MetadataViewer.cpp \
    qt/ntp1/ntp1createmetadatadialog.cpp \
    qt/ntp1/ntp1metadatapairwidget.cpp \
    qt/ntp1/ntp1custommetadatawidget.cpp \
    qt/ntp1/ntp1metadatapairswidget.cpp \
    SerializationTester.cpp \
    blockindexcatalog.cpp \
    blockindex.cpp        \
    outpoint.cpp          \
    inpoint.cpp           \
    block.cpp             \
    transaction.cpp       \
    globals.cpp           \
    diskblockindex.cpp    \
    disktxpos.cpp         \
    txindex.cpp           \
    txin.cpp              \
    txout.cpp             \
    txmempool.cpp         \
    merkletx.cpp          \
    blocklocator.cpp      \
    qt/ntp1/issuenewntp1tokendialog.cpp \
    chainparamsbase.cpp                 \
    chainparams.cpp                     \
    consensus_params.cpp                \
    crypto_highlevel.cpp

SOURCES +=                   \
    ntp1/ntp1tools.cpp       \
    ntp1/ntp1inpoint.cpp     \
    ntp1/ntp1outpoint.cpp    \
    ntp1/ntp1transaction.cpp \
    ntp1/ntp1txin.cpp        \
    ntp1/ntp1txout.cpp       \
    ntp1/ntp1tokentxdata.cpp \
    ntp1/ntp1apicalls.cpp    \
    ntp1/ntp1script.cpp      \
    ntp1/ntp1script_issuance.cpp \
    ntp1/ntp1script_transfer.cpp

contains(NEBLIO_REST, 1) {
    HEADERS += nebliorest.h
    SOURCES += nebliorest.cpp
}

contains(USE_QRCODE, 1) {
HEADERS += qt/qrcodedialog.h
SOURCES += qt/qrcodedialog.cpp
FORMS += qt/forms/qrcodedialog.ui
}


Use custom plist

Use custom plist

VERSION = $$cat(version.txt)

PRODUCT_VERSION = $$(PRODUCT_VERSION)
BUILD_NUMBER = $$(BUILD_NUMBER)

!isEmpty(PRODUCT_VERSION){
    !isEmpty(BUILD_NUMBER){
        VERSION = $${PRODUCT_VERSION}.$${BUILD_NUMBER}
	}
}

DEFINES += INTVER=$$VERSION

PUBLISHER_NAME = $$(PUBLISHER_NAME)
isEmpty(PUBLISHER_NAME){
    PUBLISHER_NAME = $$cat(copyright.txt)
}

win32 {
    CURRENT_YEAR = $$system("echo %Date:~6,4%")
}

!win32 {
    CURRENT_YEAR = $$system(date +%Y)
}

QMAKE_TARGET_COMPANY = $$PUBLISHER_NAME
QMAKE_TARGET_COPYRIGHT = Copyright (C) $${PUBLISHER_NAME} $${CURRENT_YEAR}. All rights reserved

# CONFIGURATION
CONFIG(debug, debug|release) {
    CONFIG += core_debug
} else {
    CONFIG += core_release
}

not_use_dynamic_libs {
shared {
    CONFIG -= shared
    CONFIG -= plugin
    CONFIG += staticlib
}
}

#PLATFORM
win32 {
    CONFIG += core_windows

    WINDOWS_VERSION_XP = $$(WINDOWS_VERSION_XP)
    !isEmpty(WINDOWS_VERSION_XP) {
        CONFIG += build_xp
        message(xp using)
    }
}

DST_ARCH=$$QMAKE_TARGET.arch
isEqual(QT_MAJOR_VERSION, 5) {
    DST_ARCH=$$QT_ARCH
    # QT_ARCH uses 'i386' instead of 'x86',
    # so map that value back to what we expect.
    equals(DST_ARCH, i386) {
        DST_ARCH=x86
    }
}

ios {
    CONFIG += core_ios
    DEFINES += _IOS IOS LINUX _LINUX _MAC _XCODE
}
android {
    CONFIG += core_android
    DEFINES += __ANDROID__ LINUX _LINUX
}

win32:contains(QMAKE_TARGET.arch, x86_64): {
    CONFIG += core_win_64
}
win32:!contains(QMAKE_TARGET.arch, x86_64): {
    CONFIG += core_win_32
}

linux-g++ {
    CONFIG += core_linux
linux-g++:contains(QMAKE_HOST.arch, x86_64): {
    message("linux-64")
    CONFIG += core_linux_64
}
linux-g++:!contains(QMAKE_HOST.arch, x86_64): {
    message("linux-32")
    CONFIG += core_linux_32
}
linux-g++:contains(DST_ARCH, arm): {
    message("arm")
    CONFIG += core_linux_arm
    DEFINES += LINUX_ARM
}
}

linux-g++-64 {
    message("linux-64")
    CONFIG += core_linux
    CONFIG += core_linux_64
}
linux-g++-32 {
    message("linux-32")
    CONFIG += core_linux
    CONFIG += core_linux_32
}

mac {
    !core_ios {
        CONFIG += core_mac
        CONFIG += core_mac_64
    }
}

# DEFINES
core_windows {
    DEFINES += WIN32 _WIN32
    DEFINES += NOMINMAX
}
core_win_64 {
    DEFINES += WIN64 _WIN64
}

core_linux {
    DEFINES += LINUX _LINUX
}

core_mac {
    DEFINES += LINUX _LINUX MAC _MAC
    QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.11
}

# PREFIXES
core_windows {
    CONFIG -= debug_and_release debug_and_release_target
    QMAKE_CXXFLAGS_RELEASE -= -Zc:strictStrings
    QMAKE_CXXFLAGS -= -Zc:strictStrings
    QMAKE_CXXFLAGS += /MP
}

core_win_32 {
    CORE_BUILDS_PLATFORM_PREFIX = win_32
}
core_win_64 {
    CORE_BUILDS_PLATFORM_PREFIX = win_64
}
core_linux_32 {
    CORE_BUILDS_PLATFORM_PREFIX = linux_32
}
core_linux_64 {
    CORE_BUILDS_PLATFORM_PREFIX = linux_64
}
core_mac_64 {
    CORE_BUILDS_PLATFORM_PREFIX = mac_64
}
core_linux_arm {
    CORE_BUILDS_PLATFORM_PREFIX = arm
}
core_ios {
    CORE_BUILDS_PLATFORM_PREFIX = ios

    CONFIG(iphonesimulator, iphoneos|iphonesimulator): {
        message("iphonesimulator")
        CORE_BUILDS_PLATFORM_PREFIX = ios_simulator
    } else {

        QMAKE_IOS_DEPLOYMENT_TARGET = 10.0
        CONFIG += core_ios_main_arch

        QMAKE_CFLAGS += -fembed-bitcode
        QMAKE_CXXFLAGS += -fembed-bitcode
        QMAKE_LFLAGS += -fembed-bitcode

        core_ios_main_arch {
            QMAKE_APPLE_DEVICE_ARCHS = arm64
            core_ios_no_simulator_arch : QMAKE_APPLE_SIMULATOR_ARCHS=

            !core_ios_no_32 {
                QMAKE_APPLE_DEVICE_ARCHS = $$QMAKE_APPLE_DEVICE_ARCHS armv7
            }
        } else {
            plugin : TARGET = $$join(TARGET, TARGET, "", "_addition")
            QMAKE_APPLE_DEVICE_ARCHS=
            QMAKE_APPLE_SIMULATOR_ARCHS=
        }

        core_ios_nomain_arch {
            QMAKE_APPLE_DEVICE_ARCHS = $$QMAKE_APPLE_DEVICE_ARCHS arm64e
            !core_ios_no_32 {
                QMAKE_APPLE_DEVICE_ARCHS = $$QMAKE_APPLE_DEVICE_ARCHS armv7s
            }
        }

        !no_verify_bitcode {
            # for application: (using xcodebuild)
            #Q_ENABLE_BITCODE.name = ENABLE_BITCODE
            #Q_ENABLE_BITCODE.value = NO
            #
            #Q_BITCODE_GENERATION_MODE.name = BITCODE_GENERATION_MODE
            #Q_BITCODE_GENERATION_MODE.value = marker
            #
            #QMAKE_MAC_XCODE_SETTINGS += Q_ENABLE_BITCODE
            #QMAKE_MAC_XCODE_SETTINGS += Q_BITCODE_GENERATION_MODE

            # for libraries§
            QMAKE_LFLAGS += -Xlinker -bitcode_verify
            QMAKE_LFLAGS += -Xlinker -bitcode_hide_symbols
            #QMAKE_LFLAGS += -Xlinker -bitcode_symbol_map -Xlinker $$CORE_BUILDS_LIBRARIES_PATH
        }
    }

    !core_ios_no_unistd {
        DEFINES += HAVE_UNISTD_H
    }
}
core_android {
    equals(QT_ARCH, arm): CORE_BUILDS_PLATFORM_PREFIX = android_arm
    equals(QT_ARCH, i386): CORE_BUILDS_PLATFORM_PREFIX = android_x86
}

core_debug {
    CORE_BUILDS_CONFIGURATION_PREFIX    = debug
}
core_release {
    CORE_BUILDS_CONFIGURATION_PREFIX    = release
}

# MESSAGE
message($$CORE_BUILDS_PLATFORM_PREFIX/$$CORE_BUILDS_CONFIGURATION_PREFIX)

# COMPILER
CONFIG += c++11

core_linux {
core_static_link_libstd {
    QMAKE_LFLAGS += -static-libstdc++ -static-libgcc
    message(core_static_link_libstd)
}
plugin {
    QMAKE_CXXFLAGS += -fvisibility=hidden
    QMAKE_CFLAGS += -fvisibility=hidden

    TARGET_EXT = .so
}
}

core_mac {
plugin {
    QMAKE_CXXFLAGS += -fvisibility=hidden
    QMAKE_CFLAGS += -fvisibility=hidden
}
}

core_windows {
plugin {
    TARGET_EXT = .dll
}
}

# BUILD_PATHS
# MUST BE DEFINED CORE_ROOT_DIR
!core_no_dst {
DESTDIR     = $$PWD_ROOT_DIR/core_build/$$CORE_BUILDS_PLATFORM_PREFIX/$$CORE_BUILDS_CONFIGURATION_PREFIX
OBJECTS_DIR = $$PWD_ROOT_DIR/core_build/$$CORE_BUILDS_PLATFORM_PREFIX/$$CORE_BUILDS_CONFIGURATION_PREFIX/obj
MOC_DIR     = $$PWD_ROOT_DIR/core_build/$$CORE_BUILDS_PLATFORM_PREFIX/$$CORE_BUILDS_CONFIGURATION_PREFIX/moc
RCC_DIR     = $$PWD_ROOT_DIR/core_build/$$CORE_BUILDS_PLATFORM_PREFIX/$$CORE_BUILDS_CONFIGURATION_PREFIX/rcc
UI_DIR      = $$PWD_ROOT_DIR/core_build/$$CORE_BUILDS_PLATFORM_PREFIX/$$CORE_BUILDS_CONFIGURATION_PREFIX/ui
}

CORE_BUILDS_LIBRARIES_PATH = $$CORE_ROOT_DIR/build/lib/$$CORE_BUILDS_PLATFORM_PREFIX
CORE_BUILDS_BINARY_PATH = $$CORE_ROOT_DIR/build/bin/$$CORE_BUILDS_PLATFORM_PREFIX

OO_BUILD_BRANDING = $$(OO_BRANDING)
!isEmpty(OO_BUILD_BRANDING) {
    CORE_BUILDS_LIBRARIES_PATH = $$CORE_ROOT_DIR/build/$$OO_BUILD_BRANDING/lib/$$CORE_BUILDS_PLATFORM_PREFIX
    CORE_BUILDS_BINARY_PATH = $$CORE_ROOT_DIR/build/$$OO_BUILD_BRANDING/bin/$$CORE_BUILDS_PLATFORM_PREFIX
}

core_debug {
    CORE_BUILDS_LIBRARIES_PATH = $$CORE_BUILDS_LIBRARIES_PATH/debug
    CORE_BUILDS_BINARY_PATH = $$CORE_BUILDS_BINARY_PATH/debug
}

plugin {
    DESTDIR = $$CORE_BUILDS_LIBRARIES_PATH
}
staticlib {
    DESTDIR = $$CORE_BUILDS_LIBRARIES_PATH
}

core_x2t {
core_windows {
    QMAKE_CXXFLAGS += /bigobj
} else {
    QMAKE_CXXFLAGS += -Wall -Wno-ignored-qualifiers
}

DEFINES += CRYPTOPP_DISABLE_ASM
}

core_ios {
    bundle_dylibs {
        plugin {
            CONFIG -= plugin
            CONFIG += lib_bundle

            QMAKE_LFLAGS_SONAME = -Wl,-install_name,@rpath/
            #QMAKE_LFLAGS += -Xlinker -rpath -Xlinker @executable_path/Frameworks
            #QMAKE_LFLAGS += -Xlinker -rpath -Xlinker @loader_path/Frameworks

            # correct version to < 256
            VERSIONS = $$split(VERSION, ".")
            VERSION_1 = $$member(VERSIONS, 0)
            VERSION_2 = $$member(VERSIONS, 1)
            VERSION_3 = $$member(VERSIONS, 2)
            VERSION_4 = $$member(VERSIONS, 3)

            greaterThan(VERSION_1, 255): VERSION_1 = 255
            greaterThan(VERSION_2, 255): VERSION_2 = 255
            greaterThan(VERSION_3, 255): VERSION_3 = 255
            greaterThan(VERSION_4, 255): VERSION_4 = 255

            VERSION_CORRECT = $$VERSION_1
            VERSION_CORRECT = $$join(VERSION_CORRECT, "", "", ".")
            VERSION_CORRECT = $$join(VERSION_CORRECT, "", "", $$VERSION_2)
            VERSION_CORRECT = $$join(VERSION_CORRECT, "", "", ".")
            VERSION_CORRECT = $$join(VERSION_CORRECT, "", "", $$VERSION_3)
            VERSION_CORRECT = $$join(VERSION_CORRECT, "", "", ".")
            VERSION_CORRECT = $$join(VERSION_CORRECT, "", "", $$VERSION_4)

            VERSION = $$VERSION_CORRECT

            exists($$PWD_ROOT_DIR/Info.plist) {
                QMAKE_INFO_PLIST = $$PWD_ROOT_DIR/Info.plist
            }
        }
    }
}

defineTest(ADD_DEPENDENCY) {
    libs = $$ARGS
    for(lib, libs) {
        CORE_BUILDS_LIBRARIES_PATH_DST=$$CORE_BUILDS_LIBRARIES_PATH
        build_xp {
            isEqual(lib, doctrenderer):CORE_BUILDS_LIBRARIES_PATH_DST=$$CORE_BUILDS_LIBRARIES_PATH/xp
        }
        !bundle_dylibs:LIBS += -L$$CORE_BUILDS_LIBRARIES_PATH_DST -l$$lib
        bundle_dylibs:LIBS += -F$$CORE_BUILDS_LIBRARIES_PATH_DST -framework $$lib
    }
    export(LIBS)
}

VERSION = $$cat(version.txt)

PRODUCT_VERSION = $$(PRODUCT_VERSION)
BUILD_NUMBER = $$(BUILD_NUMBER)

!isEmpty(PRODUCT_VERSION){
    !isEmpty(BUILD_NUMBER){
        VERSION = $${PRODUCT_VERSION}.$${BUILD_NUMBER}
	}
}

DEFINES += INTVER=$$VERSION

PUBLISHER_NAME = $$(PUBLISHER_NAME)
isEmpty(PUBLISHER_NAME){
    PUBLISHER_NAME = $$cat(copyright.txt)
}

win32 {
    CURRENT_YEAR = $$system("echo %Date:~6,4%")
}

!win32 {
    CURRENT_YEAR = $$system(date +%Y)
}

QMAKE_TARGET_COMPANY = $$PUBLISHER_NAME
QMAKE_TARGET_COPYRIGHT = Copyright (C) $${PUBLISHER_NAME} $${CURRENT_YEAR}. All rights reserved

# CONFIGURATION
CONFIG(debug, debug|release) {
    CONFIG += core_debug
} else {
    CONFIG += core_release
}

not_use_dynamic_libs {
shared {
    CONFIG -= shared
    CONFIG -= plugin
    CONFIG += staticlib
}
}

#PLATFORM
win32 {
    CONFIG += core_windows

    WINDOWS_VERSION_XP = $$(WINDOWS_VERSION_XP)
    !isEmpty(WINDOWS_VERSION_XP) {
        CONFIG += build_xp
        message(xp using)
    }
}

DST_ARCH=$$QMAKE_TARGET.arch
isEqual(QT_MAJOR_VERSION, 5) {
    DST_ARCH=$$QT_ARCH
    # QT_ARCH uses 'i386' instead of 'x86',
    # so map that value back to what we expect.
    equals(DST_ARCH, i386) {
        DST_ARCH=x86
    }
}

ios {
    CONFIG += core_ios
    DEFINES += _IOS IOS LINUX _LINUX _MAC _XCODE
}
android {
    CONFIG += core_android
    DEFINES += __ANDROID__ LINUX _LINUX
}

win32:contains(QMAKE_TARGET.arch, x86_64): {
    CONFIG += core_win_64
}
win32:!contains(QMAKE_TARGET.arch, x86_64): {
    CONFIG += core_win_32
}

linux-g++ {
    CONFIG += core_linux
linux-g++:contains(QMAKE_HOST.arch, x86_64): {
    message("linux-64")
    CONFIG += core_linux_64
}
linux-g++:!contains(QMAKE_HOST.arch, x86_64): {
    message("linux-32")
    CONFIG += core_linux_32
}
linux-g++:contains(DST_ARCH, arm): {
    message("arm")
    CONFIG += core_linux_arm
    DEFINES += LINUX_ARM
}
}

linux-g++-64 {
    message("linux-64")
    CONFIG += core_linux
    CONFIG += core_linux_64
}
linux-g++-32 {
    message("linux-32")
    CONFIG += core_linux
    CONFIG += core_linux_32
}

mac {
    !core_ios {
        CONFIG += core_mac
        CONFIG += core_mac_64
    }
}

# DEFINES
core_windows {
    DEFINES += WIN32 _WIN32
    DEFINES += NOMINMAX
}
core_win_64 {
    DEFINES += WIN64 _WIN64
}

core_linux {
    DEFINES += LINUX _LINUX
}

core_mac {
    DEFINES += LINUX _LINUX MAC _MAC
    QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.11
}

# PREFIXES
core_windows {
    CONFIG -= debug_and_release debug_and_release_target
    QMAKE_CXXFLAGS_RELEASE -= -Zc:strictStrings
    QMAKE_CXXFLAGS -= -Zc:strictStrings
    QMAKE_CXXFLAGS += /MP
}

core_win_32 {
    CORE_BUILDS_PLATFORM_PREFIX = win_32
}
core_win_64 {
    CORE_BUILDS_PLATFORM_PREFIX = win_64
}
core_linux_32 {
    CORE_BUILDS_PLATFORM_PREFIX = linux_32
}
core_linux_64 {
    CORE_BUILDS_PLATFORM_PREFIX = linux_64
}
core_mac_64 {
    CORE_BUILDS_PLATFORM_PREFIX = mac_64
}
core_linux_arm {
    CORE_BUILDS_PLATFORM_PREFIX = arm
}
core_ios {
    CORE_BUILDS_PLATFORM_PREFIX = ios

    CONFIG(iphonesimulator, iphoneos|iphonesimulator): {
        message("iphonesimulator")
        CORE_BUILDS_PLATFORM_PREFIX = ios_simulator
    } else {

        QMAKE_IOS_DEPLOYMENT_TARGET = 10.0
        CONFIG += core_ios_main_arch

        QMAKE_CFLAGS += -fembed-bitcode
        QMAKE_CXXFLAGS += -fembed-bitcode
        QMAKE_LFLAGS += -fembed-bitcode

        core_ios_main_arch {
            QMAKE_APPLE_DEVICE_ARCHS = arm64
            core_ios_no_simulator_arch : QMAKE_APPLE_SIMULATOR_ARCHS=

            !core_ios_no_32 {
                QMAKE_APPLE_DEVICE_ARCHS = $$QMAKE_APPLE_DEVICE_ARCHS armv7
            }
        } else {
            plugin : TARGET = $$join(TARGET, TARGET, "", "_addition")
            QMAKE_APPLE_DEVICE_ARCHS=
            QMAKE_APPLE_SIMULATOR_ARCHS=
        }

        core_ios_nomain_arch {
            QMAKE_APPLE_DEVICE_ARCHS = $$QMAKE_APPLE_DEVICE_ARCHS arm64e
            !core_ios_no_32 {
                QMAKE_APPLE_DEVICE_ARCHS = $$QMAKE_APPLE_DEVICE_ARCHS armv7s
            }
        }

        !no_verify_bitcode {
            # for application: (using xcodebuild)
            #Q_ENABLE_BITCODE.name = ENABLE_BITCODE
            #Q_ENABLE_BITCODE.value = NO
            #
            #Q_BITCODE_GENERATION_MODE.name = BITCODE_GENERATION_MODE
            #Q_BITCODE_GENERATION_MODE.value = marker
            #
            #QMAKE_MAC_XCODE_SETTINGS += Q_ENABLE_BITCODE
            #QMAKE_MAC_XCODE_SETTINGS += Q_BITCODE_GENERATION_MODE

            # for libraries§
            QMAKE_LFLAGS += -Xlinker -bitcode_verify
            QMAKE_LFLAGS += -Xlinker -bitcode_hide_symbols
            #QMAKE_LFLAGS += -Xlinker -bitcode_symbol_map -Xlinker $$CORE_BUILDS_LIBRARIES_PATH
        }
    }

    !core_ios_no_unistd {
        DEFINES += HAVE_UNISTD_H
    }
}
core_android {
    equals(QT_ARCH, arm): CORE_BUILDS_PLATFORM_PREFIX = android_arm
    equals(QT_ARCH, i386): CORE_BUILDS_PLATFORM_PREFIX = android_x86
}

core_debug {
    CORE_BUILDS_CONFIGURATION_PREFIX    = debug
}
core_release {
    CORE_BUILDS_CONFIGURATION_PREFIX    = release
}

# MESSAGE
message($$CORE_BUILDS_PLATFORM_PREFIX/$$CORE_BUILDS_CONFIGURATION_PREFIX)

# COMPILER
CONFIG += c++11

core_linux {
core_static_link_libstd {
    QMAKE_LFLAGS += -static-libstdc++ -static-libgcc
    message(core_static_link_libstd)
}
plugin {
    QMAKE_CXXFLAGS += -fvisibility=hidden
    QMAKE_CFLAGS += -fvisibility=hidden

    TARGET_EXT = .so
}
}

core_mac {
plugin {
    QMAKE_CXXFLAGS += -fvisibility=hidden
    QMAKE_CFLAGS += -fvisibility=hidden
}
}

core_windows {
plugin {
    TARGET_EXT = .dll
}
}

# BUILD_PATHS
# MUST BE DEFINED CORE_ROOT_DIR
!core_no_dst {
DESTDIR     = $$PWD_ROOT_DIR/core_build/$$CORE_BUILDS_PLATFORM_PREFIX/$$CORE_BUILDS_CONFIGURATION_PREFIX
OBJECTS_DIR = $$PWD_ROOT_DIR/core_build/$$CORE_BUILDS_PLATFORM_PREFIX/$$CORE_BUILDS_CONFIGURATION_PREFIX/obj
MOC_DIR     = $$PWD_ROOT_DIR/core_build/$$CORE_BUILDS_PLATFORM_PREFIX/$$CORE_BUILDS_CONFIGURATION_PREFIX/moc
RCC_DIR     = $$PWD_ROOT_DIR/core_build/$$CORE_BUILDS_PLATFORM_PREFIX/$$CORE_BUILDS_CONFIGURATION_PREFIX/rcc
UI_DIR      = $$PWD_ROOT_DIR/core_build/$$CORE_BUILDS_PLATFORM_PREFIX/$$CORE_BUILDS_CONFIGURATION_PREFIX/ui
}

CORE_BUILDS_LIBRARIES_PATH = $$CORE_ROOT_DIR/build/lib/$$CORE_BUILDS_PLATFORM_PREFIX
CORE_BUILDS_BINARY_PATH = $$CORE_ROOT_DIR/build/bin/$$CORE_BUILDS_PLATFORM_PREFIX

OO_BUILD_BRANDING = $$(OO_BRANDING)
!isEmpty(OO_BUILD_BRANDING) {
    CORE_BUILDS_LIBRARIES_PATH = $$CORE_ROOT_DIR/build/$$OO_BUILD_BRANDING/lib/$$CORE_BUILDS_PLATFORM_PREFIX
    CORE_BUILDS_BINARY_PATH = $$CORE_ROOT_DIR/build/$$OO_BUILD_BRANDING/bin/$$CORE_BUILDS_PLATFORM_PREFIX
}

core_debug {
    CORE_BUILDS_LIBRARIES_PATH = $$CORE_BUILDS_LIBRARIES_PATH/debug
    CORE_BUILDS_BINARY_PATH = $$CORE_BUILDS_BINARY_PATH/debug
}

plugin {
    DESTDIR = $$CORE_BUILDS_LIBRARIES_PATH
}
staticlib {
    DESTDIR = $$CORE_BUILDS_LIBRARIES_PATH
}

core_x2t {
core_windows {
    QMAKE_CXXFLAGS += /bigobj
} else {
    QMAKE_CXXFLAGS += -Wall -Wno-ignored-qualifiers
}

DEFINES += CRYPTOPP_DISABLE_ASM
}

core_ios {
    bundle_dylibs {
        plugin {
            CONFIG -= plugin
            CONFIG += lib_bundle

            QMAKE_LFLAGS_SONAME = -Wl,-install_name,@rpath/
            #QMAKE_LFLAGS += -Xlinker -rpath -Xlinker @executable_path/Frameworks
            #QMAKE_LFLAGS += -Xlinker -rpath -Xlinker @loader_path/Frameworks

            # correct version to < 256
            VERSIONS = $$split(VERSION, ".")
            VERSION_1 = $$member(VERSIONS, 0)
            VERSION_2 = $$member(VERSIONS, 1)
            VERSION_3 = $$member(VERSIONS, 2)
            VERSION_4 = $$member(VERSIONS, 3)

            greaterThan(VERSION_1, 255): VERSION_1 = 255
            greaterThan(VERSION_2, 255): VERSION_2 = 255
            greaterThan(VERSION_3, 255): VERSION_3 = 255
            greaterThan(VERSION_4, 255): VERSION_4 = 255

            VERSION_CORRECT = $$VERSION_1
            VERSION_CORRECT = $$join(VERSION_CORRECT, "", "", ".")
            VERSION_CORRECT = $$join(VERSION_CORRECT, "", "", $$VERSION_2)
            VERSION_CORRECT = $$join(VERSION_CORRECT, "", "", ".")
            VERSION_CORRECT = $$join(VERSION_CORRECT, "", "", $$VERSION_3)
            VERSION_CORRECT = $$join(VERSION_CORRECT, "", "", ".")
            VERSION_CORRECT = $$join(VERSION_CORRECT, "", "", $$VERSION_4)

            VERSION = $$VERSION_CORRECT
        }
    }
}

defineTest(ADD_DEPENDENCY) {
    libs = $$ARGS
    for(lib, libs) {
        CORE_BUILDS_LIBRARIES_PATH_DST=$$CORE_BUILDS_LIBRARIES_PATH
        build_xp {
            isEqual(lib, doctrenderer):CORE_BUILDS_LIBRARIES_PATH_DST=$$CORE_BUILDS_LIBRARIES_PATH/xp
        }
        !bundle_dylibs:LIBS += -L$$CORE_BUILDS_LIBRARIES_PATH_DST -l$$lib
        bundle_dylibs:LIBS += -F$$CORE_BUILDS_LIBRARIES_PATH_DST -framework $$lib
    }
    export(LIBS)
}


text

text

Former-commit-id: b1ba17d22b4891a4cb9cf12b0e1643945da7981a
Former-commit-id: a2c8f598a50e463127605c96243b328df7e79d3a


Clean code[612101]

Clean code[612101]

# =================================================
# * This file is part of the TTK Music Player project
# * Copyright (C) 2015 - 2018 Greedysky Studio
#
# * This program is free software; you can redistribute it and/or modify
# * it under the terms of the GNU General Public License as published by
# * the Free Software Foundation; either version 3 of the License, or
# * (at your option) any later version.
#
# * This program is distributed in the hope that it will be useful,
# * but WITHOUT ANY WARRANTY; without even the implied warranty of
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# * GNU General Public License for more details.
#
# * You should have received a copy of the GNU General Public License along
# * with this program; If not, see <http://www.gnu.org/licenses/>.
# =================================================

INCLUDEPATH += $$PWD \
               $$PWD/radio/fm \
               $$PWD/radio/dj \
               $$PWD/radio/mv \
               $$PWD/nr \
               $$PWD/wy \
               $$PWD/xm \
               $$PWD/kg \
               $$PWD/kw \
               $$PWD/bd \
               $$PWD/qq \
               $$PWD/yyt \
               $$PWD/ztl

!contains(CONFIG, MUSIC_NO_MSVC_LINK_NEED){
HEADERS  += \
    $$PWD/radio/fm/musicradiochannelthread.h \
    $$PWD/radio/fm/musicradioplaylistthread.h \
    $$PWD/radio/fm/musicradiosongsthread.h \
    $$PWD/radio/fm/musicradiothreadabstract.h \
    $$PWD/radio/dj/musicdjradiocategorythread.h \
    $$PWD/radio/dj/musicdjradioprogramthread.h \
    $$PWD/radio/dj/musicdjradioprogramcategorythread.h \
    $$PWD/radio/dj/musicdjradiothreadabstract.h \
    $$PWD/radio/mv/musicmvradiocategorythread.h \
    $$PWD/radio/mv/musicmvradioprogramthread.h \
    $$PWD/radio/mv/musicmvradiothreadabstract.h \
    $$PWD/nr/musicdatadownloadthread.h \
    $$PWD/nr/musictextdownloadthread.h \
    $$PWD/nr/musicdatatagdownloadthread.h \
    $$PWD/wy/musicdownloadwyinterface.h \
    $$PWD/wy/musicdownloadquerywythread.h \
    $$PWD/wy/musicwytextdownloadthread.h \
    $$PWD/wy/musicwydiscoverlistthread.h \
    $$PWD/wy/musicdownloadquerywyalbumthread.h \
    $$PWD/wy/musicdownloadquerywyartistthread.h \
    $$PWD/wy/musicdownloadquerywyplaylistthread.h \
    $$PWD/wy/musicdownloadquerywytoplistthread.h \
    $$PWD/wy/musicdownloadquerywymoviethread.h \
    $$PWD/wy/musicdownloadquerywyrecommendthread.h \
    $$PWD/wy/musicdownloadquerywyartistlistthread.h \
    $$PWD/wy/musicwycommentsthread.h \
    $$PWD/wy/musicwyartistsimilarthread.h \
    $$PWD/wy/musicwysongsuggestthread.h \
    $$PWD/wy/musicwytranslationthread.h \
    $$PWD/wy/musicwyauthenticationthread.h \
    $$PWD/xm/musicdownloadxminterface.h \
    $$PWD/xm/musicdownloadqueryxmthread.h \
    $$PWD/xm/musicdownloadqueryxmalbumthread.h \
    $$PWD/xm/musicdownloadqueryxmartistthread.h \
    $$PWD/xm/musicxmtextdownloadthread.h \
    $$PWD/xm/musicdownloadqueryxmplaylistthread.h \
    $$PWD/xm/musicdownloadqueryxmtoplistthread.h \
    $$PWD/xm/musicdownloadqueryxmmoviethread.h \
    $$PWD/xm/musicdownloadqueryxmrecommendthread.h \
    $$PWD/xm/musicdownloadqueryxmartistlistthread.h \
    $$PWD/xm/musicxmdiscoverlistthread.h \
    $$PWD/xm/musicxmcommentsthread.h \
    $$PWD/xm/musicxmsongsuggestthread.h \
    $$PWD/xm/musicxmartistsimilarthread.h \
    $$PWD/kg/musicdownloadquerykgthread.h \
    $$PWD/kg/musicdownloadquerykgalbumthread.h \
    $$PWD/kg/musicdownloadquerykgartistthread.h \
    $$PWD/kg/musicdownloadkginterface.h \
    $$PWD/kg/musicdownloadquerykgplaylistthread.h \
    $$PWD/kg/musicdownloadquerykgtoplistthread.h \
    $$PWD/kg/musicdownloadquerykgmoviethread.h \
    $$PWD/kg/musicdownloadquerykgrecommendthread.h \
    $$PWD/kg/musicdownloadquerykgartistlistthread.h \
    $$PWD/kg/musickgdiscoverlistthread.h \
    $$PWD/kg/musickgcommentsthread.h \
    $$PWD/kg/musickgsongsuggestthread.h \
    $$PWD/kg/musickgartistsimilarthread.h \
    $$PWD/kw/musicdownloadquerykwthread.h \
    $$PWD/kw/musicdownloadquerykwalbumthread.h \
    $$PWD/kw/musicdownloadquerykwartistthread.h \
    $$PWD/kw/musicdownloadkwinterface.h \
    $$PWD/kw/musickwtextdownloadthread.h \
    $$PWD/kw/musicdownloadquerykwplaylistthread.h \
    $$PWD/kw/musicdownloadquerykwtoplistthread.h \
    $$PWD/kw/musicdownloadquerykwmoviethread.h \
    $$PWD/kw/musicdownloadquerykwrecommendthread.h \
    $$PWD/kw/musicdownloadquerykwartistlistthread.h \
    $$PWD/kw/musickwdiscoverlistthread.h \
    $$PWD/kw/musickwcommentsthread.h \
    $$PWD/kw/musickwbackgroundthread.h \
    $$PWD/kw/musickwsongsuggestthread.h \
    $$PWD/kw/musickwartistsimilarthread.h \
    $$PWD/bd/musicdownloadquerybdthread.h \
    $$PWD/bd/musicdownloadquerybdalbumthread.h \
    $$PWD/bd/musicdownloadquerybdartistthread.h \
    $$PWD/bd/musicdownloadbdinterface.h \
    $$PWD/bd/musicdownloadquerybdplaylistthread.h \
    $$PWD/bd/musicdownloadquerybdlearnthread.h \
    $$PWD/bd/musicdownloadquerybdtoplistthread.h \
    $$PWD/bd/musicdownloadquerybdmoviethread.h \
    $$PWD/bd/musicdownloadquerybdrecommendthread.h \
    $$PWD/bd/musicdownloadquerybdartistlistthread.h \
    $$PWD/bd/musicbddiscoverlistthread.h \
    $$PWD/bd/musicbdcommentsthread.h \
    $$PWD/bd/musicbdsongsuggestthread.h \
    $$PWD/bd/musicbdartistsimilarthread.h \
    $$PWD/qq/musicdownloadqueryqqthread.h \
    $$PWD/qq/musicdownloadqueryqqalbumthread.h \
    $$PWD/qq/musicdownloadqueryqqartistthread.h \
    $$PWD/qq/musicdownloadqqinterface.h \
    $$PWD/qq/musicqqtextdownloadthread.h \
    $$PWD/qq/musicdownloadqueryqqplaylistthread.h \
    $$PWD/qq/musicdownloadqueryqqtoplistthread.h \
    $$PWD/qq/musicdownloadqueryqqmoviethread.h \
    $$PWD/qq/musicdownloadqueryqqrecommendthread.h \
    $$PWD/qq/musicdownloadqueryqqartistlistthread.h \
    $$PWD/qq/musicqqdiscoverlistthread.h \
    $$PWD/qq/musicqqcommentsthread.h \
    $$PWD/qq/musicqqbackgroundthread.h \
    $$PWD/qq/musicqqsongsuggestthread.h \
    $$PWD/qq/musicqqartistsimilarthread.h \
    $$PWD/yyt/musicdownloadqueryyytthread.h \
    $$PWD/ztl/musicdownloadsourcethread.h \
    $$PWD/ztl/musicnetworkthread.h \
    $$PWD/ztl/musicnetworkproxy.h \
    $$PWD/ztl/musicnetworkoperator.h \
    $$PWD/ztl/musicdownloadbackgroundthread.h \
    $$PWD/ztl/musicdownloadqueuecache.h \
    $$PWD/ztl/musictranslationthread.h \
    $$PWD/ztl/musicvoicettsthread.h \
    $$PWD/ztl/musicidentifysongsthread.h \
    $$PWD/ztl/musicsourceupdatethread.h \
    $$PWD/ztl/musicdownloadcounterpvthread.h \
    $$PWD/ztl/musicdownloadbackgroundremotethread.h \
    $$PWD/ztl/musictranslationthreadabstract.h \
    $$PWD/ztl/musicauthenticationthread.h \
    $$PWD/musicnetworkdefines.h \
    $$PWD/musicnetworkabstract.h \
    $$PWD/musicdownloadthreadabstract.h \
    $$PWD/musicdownloadqueryfactory.h \
    $$PWD/musicdownloadquerythreadabstract.h \
    $$PWD/musicdownloadcommentsthread.h \
    $$PWD/musicdownloaddiscoverlistthread.h \
    $$PWD/musicdownloadpagingthread.h \
    $$PWD/musicdownloadqueryalbumthread.h \
    $$PWD/musicdownloadqueryartistthread.h \
    $$PWD/musicdownloadqueryplaylistthread.h \
    $$PWD/musicdownloadquerytoplistthread.h \
    $$PWD/musicdownloadqueryrecommendthread.h \
    $$PWD/musicdownloadquerymoviethread.h \
    $$PWD/musicdownloadsongsuggestthread.h \
    $$PWD/musicdownloadsimilarthread.h \
    $$PWD/musicdownloadqueryartistlistthread.h \
    $$PWD/musicdownloadmanager.h

}

contains(CONFIG, MUSIC_BUILD_LIB){
SOURCES += \
    $$PWD/radio/fm/musicradiochannelthread.cpp \
    $$PWD/radio/fm/musicradioplaylistthread.cpp \
    $$PWD/radio/fm/musicradiosongsthread.cpp \
    $$PWD/radio/fm/musicradiothreadabstract.cpp \
    $$PWD/radio/dj/musicdjradiocategorythread.cpp \
    $$PWD/radio/dj/musicdjradioprogramthread.cpp \
    $$PWD/radio/dj/musicdjradioprogramcategorythread.cpp \
    $$PWD/radio/dj/musicdjradiothreadabstract.cpp \
    $$PWD/radio/mv/musicmvradiocategorythread.cpp \
    $$PWD/radio/mv/musicmvradioprogramthread.cpp \
    $$PWD/radio/mv/musicmvradiothreadabstract.cpp \
    $$PWD/nr/musicdatadownloadthread.cpp \
    $$PWD/nr/musictextdownloadthread.cpp \
    $$PWD/nr/musicdatatagdownloadthread.cpp \
    $$PWD/wy/musicdownloadwyinterface.cpp \
    $$PWD/wy/musicdownloadquerywythread.cpp \
    $$PWD/wy/musicwytextdownloadthread.cpp \
    $$PWD/wy/musicwydiscoverlistthread.cpp \
    $$PWD/wy/musicdownloadquerywyalbumthread.cpp \
    $$PWD/wy/musicdownloadquerywyartistthread.cpp \
    $$PWD/wy/musicdownloadquerywyplaylistthread.cpp \
    $$PWD/wy/musicdownloadquerywytoplistthread.cpp \
    $$PWD/wy/musicdownloadquerywymoviethread.cpp \
    $$PWD/wy/musicdownloadquerywyrecommendthread.cpp \
    $$PWD/wy/musicdownloadquerywyartistlistthread.cpp \
    $$PWD/wy/musicwycommentsthread.cpp \
    $$PWD/wy/musicwysongsuggestthread.cpp \
    $$PWD/wy/musicwyartistsimilarthread.cpp \
    $$PWD/wy/musicwytranslationthread.cpp \
    $$PWD/wy/musicwyauthenticationthread.cpp \
    $$PWD/xm/musicdownloadxminterface.cpp \
    $$PWD/xm/musicdownloadqueryxmthread.cpp \
    $$PWD/xm/musicdownloadqueryxmalbumthread.cpp \
    $$PWD/xm/musicdownloadqueryxmartistthread.cpp \
    $$PWD/xm/musicxmtextdownloadthread.cpp \
    $$PWD/xm/musicdownloadqueryxmplaylistthread.cpp \
    $$PWD/xm/musicdownloadqueryxmtoplistthread.cpp \
    $$PWD/xm/musicdownloadqueryxmmoviethread.cpp \
    $$PWD/xm/musicdownloadqueryxmrecommendthread.cpp \
    $$PWD/xm/musicdownloadqueryxmartistlistthread.cpp \
    $$PWD/xm/musicxmdiscoverlistthread.cpp \
    $$PWD/xm/musicxmcommentsthread.cpp \
    $$PWD/xm/musicxmsongsuggestthread.cpp \
    $$PWD/xm/musicxmartistsimilarthread.cpp \
    $$PWD/kg/musicdownloadquerykgthread.cpp \
    $$PWD/kg/musicdownloadquerykgalbumthread.cpp \
    $$PWD/kg/musicdownloadquerykgartistthread.cpp \
    $$PWD/kg/musicdownloadkginterface.cpp \
    $$PWD/kg/musicdownloadquerykgplaylistthread.cpp \
    $$PWD/kg/musicdownloadquerykgtoplistthread.cpp \
    $$PWD/kg/musicdownloadquerykgmoviethread.cpp \
    $$PWD/kg/musicdownloadquerykgrecommendthread.cpp \
    $$PWD/kg/musicdownloadquerykgartistlistthread.cpp \
    $$PWD/kg/musickgdiscoverlistthread.cpp \
    $$PWD/kg/musickgcommentsthread.cpp \
    $$PWD/kg/musickgsongsuggestthread.cpp \
    $$PWD/kg/musickgartistsimilarthread.cpp \
    $$PWD/kw/musicdownloadquerykwthread.cpp \
    $$PWD/kw/musicdownloadquerykwalbumthread.cpp \
    $$PWD/kw/musicdownloadquerykwartistthread.cpp \
    $$PWD/kw/musicdownloadkwinterface.cpp \
    $$PWD/kw/musickwtextdownloadthread.cpp \
    $$PWD/kw/musicdownloadquerykwplaylistthread.cpp \
    $$PWD/kw/musicdownloadquerykwtoplistthread.cpp \
    $$PWD/kw/musicdownloadquerykwmoviethread.cpp \
    $$PWD/kw/musicdownloadquerykwrecommendthread.cpp \
    $$PWD/kw/musicdownloadquerykwartistlistthread.cpp \
    $$PWD/kw/musickwdiscoverlistthread.cpp \
    $$PWD/kw/musickwcommentsthread.cpp \
    $$PWD/kw/musickwbackgroundthread.cpp \
    $$PWD/kw/musickwsongsuggestthread.cpp \
    $$PWD/kw/musickwartistsimilarthread.cpp \
    $$PWD/bd/musicdownloadquerybdthread.cpp \
    $$PWD/bd/musicdownloadquerybdalbumthread.cpp \
    $$PWD/bd/musicdownloadquerybdartistthread.cpp \
    $$PWD/bd/musicdownloadbdinterface.cpp \
    $$PWD/bd/musicdownloadquerybdplaylistthread.cpp \
    $$PWD/bd/musicdownloadquerybdlearnthread.cpp \
    $$PWD/bd/musicdownloadquerybdtoplistthread.cpp \
    $$PWD/bd/musicdownloadquerybdmoviethread.cpp \
    $$PWD/bd/musicdownloadquerybdrecommendthread.cpp \
    $$PWD/bd/musicdownloadquerybdartistlistthread.cpp \
    $$PWD/bd/musicbddiscoverlistthread.cpp \
    $$PWD/bd/musicbdcommentsthread.cpp \
    $$PWD/bd/musicbdsongsuggestthread.cpp \
    $$PWD/bd/musicbdartistsimilarthread.cpp \
    $$PWD/qq/musicdownloadqueryqqthread.cpp \
    $$PWD/qq/musicdownloadqueryqqalbumthread.cpp \
    $$PWD/qq/musicdownloadqueryqqartistthread.cpp \
    $$PWD/qq/musicdownloadqqinterface.cpp \
    $$PWD/qq/musicqqtextdownloadthread.cpp \
    $$PWD/qq/musicdownloadqueryqqplaylistthread.cpp \
    $$PWD/qq/musicdownloadqueryqqtoplistthread.cpp \
    $$PWD/qq/musicdownloadqueryqqmoviethread.cpp \
    $$PWD/qq/musicdownloadqueryqqrecommendthread.cpp \
    $$PWD/qq/musicdownloadqueryqqartistlistthread.cpp \
    $$PWD/qq/musicqqdiscoverlistthread.cpp \
    $$PWD/qq/musicqqcommentsthread.cpp \
    $$PWD/qq/musicqqbackgroundthread.cpp \
    $$PWD/qq/musicqqsongsuggestthread.cpp \
    $$PWD/qq/musicqqartistsimilarthread.cpp \
    $$PWD/yyt/musicdownloadqueryyytthread.cpp \
    $$PWD/ztl/musicdownloadsourcethread.cpp \
    $$PWD/ztl/musicnetworkthread.cpp \
    $$PWD/ztl/musicnetworkproxy.cpp \
    $$PWD/ztl/musicnetworkoperator.cpp \
    $$PWD/ztl/musicdownloadbackgroundthread.cpp \
    $$PWD/ztl/musicdownloadqueuecache.cpp \
    $$PWD/ztl/musictranslationthread.cpp \
    $$PWD/ztl/musicvoicettsthread.cpp \
    $$PWD/ztl/musicidentifysongsthread.cpp \
    $$PWD/ztl/musicsourceupdatethread.cpp \
    $$PWD/ztl/musicdownloadcounterpvthread.cpp \
    $$PWD/ztl/musicdownloadbackgroundremotethread.cpp \
    $$PWD/ztl/musictranslationthreadabstract.cpp \
    $$PWD/ztl/musicauthenticationthread.cpp \
    $$PWD/musicnetworkabstract.cpp \
    $$PWD/musicdownloadthreadabstract.cpp \
    $$PWD/musicdownloadqueryfactory.cpp \
    $$PWD/musicdownloadquerythreadabstract.cpp \
    $$PWD/musicdownloadcommentsthread.cpp \
    $$PWD/musicdownloaddiscoverlistthread.cpp \
    $$PWD/musicdownloadpagingthread.cpp \
    $$PWD/musicdownloadqueryalbumthread.cpp \
    $$PWD/musicdownloadqueryartistthread.cpp \
    $$PWD/musicdownloadqueryplaylistthread.cpp \
    $$PWD/musicdownloadquerytoplistthread.cpp \
    $$PWD/musicdownloadqueryrecommendthread.cpp \
    $$PWD/musicdownloadquerymoviethread.cpp \
    $$PWD/musicdownloadsongsuggestthread.cpp \
    $$PWD/musicdownloadsimilarthread.cpp \
    $$PWD/musicdownloadqueryartistlistthread.cpp \
    $$PWD/musicdownloadmanager.cpp

}

# =================================================
# * This file is part of the TTK Music Player project
# * Copyright (C) 2015 - 2018 Greedysky Studio
#
# * This program is free software; you can redistribute it and/or modify
# * it under the terms of the GNU General Public License as published by
# * the Free Software Foundation; either version 3 of the License, or
# * (at your option) any later version.
#
# * This program is distributed in the hope that it will be useful,
# * but WITHOUT ANY WARRANTY; without even the implied warranty of
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# * GNU General Public License for more details.
#
# * You should have received a copy of the GNU General Public License along
# * with this program; If not, see <http://www.gnu.org/licenses/>.
# =================================================

INCLUDEPATH += $$PWD \
               $$PWD/radio/fm \
               $$PWD/radio/dj \
               $$PWD/radio/mv \
               $$PWD/nr \
               $$PWD/wy \
               $$PWD/xm \
               $$PWD/kg \
               $$PWD/kw \
               $$PWD/bd \
               $$PWD/qq \
               $$PWD/yyt \
               $$PWD/ztl

!contains(CONFIG, MUSIC_NO_MSVC_LINK_NEED){
HEADERS  += \
    $$PWD/radio/fm/musicradiochannelthread.h \
    $$PWD/radio/fm/musicradioplaylistthread.h \
    $$PWD/radio/fm/musicradiosongsthread.h \
    $$PWD/radio/fm/musicradiothreadabstract.h \
    $$PWD/radio/dj/musicdjradiocategorythread.h \
    $$PWD/radio/dj/musicdjradioprogramthread.h \
    $$PWD/radio/dj/musicdjradioprogramcategorythread.h \
    $$PWD/radio/dj/musicdjradiothreadabstract.h \
    $$PWD/radio/mv/musicmvradiocategorythread.h \
    $$PWD/radio/mv/musicmvradioprogramthread.h \
    $$PWD/radio/mv/musicmvradiothreadabstract.h \
    $$PWD/nr/musicdatadownloadthread.h \
    $$PWD/nr/musictextdownloadthread.h \
    $$PWD/nr/musicdatatagdownloadthread.h \
    $$PWD/wy/musicdownloadwyinterface.h \
    $$PWD/wy/musicdownloadquerywythread.h \
    $$PWD/wy/musicwytextdownloadthread.h \
    $$PWD/wy/musicwydiscoverlistthread.h \
    $$PWD/wy/musicdownloadquerywyalbumthread.h \
    $$PWD/wy/musicdownloadquerywyartistthread.h \
    $$PWD/wy/musicdownloadquerywyplaylistthread.h \
    $$PWD/wy/musicdownloadquerywytoplistthread.h \
    $$PWD/wy/musicdownloadquerywymoviethread.h \
    $$PWD/wy/musicdownloadquerywyrecommendthread.h \
    $$PWD/wy/musicdownloadquerywyartistlistthread.h \
    $$PWD/wy/musicwycommentsthread.h \
    $$PWD/wy/musicwyartistsimilarthread.h \
    $$PWD/wy/musicwysongsuggestthread.h \
    $$PWD/wy/musicwytranslationthread.h \
    $$PWD/wy/musicwyauthenticationthread.h \
    $$PWD/xm/musicdownloadxminterface.h \
    $$PWD/xm/musicdownloadqueryxmthread.h \
    $$PWD/xm/musicdownloadqueryxmalbumthread.h \
    $$PWD/xm/musicdownloadqueryxmartistthread.h \
    $$PWD/xm/musicxmtextdownloadthread.h \
    $$PWD/xm/musicdownloadqueryxmplaylistthread.h \
    $$PWD/xm/musicdownloadqueryxmtoplistthread.h \
    $$PWD/xm/musicdownloadqueryxmmoviethread.h \
    $$PWD/xm/musicdownloadqueryxmrecommendthread.h \
    $$PWD/xm/musicdownloadqueryxmartistlistthread.h \
    $$PWD/xm/musicxmdiscoverlistthread.h \
    $$PWD/xm/musicxmcommentsthread.h \
    $$PWD/xm/musicxmsongsuggestthread.h \
    $$PWD/xm/musicxmartistsimilarthread.h \
    $$PWD/kg/musicdownloadquerykgthread.h \
    $$PWD/kg/musicdownloadquerykgalbumthread.h \
    $$PWD/kg/musicdownloadquerykgartistthread.h \
    $$PWD/kg/musicdownloadkginterface.h \
    $$PWD/kg/musicdownloadquerykgplaylistthread.h \
    $$PWD/kg/musicdownloadquerykgtoplistthread.h \
    $$PWD/kg/musicdownloadquerykgmoviethread.h \
    $$PWD/kg/musicdownloadquerykgrecommendthread.h \
    $$PWD/kg/musicdownloadquerykgartistlistthread.h \
    $$PWD/kg/musickgdiscoverlistthread.h \
    $$PWD/kg/musickgcommentsthread.h \
    $$PWD/kg/musickgsongsuggestthread.h \
    $$PWD/kg/musickgartistsimilarthread.h \
    $$PWD/kw/musicdownloadquerykwthread.h \
    $$PWD/kw/musicdownloadquerykwalbumthread.h \
    $$PWD/kw/musicdownloadquerykwartistthread.h \
    $$PWD/kw/musicdownloadkwinterface.h \
    $$PWD/kw/musickwtextdownloadthread.h \
    $$PWD/kw/musicdownloadquerykwplaylistthread.h \
    $$PWD/kw/musicdownloadquerykwtoplistthread.h \
    $$PWD/kw/musicdownloadquerykwmoviethread.h \
    $$PWD/kw/musicdownloadquerykwrecommendthread.h \
    $$PWD/kw/musicdownloadquerykwartistlistthread.h \
    $$PWD/kw/musickwdiscoverlistthread.h \
    $$PWD/kw/musickwcommentsthread.h \
    $$PWD/kw/musickwbackgroundthread.h \
    $$PWD/kw/musickwsongsuggestthread.h \
    $$PWD/kw/musickwartistsimilarthread.h \
    $$PWD/bd/musicdownloadquerybdthread.h \
    $$PWD/bd/musicdownloadquerybdalbumthread.h \
    $$PWD/bd/musicdownloadquerybdartistthread.h \
    $$PWD/bd/musicdownloadbdinterface.h \
    $$PWD/bd/musicdownloadquerybdplaylistthread.h \
    $$PWD/bd/musicdownloadquerybdlearnthread.h \
    $$PWD/bd/musicdownloadquerybdtoplistthread.h \
    $$PWD/bd/musicdownloadquerybdmoviethread.h \
    $$PWD/bd/musicdownloadquerybdrecommendthread.h \
    $$PWD/bd/musicdownloadquerybdartistlistthread.h \
    $$PWD/bd/musicbddiscoverlistthread.h \
    $$PWD/bd/musicbdcommentsthread.h \
    $$PWD/bd/musicbdsongsuggestthread.h \
    $$PWD/bd/musicbdartistsimilarthread.h \
    $$PWD/qq/musicdownloadqueryqqthread.h \
    $$PWD/qq/musicdownloadqueryqqalbumthread.h \
    $$PWD/qq/musicdownloadqueryqqartistthread.h \
    $$PWD/qq/musicdownloadqqinterface.h \
    $$PWD/qq/musicqqtextdownloadthread.h \
    $$PWD/qq/musicdownloadqueryqqplaylistthread.h \
    $$PWD/qq/musicdownloadqueryqqtoplistthread.h \
    $$PWD/qq/musicdownloadqueryqqmoviethread.h \
    $$PWD/qq/musicdownloadqueryqqrecommendthread.h \
    $$PWD/qq/musicdownloadqueryqqartistlistthread.h \
    $$PWD/qq/musicqqdiscoverlistthread.h \
    $$PWD/qq/musicqqcommentsthread.h \
    $$PWD/qq/musicqqbackgroundthread.h \
    $$PWD/qq/musicqqsongsuggestthread.h \
    $$PWD/qq/musicqqartistsimilarthread.h \
    $$PWD/yyt/musicdownloadqueryyytthread.h \
    $$PWD/ztl/musicdownloadsourcethread.h \
    $$PWD/ztl/musicnetworkthread.h \
    $$PWD/ztl/musicnetworkproxy.h \
    $$PWD/ztl/musicnetworkoperator.h \
    $$PWD/ztl/musicdownloadbackgroundthread.h \
    $$PWD/ztl/musicdownloadqueuecache.h \
    $$PWD/ztl/musictranslationthread.h \
    $$PWD/ztl/musicvoicettsthread.h \
    $$PWD/ztl/musicidentifysongsthread.h \
    $$PWD/ztl/musicsourceupdatethread.h \
    $$PWD/ztl/musicdownloadcounterpvthread.h \
    $$PWD/ztl/musicdownloadbackgroundremotethread.h \
    $$PWD/ztl/musictranslationthreadabstract.h \
    $$PWD/ztl/musicauthenticationthread.h \
    $$PWD/musicnetworkdefines.h.h \
    $$PWD/musicnetworkabstract.h \
    $$PWD/musicdownloadthreadabstract.h \
    $$PWD/musicdownloadqueryfactory.h \
    $$PWD/musicdownloadquerythreadabstract.h \
    $$PWD/musicdownloadcommentsthread.h \
    $$PWD/musicdownloaddiscoverlistthread.h \
    $$PWD/musicdownloadpagingthread.h \
    $$PWD/musicdownloadqueryalbumthread.h \
    $$PWD/musicdownloadqueryartistthread.h \
    $$PWD/musicdownloadqueryplaylistthread.h \
    $$PWD/musicdownloadquerytoplistthread.h \
    $$PWD/musicdownloadqueryrecommendthread.h \
    $$PWD/musicdownloadquerymoviethread.h \
    $$PWD/musicdownloadsongsuggestthread.h \
    $$PWD/musicdownloadsimilarthread.h \
    $$PWD/musicdownloadqueryartistlistthread.h \
    $$PWD/musicdownloadmanager.h

}

contains(CONFIG, MUSIC_BUILD_LIB){
SOURCES += \
    $$PWD/radio/fm/musicradiochannelthread.cpp \
    $$PWD/radio/fm/musicradioplaylistthread.cpp \
    $$PWD/radio/fm/musicradiosongsthread.cpp \
    $$PWD/radio/fm/musicradiothreadabstract.cpp \
    $$PWD/radio/dj/musicdjradiocategorythread.cpp \
    $$PWD/radio/dj/musicdjradioprogramthread.cpp \
    $$PWD/radio/dj/musicdjradioprogramcategorythread.cpp \
    $$PWD/radio/dj/musicdjradiothreadabstract.cpp \
    $$PWD/radio/mv/musicmvradiocategorythread.cpp \
    $$PWD/radio/mv/musicmvradioprogramthread.cpp \
    $$PWD/radio/mv/musicmvradiothreadabstract.cpp \
    $$PWD/nr/musicdatadownloadthread.cpp \
    $$PWD/nr/musictextdownloadthread.cpp \
    $$PWD/nr/musicdatatagdownloadthread.cpp \
    $$PWD/wy/musicdownloadwyinterface.cpp \
    $$PWD/wy/musicdownloadquerywythread.cpp \
    $$PWD/wy/musicwytextdownloadthread.cpp \
    $$PWD/wy/musicwydiscoverlistthread.cpp \
    $$PWD/wy/musicdownloadquerywyalbumthread.cpp \
    $$PWD/wy/musicdownloadquerywyartistthread.cpp \
    $$PWD/wy/musicdownloadquerywyplaylistthread.cpp \
    $$PWD/wy/musicdownloadquerywytoplistthread.cpp \
    $$PWD/wy/musicdownloadquerywymoviethread.cpp \
    $$PWD/wy/musicdownloadquerywyrecommendthread.cpp \
    $$PWD/wy/musicdownloadquerywyartistlistthread.cpp \
    $$PWD/wy/musicwycommentsthread.cpp \
    $$PWD/wy/musicwysongsuggestthread.cpp \
    $$PWD/wy/musicwyartistsimilarthread.cpp \
    $$PWD/wy/musicwytranslationthread.cpp \
    $$PWD/wy/musicwyauthenticationthread.cpp \
    $$PWD/xm/musicdownloadxminterface.cpp \
    $$PWD/xm/musicdownloadqueryxmthread.cpp \
    $$PWD/xm/musicdownloadqueryxmalbumthread.cpp \
    $$PWD/xm/musicdownloadqueryxmartistthread.cpp \
    $$PWD/xm/musicxmtextdownloadthread.cpp \
    $$PWD/xm/musicdownloadqueryxmplaylistthread.cpp \
    $$PWD/xm/musicdownloadqueryxmtoplistthread.cpp \
    $$PWD/xm/musicdownloadqueryxmmoviethread.cpp \
    $$PWD/xm/musicdownloadqueryxmrecommendthread.cpp \
    $$PWD/xm/musicdownloadqueryxmartistlistthread.cpp \
    $$PWD/xm/musicxmdiscoverlistthread.cpp \
    $$PWD/xm/musicxmcommentsthread.cpp \
    $$PWD/xm/musicxmsongsuggestthread.cpp \
    $$PWD/xm/musicxmartistsimilarthread.cpp \
    $$PWD/kg/musicdownloadquerykgthread.cpp \
    $$PWD/kg/musicdownloadquerykgalbumthread.cpp \
    $$PWD/kg/musicdownloadquerykgartistthread.cpp \
    $$PWD/kg/musicdownloadkginterface.cpp \
    $$PWD/kg/musicdownloadquerykgplaylistthread.cpp \
    $$PWD/kg/musicdownloadquerykgtoplistthread.cpp \
    $$PWD/kg/musicdownloadquerykgmoviethread.cpp \
    $$PWD/kg/musicdownloadquerykgrecommendthread.cpp \
    $$PWD/kg/musicdownloadquerykgartistlistthread.cpp \
    $$PWD/kg/musickgdiscoverlistthread.cpp \
    $$PWD/kg/musickgcommentsthread.cpp \
    $$PWD/kg/musickgsongsuggestthread.cpp \
    $$PWD/kg/musickgartistsimilarthread.cpp \
    $$PWD/kw/musicdownloadquerykwthread.cpp \
    $$PWD/kw/musicdownloadquerykwalbumthread.cpp \
    $$PWD/kw/musicdownloadquerykwartistthread.cpp \
    $$PWD/kw/musicdownloadkwinterface.cpp \
    $$PWD/kw/musickwtextdownloadthread.cpp \
    $$PWD/kw/musicdownloadquerykwplaylistthread.cpp \
    $$PWD/kw/musicdownloadquerykwtoplistthread.cpp \
    $$PWD/kw/musicdownloadquerykwmoviethread.cpp \
    $$PWD/kw/musicdownloadquerykwrecommendthread.cpp \
    $$PWD/kw/musicdownloadquerykwartistlistthread.cpp \
    $$PWD/kw/musickwdiscoverlistthread.cpp \
    $$PWD/kw/musickwcommentsthread.cpp \
    $$PWD/kw/musickwbackgroundthread.cpp \
    $$PWD/kw/musickwsongsuggestthread.cpp \
    $$PWD/kw/musickwartistsimilarthread.cpp \
    $$PWD/bd/musicdownloadquerybdthread.cpp \
    $$PWD/bd/musicdownloadquerybdalbumthread.cpp \
    $$PWD/bd/musicdownloadquerybdartistthread.cpp \
    $$PWD/bd/musicdownloadbdinterface.cpp \
    $$PWD/bd/musicdownloadquerybdplaylistthread.cpp \
    $$PWD/bd/musicdownloadquerybdlearnthread.cpp \
    $$PWD/bd/musicdownloadquerybdtoplistthread.cpp \
    $$PWD/bd/musicdownloadquerybdmoviethread.cpp \
    $$PWD/bd/musicdownloadquerybdrecommendthread.cpp \
    $$PWD/bd/musicdownloadquerybdartistlistthread.cpp \
    $$PWD/bd/musicbddiscoverlistthread.cpp \
    $$PWD/bd/musicbdcommentsthread.cpp \
    $$PWD/bd/musicbdsongsuggestthread.cpp \
    $$PWD/bd/musicbdartistsimilarthread.cpp \
    $$PWD/qq/musicdownloadqueryqqthread.cpp \
    $$PWD/qq/musicdownloadqueryqqalbumthread.cpp \
    $$PWD/qq/musicdownloadqueryqqartistthread.cpp \
    $$PWD/qq/musicdownloadqqinterface.cpp \
    $$PWD/qq/musicqqtextdownloadthread.cpp \
    $$PWD/qq/musicdownloadqueryqqplaylistthread.cpp \
    $$PWD/qq/musicdownloadqueryqqtoplistthread.cpp \
    $$PWD/qq/musicdownloadqueryqqmoviethread.cpp \
    $$PWD/qq/musicdownloadqueryqqrecommendthread.cpp \
    $$PWD/qq/musicdownloadqueryqqartistlistthread.cpp \
    $$PWD/qq/musicqqdiscoverlistthread.cpp \
    $$PWD/qq/musicqqcommentsthread.cpp \
    $$PWD/qq/musicqqbackgroundthread.cpp \
    $$PWD/qq/musicqqsongsuggestthread.cpp \
    $$PWD/qq/musicqqartistsimilarthread.cpp \
    $$PWD/yyt/musicdownloadqueryyytthread.cpp \
    $$PWD/ztl/musicdownloadsourcethread.cpp \
    $$PWD/ztl/musicnetworkthread.cpp \
    $$PWD/ztl/musicnetworkproxy.cpp \
    $$PWD/ztl/musicnetworkoperator.cpp \
    $$PWD/ztl/musicdownloadbackgroundthread.cpp \
    $$PWD/ztl/musicdownloadqueuecache.cpp \
    $$PWD/ztl/musictranslationthread.cpp \
    $$PWD/ztl/musicvoicettsthread.cpp \
    $$PWD/ztl/musicidentifysongsthread.cpp \
    $$PWD/ztl/musicsourceupdatethread.cpp \
    $$PWD/ztl/musicdownloadcounterpvthread.cpp \
    $$PWD/ztl/musicdownloadbackgroundremotethread.cpp \
    $$PWD/ztl/musictranslationthreadabstract.cpp \
    $$PWD/ztl/musicauthenticationthread.cpp \
    $$PWD/musicnetworkabstract.cpp \
    $$PWD/musicdownloadthreadabstract.cpp \
    $$PWD/musicdownloadqueryfactory.cpp \
    $$PWD/musicdownloadquerythreadabstract.cpp \
    $$PWD/musicdownloadcommentsthread.cpp \
    $$PWD/musicdownloaddiscoverlistthread.cpp \
    $$PWD/musicdownloadpagingthread.cpp \
    $$PWD/musicdownloadqueryalbumthread.cpp \
    $$PWD/musicdownloadqueryartistthread.cpp \
    $$PWD/musicdownloadqueryplaylistthread.cpp \
    $$PWD/musicdownloadquerytoplistthread.cpp \
    $$PWD/musicdownloadqueryrecommendthread.cpp \
    $$PWD/musicdownloadquerymoviethread.cpp \
    $$PWD/musicdownloadsongsuggestthread.cpp \
    $$PWD/musicdownloadsimilarthread.cpp \
    $$PWD/musicdownloadqueryartistlistthread.cpp \
    $$PWD/musicdownloadmanager.cpp

}


small fix for clean

small fix for clean

qrxc_source.commands = $$QRXC $$QREAL_XML
qrxc_source.input = QREAL_XML
qrxc_source.output = generated/pluginInterface.cpp
qrxc_source.variable_out = SOURCES
qrxc_source.name = QReal_XML_Compiler

QMAKE_EXTRA_COMPILERS += qrxc_source

FAKE_COMMAND = cd .

qrxc_header.commands = $$FAKE_COMMAND
qrxc_header.input = QREAL_XML
qrxc_header.output = generated/pluginInterface.h
qrxc_header.variable_out = HEADERS

QMAKE_EXTRA_COMPILERS += qrxc_header

qrxc_elements.commands = $$FAKE_COMMAND
qrxc_elements.input = QREAL_XML
qrxc_elements.output = generated/elements.h
qrxc_elements.variable_out = HEADERS

QMAKE_EXTRA_COMPILERS += qrxc_elements

qrxc_resource.commands = $$FAKE_COMMAND
qrxc_resource.input = QREAL_XML
qrxc_resource.output = generated/shapes/plugin.qrc
qrxc_resource.variable_out = RESOURCES

QMAKE_EXTRA_COMPILERS += qrxc_resource

include(extraCompilersSdf.pri)

qrxc_source.commands = $$QRXC $$QREAL_XML
qrxc_source.input = QREAL_XML
qrxc_source.output = generated/pluginInterface.cpp
qrxc_source.variable_out = SOURCES
qrxc_source.name = QReal_XML_Compiler

QMAKE_EXTRA_COMPILERS += qrxc_source

qrxc_header.commands = $$FAKE_COMMAND
qrxc_header.input = QREAL_XML
qrxc_header.output = generated/pluginInterface.h
qrxc_header.variable_out = HEADERS

QMAKE_EXTRA_COMPILERS += qrxc_header

qrxc_elements.commands = $$FAKE_COMMAND
qrxc_elements.input = QREAL_XML
qrxc_elements.output = generated/elements.h
qrxc_elements.variable_out = HEADERS

QMAKE_EXTRA_COMPILERS += qrxc_elements

qrxc_resource.commands = $$FAKE_COMMAND
qrxc_resource.input = QREAL_XML
qrxc_resource.output = generated/shapes/plugin.qrc
qrxc_resource.variable_out = RESOURCES

QMAKE_EXTRA_COMPILERS += qrxc_resource

include(extraCompilersSdf.pri)


Fixed Windows build options to support both CP and COPY/XCOPY

#-------------------------------------------------
#
# QGroundControl - Micro Air Vehicle Groundstation
#
# Please see our website at <http://qgroundcontrol.org>
#
# Author:
# Lorenz Meier <mavteam@student.ethz.ch>
#
# (c) 2009-2010 PIXHAWK Team
#
# This file is part of the mav groundstation project
# QGroundControl is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# QGroundControl is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with QGroundControl. If not, see <http://www.gnu.org/licenses/>.
#
#-------------------------------------------------

#$$BASEDIR/lib/qextserialport/include
#               $$BASEDIR/lib/openjaus/libjaus/include \
#               $$BASEDIR/lib/openjaus/libopenJaus/include

message(Qt version $$[QT_VERSION])

release {
#    DEFINES += QT_NO_DEBUG_OUTPUT
#    DEFINES += QT_NO_WARNING_OUTPUT
}

QMAKE_POST_LINK += echo "Copying files"

#QMAKE_POST_LINK += && cp -rf $$BASEDIR/models $$TARGETDIR/debug/.
#QMAKE_POST_LINK += && cp -rf $$BASEDIR/models $$TARGETDIR/release/.

# MAC OS X
macx {

    COMPILER_VERSION = $$system(gcc -v)
    message(Using compiler $$COMPILER_VERSION)

    HARDWARE_PLATFORM = $$system(uname -a)
    contains( HARDWARE_PLATFORM, 9.6.0 ) || contains( HARDWARE_PLATFORM, 9.7.0 ) || contains( HARDWARE_PLATFORM, 9.8.0 ) || contains( HARDWARE_PLATFORM, 9.9.0 ) {
        # x86 Mac OS X Leopard 10.5 and earlier
        CONFIG += x86 cocoa phonon
        message(Building for Mac OS X 32bit/Leopard 10.5 and earlier)

                # Enable function-profiling with the OS X saturn tool
                debug {
                        #QMAKE_CXXFLAGS += -finstrument-functions
                        #LIBS += -lSaturn
                }
    } else {
        # x64 Mac OS X Snow Leopard 10.6 and later
        CONFIG += x86_64 cocoa
        CONFIG -= x86 phonon
        message(Building for Mac OS X 64bit/Snow Leopard 10.6 and later)
    }

    QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.5

    #DESTDIR = $$BASEDIR/bin/mac
    INCLUDEPATH += -framework SDL

    LIBS += -framework IOKit \
        -framework SDL \
        -framework CoreFoundation \
        -framework ApplicationServices \
        -lm

    ICON = $$BASEDIR/images/icons/macx.icns

    # Copy audio files if needed
    QMAKE_POST_LINK += && cp -rf $$BASEDIR/audio $$TARGETDIR/qgroundcontrol.app/Contents/MacOs
    # Copy google earth starter file
    QMAKE_POST_LINK += && cp -f $$BASEDIR/images/earth.html $$TARGETDIR/qgroundcontrol.app/Contents/MacOs
    # Copy model files
    #QMAKE_POST_LINK += && cp -f $$BASEDIR/models/*.dae $$TARGETDIR/qgroundcontrol.app/Contents/MacOs

    exists(/Library/Frameworks/osg.framework):exists(/Library/Frameworks/OpenThreads.framework) {
    # No check for GLUT.framework since it's a MAC default
    message("Building support for OpenSceneGraph")
    DEPENDENCIES_PRESENT += osg
    DEFINES += QGC_OSG_ENABLED
    # Include OpenSceneGraph libraries
    INCLUDEPATH += -framework GLUT \
            -framework Carbon \
            -framework OpenThreads \
            -framework osg \
            -framework osgViewer \
            -framework osgGA \
            -framework osgDB \
            -framework osgText \
            -framework osgWidget

    LIBS += -framework GLUT \
            -framework Carbon \
            -framework OpenThreads \
            -framework osg \
            -framework osgViewer \
            -framework osgGA \
            -framework osgDB \
            -framework osgText \
            -framework osgWidget
    }

    exists(/usr/include/osgEarth) {
    message("Building support for osgEarth")
    DEPENDENCIES_PRESENT += osgearth
    # Include osgEarth libraries
    INCLUDEPATH += -framework GDAL \
            $$IN_PWD/lib/mac32-gcc/include \
            -framework GEOS \
            -framework SQLite3 \
            -framework osgFX \
            -framework osgTerrain

    LIBS += -framework GDAL \
            -framework GEOS \
            -framework SQLite3 \
            -framework osgFX \
            -framework osgTerrain
    DEFINES += QGC_OSGEARTH_ENABLED
    }

    exists(/opt/local/include/libfreenect) {
    message("Building support for libfreenect")
    DEPENDENCIES_PRESENT += libfreenect
    # Include libfreenect libraries
    LIBS += -lfreenect
    DEFINES += QGC_LIBFREENECT_ENABLED
    }

    # osg/osgEarth dynamic casts might fail without this compiler option.
    # see http://osgearth.org/wiki/FAQ for details.
    #QMAKE_CXXFLAGS += -Wl,-E
}

# GNU/Linux
linux-g++ {

    debug {
        DESTDIR = $$TARGETDIR/debug
        CONFIG += debug
    }

    release {
        DESTDIR = $$TARGETDIR/release
    }

    QMAKE_POST_LINK += cp -rf $$BASEDIR/audio $$DESTDIR/.

    INCLUDEPATH += /usr/include \
				   /usr/local/include \
                   /usr/include/qt4/phonon
              # $$BASEDIR/lib/flite/include \
              # $$BASEDIR/lib/flite/lang

    message(Building for GNU/Linux 32bit/i386)

    LIBS += \
        -L/usr/lib \
        -lm \
        -lflite_cmu_us_kal \
        -lflite_usenglish \
        -lflite_cmulex \
        -lflite \
        -lSDL \
        -lSDLmain

    exists(/usr/include/osg) {
    message("Building support for OpenSceneGraph")
    DEPENDENCIES_PRESENT += osg
    # Include OpenSceneGraph libraries
    LIBS += -losg \
            -losgViewer
    DEFINES += QGC_OSG_ENABLED
    }

    exists(/usr/include/osgEarth) | exists(/usr/local/include/osgEarth) {
    message("Building support for osgEarth")
    DEPENDENCIES_PRESENT += osgearth
    # Include osgEarth libraries
    LIBS += -losgEarth \
            -losgEarthUtil
    DEFINES += QGC_OSGEARTH_ENABLED
    }

    exists(/usr/local/include/libfreenect/libfreenect.h) {
    message("Building support for libfreenect")
    DEPENDENCIES_PRESENT += libfreenect
    INCLUDEPATH += /usr/include/libusb-1.0
    # Include libfreenect libraries
    LIBS += -lfreenect
    DEFINES += QGC_LIBFREENECT_ENABLED
    }

    QMAKE_POST_LINK += && cp -rf $$BASEDIR/models $$DESTDIR
    QMAKE_POST_LINK += && cp -rf $$BASEDIR/data $$DESTDIR
    QMAKE_POST_LINK += && mkdir -p $$DESTDIR/images
    QMAKE_POST_LINK += && cp -rf $$BASEDIR/images/Vera.ttf $$DESTDIR/images/Vera.ttf

    # osg/osgEarth dynamic casts might fail without this compiler option.
    # see http://osgearth.org/wiki/FAQ for details.
    QMAKE_CXXFLAGS += -Wl,-E
}

linux-g++-64 {

    debug {
        DESTDIR = $$TARGETDIR/debug
        CONFIG += debug
    }

    release {
        DESTDIR = $$TARGETDIR/release
    }

    QMAKE_POST_LINK += cp -rf $$BASEDIR/audio $$DESTDIR/.

    INCLUDEPATH += /usr/include \
                   /usr/include/qt4/phonon
              # $$BASEDIR/lib/flite/include \
              # $$BASEDIR/lib/flite/lang

    # 64-bit Linux
    message(Building for GNU/Linux 64bit/x64 (g++-64))

    LIBS += \
        -L/usr/lib \
        -lm \
        -lflite_cmu_us_kal \
        -lflite_usenglish \
        -lflite_cmulex \
        -lflite \
        -lSDL \
        -lSDLmain

    exists(/usr/include/osg) {
    message("Building support for OpenSceneGraph")
    DEPENDENCIES_PRESENT += osg
    # Include OpenSceneGraph libraries
    LIBS += -losg \
            -losgViewer
    DEFINES += QGC_OSG_ENABLED
    }

    exists(/usr/include/osgEarth) {
    message("Building support for osgEarth")
    DEPENDENCIES_PRESENT += osgearth
    # Include osgEarth libraries
    LIBS += -losgEarth \
            -losgEarthUtil
    DEFINES += QGC_OSGEARTH_ENABLED
    }

    exists(/usr/local/include/libfreenect) {
    message("Building support for libfreenect")
    DEPENDENCIES_PRESENT += libfreenect
    INCLUDEPATH += /usr/include/libusb-1.0
    # Include libfreenect libraries
    LIBS += -lfreenect
    DEFINES += QGC_LIBFREENECT_ENABLED
    }

    QMAKE_POST_LINK += && cp -rf $$BASEDIR/models $$DESTDIR
    QMAKE_POST_LINK += && cp -rf $$BASEDIR/data $$DESTDIR
    QMAKE_POST_LINK += && mkdir -p $$DESTDIR/images
    QMAKE_POST_LINK += && cp -rf $$BASEDIR/images/Vera.ttf $$DESTDIR/images/Vera.ttf

    # osg/osgEarth dynamic casts might fail without this compiler option.
    # see http://osgearth.org/wiki/FAQ for details.
    QMAKE_CXXFLAGS += -Wl,-E
}

# Windows (32bit)
win32-msvc2008 {

    message(Building for Windows Visual Studio 2008 (32bit))

    CONFIG += qaxcontainer

    # Special settings for debug
    #CONFIG += CONSOLE

    INCLUDEPATH += $$BASEDIR/lib/sdl/msvc/include \
                   $$BASEDIR/lib/opal/include \
                   $$BASEDIR/lib/msinttypes
                   #"C:\Program Files\Microsoft SDKs\Windows\v7.0\Include"

    LIBS += -L$$BASEDIR/lib/sdl/msvc/lib \
             -lSDLmain -lSDL

exists($$BASEDIR/lib/osg123) {
message("Building support for OSG")
DEPENDENCIES_PRESENT += osg

# Include OpenSceneGraph and osgEarth libraries
INCLUDEPATH += $$BASEDIR/lib/osgEarth/win32/include \
    $$BASEDIR/lib/osgEarth_3rdparty/win32/OpenSceneGraph-2.8.2/include
LIBS += -L$$BASEDIR/lib/osgEarth_3rdparty/win32/OpenSceneGraph-2.8.2/lib \
    -losg \
    -losgViewer \
	-losgGA \
	-losgDB \
	-losgText \
        -lOpenThreads
DEFINES += QGC_OSG_ENABLED
exists($$BASEDIR/lib/osgEarth123) {
    DEPENDENCIES_PRESENT += osgearth
    message("Building support for osgEarth")
    DEFINES += QGC_OSGEARTH_ENABLED
    LIBS += -L$$BASEDIR/lib/osgEarth/win32/lib \
        -losgEarth \
        -losgEarthUtil
}
}

    RC_FILE = $$BASEDIR/qgroundcontrol.rc

    # Copy dependencies
    BASEDIR_WIN = $$replace(BASEDIR,"/","\\")
    TARGETDIR_WIN = $$replace(TARGETDIR,"/","\\")

    debug {
        QMAKE_POST_LINK += && copy /Y \"$$BASEDIR_WIN\\lib\\sdl\\win32\\SDL.dll\" \"$$TARGETDIR_WIN\\debug\\SDL.dll\"
        QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\\audio\" \"$$TARGETDIR_WIN\\debug\\audio\" /S /E /Y
        QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\\models\" \"$$TARGETDIR_WIN\\debug\\models\" /S /E /Y
        QMAKE_POST_LINK += && copy /Y \"$$BASEDIR\\images\\earth.html $$TARGETDIR_WIN\\debug\"
    }

    release {
        QMAKE_POST_LINK += && copy /Y \"$$BASEDIR_WIN\\lib\\sdl\\win32\\SDL.dll\" \"$$TARGETDIR_WIN\\release\\SDL.dll\"
        QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\\audio\" \"$$TARGETDIR_WIN\\release\\audio\" /S /E /Y
        QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\\models\" \"$$TARGETDIR_WIN\\release\\models\" /S /E /Y
        QMAKE_POST_LINK += && copy /Y \"$$BASEDIR\\images\\earth.html $$TARGETDIR_WIN\\release\"
    }

}

# Windows (32bit)
win32-g++ {

    message(Building for Windows Platform (32bit))

    # Special settings for debug
    #CONFIG += CONSOLE

    INCLUDEPATH += $$BASEDIR/lib/sdl/include \
                   $$BASEDIR/lib/opal/include #\ #\
                   #"C:\Program Files\Microsoft SDKs\Windows\v7.0\Include"

    LIBS += -L$$BASEDIR/lib/sdl/win32 \
             -lmingw32 -lSDLmain -lSDL -mwindows

    CONFIG += windows

    debug {
        #DESTDIR = $$BUILDDIR/debug
    }

    release {
        #DESTDIR = $$BUILDDIR/release
    }

    RC_FILE = $$BASEDIR/qgroundcontrol.rc

    # Copy dependencies

    system(cp): {
    # CP command is available, use it instead of copy / xcopy
    message("Using cp to copy image and audio files to executable")
    debug {
        QMAKE_POST_LINK += && cp $$BASEDIR/lib/sdl/win32/SDL.dll $$TARGETDIR/debug/SDL.dll
        QMAKE_POST_LINK += && cp -r $$BASEDIR/audio $$TARGETDIR/debug/audio
        QMAKE_POST_LINK += && cp -r $$BASEDIR/models $$TARGETDIR/debug/models
    }

    release {
        QMAKE_POST_LINK += && cp $$BASEDIR/lib/sdl/win32/SDL.dll $$TARGETDIR/release/SDL.dll
        QMAKE_POST_LINK += && cp -r $$BASEDIR/audio $$TARGETDIR/release/audio
        QMAKE_POST_LINK += && cp -r $$BASEDIR/models $$TARGETDIR/release/models
    }

    } else {
    # No cp command available, go for copy / xcopy
    # Copy dependencies
    message("Using copy / xcopy to copy image and audio files to executable (cp command not found)")
    BASEDIR_WIN = $$replace(BASEDIR,"/","\\")
    TARGETDIR_WIN = $$replace(TARGETDIR,"/","\\")

    debug {
        QMAKE_POST_LINK += && copy /Y \"$$BASEDIR_WIN\\lib\\sdl\\win32\\SDL.dll\" \"$$TARGETDIR_WIN\\debug\\SDL.dll\"
        QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\\audio\" \"$$TARGETDIR_WIN\\debug\\audio\" /S /E /Y
        QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\\models\" \"$$TARGETDIR_WIN\\debug\\models\" /S /E /Y
        QMAKE_POST_LINK += && copy /Y \"$$BASEDIR\\images\\earth.html $$TARGETDIR_WIN\\debug\"
    }

    release {
        QMAKE_POST_LINK += && copy /Y \"$$BASEDIR_WIN\\lib\\sdl\\win32\\SDL.dll\" \"$$TARGETDIR_WIN\\release\\SDL.dll\"
        QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\\audio\" \"$$TARGETDIR_WIN\\release\\audio\" /S /E /Y
        QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\\models\" \"$$TARGETDIR_WIN\\release\\models\" /S /E /Y
        QMAKE_POST_LINK += && copy /Y \"$$BASEDIR\\images\\earth.html $$TARGETDIR_WIN\\release\"
    }

}

    # osg/osgEarth dynamic casts might fail without this compiler option.
    # see http://osgearth.org/wiki/FAQ for details.
    QMAKE_CXXFLAGS += -Wl,-E
}

#-------------------------------------------------
#
# QGroundControl - Micro Air Vehicle Groundstation
#
# Please see our website at <http://qgroundcontrol.org>
#
# Author:
# Lorenz Meier <mavteam@student.ethz.ch>
#
# (c) 2009-2010 PIXHAWK Team
#
# This file is part of the mav groundstation project
# QGroundControl is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# QGroundControl is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with QGroundControl. If not, see <http://www.gnu.org/licenses/>.
#
#-------------------------------------------------

#$$BASEDIR/lib/qextserialport/include
#               $$BASEDIR/lib/openjaus/libjaus/include \
#               $$BASEDIR/lib/openjaus/libopenJaus/include

message(Qt version $$[QT_VERSION])

release {
#    DEFINES += QT_NO_DEBUG_OUTPUT
#    DEFINES += QT_NO_WARNING_OUTPUT
}

QMAKE_POST_LINK += echo "Copying files"

#QMAKE_POST_LINK += && cp -rf $$BASEDIR/models $$TARGETDIR/debug/.
#QMAKE_POST_LINK += && cp -rf $$BASEDIR/models $$TARGETDIR/release/.

# MAC OS X
macx {

    COMPILER_VERSION = system(gcc -v)
    message(Using compiler $$COMPILER_VERSION)

    HARDWARE_PLATFORM = $$system(uname -a)
    contains( HARDWARE_PLATFORM, 9.6.0 ) || contains( HARDWARE_PLATFORM, 9.7.0 ) || contains( HARDWARE_PLATFORM, 9.8.0 ) || contains( HARDWARE_PLATFORM, 9.9.0 ) {
        # x86 Mac OS X Leopard 10.5 and earlier
        CONFIG += x86 cocoa phonon
        message(Building for Mac OS X 32bit/Leopard 10.5 and earlier)

                # Enable function-profiling with the OS X saturn tool
                debug {
                        #QMAKE_CXXFLAGS += -finstrument-functions
                        #LIBS += -lSaturn
                }
    } else {
        # x64 Mac OS X Snow Leopard 10.6 and later
        CONFIG += x86_64 cocoa
        CONFIG -= x86 phonon
        message(Building for Mac OS X 64bit/Snow Leopard 10.6 and later)
    }

    QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.5

    #DESTDIR = $$BASEDIR/bin/mac
    INCLUDEPATH += -framework SDL

    LIBS += -framework IOKit \
        -framework SDL \
        -framework CoreFoundation \
        -framework ApplicationServices \
        -lm

    ICON = $$BASEDIR/images/icons/macx.icns

    # Copy audio files if needed
    QMAKE_POST_LINK += && cp -rf $$BASEDIR/audio $$TARGETDIR/qgroundcontrol.app/Contents/MacOs
    # Copy google earth starter file
    QMAKE_POST_LINK += && cp -f $$BASEDIR/images/earth.html $$TARGETDIR/qgroundcontrol.app/Contents/MacOs
    # Copy model files
    #QMAKE_POST_LINK += && cp -f $$BASEDIR/models/*.dae $$TARGETDIR/qgroundcontrol.app/Contents/MacOs

    exists(/Library/Frameworks/osg.framework):exists(/Library/Frameworks/OpenThreads.framework) {
    # No check for GLUT.framework since it's a MAC default
    message("Building support for OpenSceneGraph")
    DEPENDENCIES_PRESENT += osg
    DEFINES += QGC_OSG_ENABLED
    # Include OpenSceneGraph libraries
    INCLUDEPATH += -framework GLUT \
            -framework Carbon \
            -framework OpenThreads \
            -framework osg \
            -framework osgViewer \
            -framework osgGA \
            -framework osgDB \
            -framework osgText \
            -framework osgWidget

    LIBS += -framework GLUT \
            -framework Carbon \
            -framework OpenThreads \
            -framework osg \
            -framework osgViewer \
            -framework osgGA \
            -framework osgDB \
            -framework osgText \
            -framework osgWidget
    }

    exists(/usr/include/osgEarth) {
    message("Building support for osgEarth")
    DEPENDENCIES_PRESENT += osgearth
    # Include osgEarth libraries
    INCLUDEPATH += -framework GDAL \
            $$IN_PWD/lib/mac32-gcc/include \
            -framework GEOS \
            -framework SQLite3 \
            -framework osgFX \
            -framework osgTerrain

    LIBS += -framework GDAL \
            -framework GEOS \
            -framework SQLite3 \
            -framework osgFX \
            -framework osgTerrain
    DEFINES += QGC_OSGEARTH_ENABLED
    }

    exists(/opt/local/include/libfreenect) {
    message("Building support for libfreenect")
    DEPENDENCIES_PRESENT += libfreenect
    # Include libfreenect libraries
    LIBS += -lfreenect
    DEFINES += QGC_LIBFREENECT_ENABLED
    }

    # osg/osgEarth dynamic casts might fail without this compiler option.
    # see http://osgearth.org/wiki/FAQ for details.
    #QMAKE_CXXFLAGS += -Wl,-E
}

# GNU/Linux
linux-g++ {

    debug {
        DESTDIR = $$TARGETDIR/debug
        CONFIG += debug
    }

    release {
        DESTDIR = $$TARGETDIR/release
    }

    QMAKE_POST_LINK += cp -rf $$BASEDIR/audio $$DESTDIR/.

    INCLUDEPATH += /usr/include \
				   /usr/local/include \
                   /usr/include/qt4/phonon
              # $$BASEDIR/lib/flite/include \
              # $$BASEDIR/lib/flite/lang

    message(Building for GNU/Linux 32bit/i386)

    LIBS += \
        -L/usr/lib \
        -lm \
        -lflite_cmu_us_kal \
        -lflite_usenglish \
        -lflite_cmulex \
        -lflite \
        -lSDL \
        -lSDLmain

    exists(/usr/include/osg) {
    message("Building support for OpenSceneGraph")
    DEPENDENCIES_PRESENT += osg
    # Include OpenSceneGraph libraries
    LIBS += -losg \
            -losgViewer
    DEFINES += QGC_OSG_ENABLED
    }

    exists(/usr/include/osgEarth) | exists(/usr/local/include/osgEarth) {
    message("Building support for osgEarth")
    DEPENDENCIES_PRESENT += osgearth
    # Include osgEarth libraries
    LIBS += -losgEarth \
            -losgEarthUtil
    DEFINES += QGC_OSGEARTH_ENABLED
    }

    exists(/usr/local/include/libfreenect/libfreenect.h) {
    message("Building support for libfreenect")
    DEPENDENCIES_PRESENT += libfreenect
    INCLUDEPATH += /usr/include/libusb-1.0
    # Include libfreenect libraries
    LIBS += -lfreenect
    DEFINES += QGC_LIBFREENECT_ENABLED
    }

    QMAKE_POST_LINK += && cp -rf $$BASEDIR/models $$DESTDIR
    QMAKE_POST_LINK += && cp -rf $$BASEDIR/data $$DESTDIR
    QMAKE_POST_LINK += && mkdir -p $$DESTDIR/images
    QMAKE_POST_LINK += && cp -rf $$BASEDIR/images/Vera.ttf $$DESTDIR/images/Vera.ttf

    # osg/osgEarth dynamic casts might fail without this compiler option.
    # see http://osgearth.org/wiki/FAQ for details.
    QMAKE_CXXFLAGS += -Wl,-E
}

linux-g++-64 {

    debug {
        DESTDIR = $$TARGETDIR/debug
        CONFIG += debug
    }

    release {
        DESTDIR = $$TARGETDIR/release
    }

    QMAKE_POST_LINK += cp -rf $$BASEDIR/audio $$DESTDIR/.

    INCLUDEPATH += /usr/include \
                   /usr/include/qt4/phonon
              # $$BASEDIR/lib/flite/include \
              # $$BASEDIR/lib/flite/lang

    # 64-bit Linux
    message(Building for GNU/Linux 64bit/x64 (g++-64))

    LIBS += \
        -L/usr/lib \
        -lm \
        -lflite_cmu_us_kal \
        -lflite_usenglish \
        -lflite_cmulex \
        -lflite \
        -lSDL \
        -lSDLmain

    exists(/usr/include/osg) {
    message("Building support for OpenSceneGraph")
    DEPENDENCIES_PRESENT += osg
    # Include OpenSceneGraph libraries
    LIBS += -losg \
            -losgViewer
    DEFINES += QGC_OSG_ENABLED
    }

    exists(/usr/include/osgEarth) {
    message("Building support for osgEarth")
    DEPENDENCIES_PRESENT += osgearth
    # Include osgEarth libraries
    LIBS += -losgEarth \
            -losgEarthUtil
    DEFINES += QGC_OSGEARTH_ENABLED
    }

    exists(/usr/local/include/libfreenect) {
    message("Building support for libfreenect")
    DEPENDENCIES_PRESENT += libfreenect
    INCLUDEPATH += /usr/include/libusb-1.0
    # Include libfreenect libraries
    LIBS += -lfreenect
    DEFINES += QGC_LIBFREENECT_ENABLED
    }

    QMAKE_POST_LINK += && cp -rf $$BASEDIR/models $$DESTDIR
    QMAKE_POST_LINK += && cp -rf $$BASEDIR/data $$DESTDIR
    QMAKE_POST_LINK += && mkdir -p $$DESTDIR/images
    QMAKE_POST_LINK += && cp -rf $$BASEDIR/images/Vera.ttf $$DESTDIR/images/Vera.ttf

    # osg/osgEarth dynamic casts might fail without this compiler option.
    # see http://osgearth.org/wiki/FAQ for details.
    QMAKE_CXXFLAGS += -Wl,-E
}

# Windows (32bit)
win32-msvc2008 {

    message(Building for Windows Visual Studio 2008 (32bit))

    CONFIG += qaxcontainer

    # Special settings for debug
    #CONFIG += CONSOLE

    INCLUDEPATH += $$BASEDIR/lib/sdl/msvc/include \
                   $$BASEDIR/lib/opal/include \
                   $$BASEDIR/lib/msinttypes
                   #"C:\Program Files\Microsoft SDKs\Windows\v7.0\Include"

    LIBS += -L$$BASEDIR/lib/sdl/msvc/lib \
             -lSDLmain -lSDL

exists($$BASEDIR/lib/osg123) {
message("Building support for OSG")
DEPENDENCIES_PRESENT += osg

# Include OpenSceneGraph and osgEarth libraries
INCLUDEPATH += $$BASEDIR/lib/osgEarth/win32/include \
    $$BASEDIR/lib/osgEarth_3rdparty/win32/OpenSceneGraph-2.8.2/include
LIBS += -L$$BASEDIR/lib/osgEarth_3rdparty/win32/OpenSceneGraph-2.8.2/lib \
    -losg \
    -losgViewer \
	-losgGA \
	-losgDB \
	-losgText \
        -lOpenThreads
DEFINES += QGC_OSG_ENABLED
exists($$BASEDIR/lib/osgEarth123) {
    DEPENDENCIES_PRESENT += osgearth
    message("Building support for osgEarth")
    DEFINES += QGC_OSGEARTH_ENABLED
    LIBS += -L$$BASEDIR/lib/osgEarth/win32/lib \
        -losgEarth \
        -losgEarthUtil
}
}

    RC_FILE = $$BASEDIR/qgroundcontrol.rc

    # Copy dependencies
    BASEDIR_WIN = $$replace(BASEDIR,"/","\\")
    TARGETDIR_WIN = $$replace(TARGETDIR,"/","\\")

    debug {
        QMAKE_POST_LINK += && copy /Y \"$$BASEDIR_WIN\\lib\\sdl\\win32\\SDL.dll\" \"$$TARGETDIR_WIN\\debug\\SDL.dll\"
        QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\audio\" \"$$TARGETDIR_WIN\debug\audio\" /S /E /Y
        QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\models\" \"$$TARGETDIR_WIN\debug\models\" /S /E /Y
        QMAKE_POST_LINK += && copy /Y \"$$BASEDIR/images/earth.html $$TARGETDIR_WIN\debug\"
    }

    release {
        QMAKE_POST_LINK += && copy /Y \"$$BASEDIR_WIN\lib\sdl\win32\SDL.dll\" \"$$TARGETDIR_WIN\release\SDL.dll\"
        QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\audio\" \"$$TARGETDIR_WIN\release\audio\" /S /E /Y
        QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\models\" \"$$TARGETDIR_WIN\release\models\" /S /E /Y
        QMAKE_POST_LINK += && copy /Y \"$$BASEDIR/images/earth.html $$TARGETDIR_WIN\release\"
    }

}

# Windows (32bit)
win32-g++ {

    message(Building for Windows Platform (32bit))

    # Special settings for debug
    #CONFIG += CONSOLE

    INCLUDEPATH += $$BASEDIR/lib/sdl/include \
                   $$BASEDIR/lib/opal/include #\ #\
                   #"C:\Program Files\Microsoft SDKs\Windows\v7.0\Include"

    LIBS += -L$$BASEDIR/lib/sdl/win32 \
             -lmingw32 -lSDLmain -lSDL -mwindows

    debug {
        #DESTDIR = $$BUILDDIR/debug
    }

    release {
        #DESTDIR = $$BUILDDIR/release
    }

    RC_FILE = $$BASEDIR/qgroundcontrol.rc

    # Copy dependencies

    debug {
        QMAKE_POST_LINK += && cp $$BASEDIR/lib/sdl/win32/SDL.dll $$TARGETDIR/debug/SDL.dll
        QMAKE_POST_LINK += && cp -r $$BASEDIR/audio $$TARGETDIR/debug/audio
        QMAKE_POST_LINK += && cp -r $$BASEDIR/models $$TARGETDIR/debug/models
    }

    release {
        QMAKE_POST_LINK += && cp $$BASEDIR/lib/sdl/win32/SDL.dll $$TARGETDIR/release/SDL.dll
        QMAKE_POST_LINK += && cp -r $$BASEDIR/audio $$TARGETDIR/release/audio
        QMAKE_POST_LINK += && cp -r $$BASEDIR/models $$TARGETDIR/release/models
    }

    # osg/osgEarth dynamic casts might fail without this compiler option.
    # see http://osgearth.org/wiki/FAQ for details.
    QMAKE_CXXFLAGS += -Wl,-E
}


Install to /opt/glimpse on linux. Also link with rpath to avoid the need of a startup script that changes LD_LIBRARY_PATH or does a LD_PRELOAD.

win32 {
} else: osx {
} else: ios {
} else: android {
} else: linux {
    # Set the rpath, otherwise we can't load the client applications without changing LD_LIBRARY_PATH
    QMAKE_LFLAGS += -Wl,-z,origin \'-Wl,-rpath,\$\$ORIGIN\'

    target.path = /opt/glimpse
    INSTALLS += target
} else {
    error(No distribution for this platform defined)
}

win32 {
} else: osx {
} else: ios {
} else: android {
} else: linux {
} else {
    error(No distribution for this platform defined)
}


tooooo many empty strings in nxtOsek.pri

HEADERS += \
	nxtOSEK/elementGeneratorFactory.h \
	nxtOSEK/nxtFlashTool.h \
	nxtOSEK/nxtOSEKRobotGenerator.h \
	nxtOSEK/smartLine.h \
	nxtOSEK/generators/abstractElementGenerator.h \
	nxtOSEK/generators/functionElementGenerator.h \
	nxtOSEK/generators/ifElementGenerator.h \
	nxtOSEK/generators/loopElementGenerator.h \
	nxtOSEK/generators/simpleElementGenerator.h \
	nxtOSEK/generators/simpleElements/abstractSimpleElementGenerator.h \
	nxtOSEK/generators/simpleElements/enginesForwardGenerator.h \
	nxtOSEK/generators/simpleElements/enginesBackwardGenerator.h \
	nxtOSEK/generators/simpleElements/enginesStopGenerator.h \
	nxtOSEK/generators/simpleElements/timerGenerator.h \
	nxtOSEK/generators/simpleElements/beepGenerator.h \
	nxtOSEK/generators/simpleElements/playToneGenerator.h \
	nxtOSEK/generators/simpleElements/finalNodeGenerator.h \
	nxtOSEK/generators/simpleElements/nullificationEncoderGenerator.h \
	nxtOSEK/generators/simpleElements/initialBlockGenerator.h \
	nxtOSEK/generators/simpleElements/waitForColorBlockGenerator.h \
	nxtOSEK/generators/simpleElements/waitForColorIntensityBlockGenerator.h \
	nxtOSEK/generators/simpleElements/balanceGenerator.h \
	nxtOSEK/generators/simpleElements/waitForLightBlockGenerator.h \
	nxtOSEK/generators/simpleElements/waitForSonarBlockGenerator.h \
	nxtOSEK/generators/simpleElements/waitForEncoderBlockGenerator.h \
	nxtOSEK/generators/simpleElements/waitForTouchSensorBlockGenerator.h \
	nxtOSEK/generators/simpleElements/variableInitGenerator.h \
	nxtOSEK/generators/simpleElements/balanceInitGenerator.h \
	nxtOSEK/generators/simpleElementFactory.h \
	nxtOSEK/generators/simpleElements/initialNodeGenerator.h

SOURCES += \
	nxtOSEK/elementGeneratorFactory.cpp \
	nxtOSEK/nxtFlashTool.cpp \
	nxtOSEK/nxtOSEKRobotGenerator.cpp \
	nxtOSEK/smartLine.cpp \
	nxtOSEK/generators/abstractElementGenerator.cpp \
	nxtOSEK/generators/functionElementGenerator.cpp \
	nxtOSEK/generators/ifElementGenerator.cpp \
	nxtOSEK/generators/loopElementGenerator.cpp \
	nxtOSEK/generators/simpleElementGenerator.cpp \
	nxtOSEK/generators/simpleElements/abstractSimpleElementGenerator.cpp \
	nxtOSEK/generators/simpleElements/enginesForwardGenerator.cpp \
	nxtOSEK/generators/simpleElements/enginesBackwardGenerator.cpp \
	nxtOSEK/generators/simpleElements/enginesStopGenerator.cpp \
	nxtOSEK/generators/simpleElements/timerGenerator.cpp \
	nxtOSEK/generators/simpleElements/beepGenerator.cpp \
	nxtOSEK/generators/simpleElements/playToneGenerator.cpp \
	nxtOSEK/generators/simpleElements/finalNodeGenerator.cpp \
	nxtOSEK/generators/simpleElements/nullificationEncoderGenerator.cpp \
	nxtOSEK/generators/simpleElements/initialBlockGenerator.cpp \
	nxtOSEK/generators/simpleElements/waitForColorBlockGenerator.cpp \
	nxtOSEK/generators/simpleElements/waitForColorIntensityBlockGenerator.cpp \
	nxtOSEK/generators/simpleElements/balanceGenerator.cpp \
	nxtOSEK/generators/simpleElements/waitForLightBlockGenerator.cpp \
	nxtOSEK/generators/simpleElements/waitForSonarBlockGenerator.cpp \
	nxtOSEK/generators/simpleElements/waitForEncoderBlockGenerator.cpp \
	nxtOSEK/generators/simpleElements/waitForTouchSensorBlockGenerator.cpp \
	nxtOSEK/generators/simpleElements/variableInitGenerator.cpp \
	nxtOSEK/generators/simpleElements/balanceInitGenerator.cpp \
	nxtOSEK/generators/simpleElementFactory.cpp \
	nxtOSEK/generators/simpleElements/initialNodeGenerator.cpp


Version 1.6

Version 1.6


change version to 0.2.0

change version to 0.2.0

git-svn-id: e2fa1b4f04257a65cc3162f75ad5f19d327daceb@642 85bd2434-ea95-11dd-8fb1-9960f2a117f8

# Common definitions

QXMPP_VERSION = 0.2.0
QXMPP_INCLUDE_DIR = $$PWD/src
QXMPP_LIBRARY_DIR = $$PWD/lib

CONFIG(debug, debug|release) {
    QXMPP_LIBRARY_NAME = qxmpp_d
} else {
    QXMPP_LIBRARY_NAME = qxmpp
}

# Common definitions

QXMPP_VERSION = 0.1.93
QXMPP_INCLUDE_DIR = $$PWD/src
QXMPP_LIBRARY_DIR = $$PWD/lib

CONFIG(debug, debug|release) {
    QXMPP_LIBRARY_NAME = qxmpp_d
} else {
    QXMPP_LIBRARY_NAME = qxmpp
}


Fix qmake's warning about unescaped backslashes.

RevBy: Jon Nordby, Michael Hasselmann

QMAKE_EXTRA_TARGETS += check
check.target = check

enable-legacy {
    framework_pc = MeegoImFramework
} else {
    framework_pc = maliit-plugins-0.80
}

framework_libdirs = $$system(pkg-config --libs-only-L $$framework_pc | tr \' \' \'\\n\' | grep ^-L | cut -d L -f 2- | tr \'\\n\' \':\')
# Note: already contains : delimiters, including one at the end

check.commands = \
    LD_LIBRARY_PATH=$$framework_libdirs$$[QT_INSTALL_LIBS]:$(LD_LIBRARY_PATH) \
    ./$$TARGET

check.depends += $$TARGET

QMAKE_EXTRA_TARGETS += check
check.target = check

enable-legacy {
    framework_pc = MeegoImFramework
} else {
    framework_pc = maliit-plugins-0.80
}

framework_libdirs = $$system(pkg-config --libs-only-L $$framework_pc | tr \' \' \'\n\' | grep ^-L | cut -d L -f 2- | tr \'\n\' \':\')
# Note: already contains : delimiters, including one at the end

check.commands = \
    LD_LIBRARY_PATH=$$framework_libdirs$$[QT_INSTALL_LIBS]:$(LD_LIBRARY_PATH) \
    ./$$TARGET

check.depends += $$TARGET


remove nonexistent include path from glsl.pri

Change-Id: I66afdc3a380f9e5b901906349863e33ae353b2ae
Reviewed-by: Roberto Raggi <5b38c5be65ca2d75b92c40e91029e90f276fd4fe@nokia.com>

INCLUDEPATH += \
    $$PWD/../../shared \
    $$PWD/../../shared/glsl \
    $$PWD/../../shared/glsl/parser

LIBS *= -l$$qtLibraryName(GLSL)
DEFINES += QT_CREATOR