decode/descriptor: clean up dvbpsi version support in descriptor.pri

Signed-off-by: Michael Ira Krufky <00524723a60798c74a43fcc620c25dd7b9ece078@linuxtv.org>

INCLUDEPATH += $$PWD

DESCRIPTOR_REQ_DVBPSI_V0_2_SOURCES = \
    $$PWD/desc_0a.cpp \
    $$PWD/desc_48.cpp \
    $$PWD/desc_4d.cpp

DESCRIPTOR_REQ_DVBPSI_V1_SOURCES = \
    $$DESCRIPTOR_REQ_DVBPSI_V0_2_SOURCES \
    $$PWD/desc_62.cpp \
    $$PWD/desc_83.cpp

DESCRIPTOR_REQ_DVBPSI_V1_2_SOURCES = \
    $$DESCRIPTOR_REQ_DVBPSI_V1_SOURCES \
    $$PWD/desc_81.cpp \
    $$PWD/desc_86.cpp \
    $$PWD/desc_a0.cpp \
    $$PWD/desc_a1.cpp

DESCRIPTOR_SOURCES = \
    $$PWD/descriptor.cpp

# FIXME: autodetect
DESCRIPTOR_SOURCES += \
    $$DESCRIPTOR_REQ_DVBPSI_V1_2_SOURCES

HEADERS += \
    $$PWD/desc_0a.h \
    $$PWD/desc_48.h \
    $$PWD/desc_4d.h \
    $$PWD/desc_62.h \
    $$PWD/desc_81.h \
    $$PWD/desc_83.h \
    $$PWD/desc_86.h \
    $$PWD/desc_a0.h \
    $$PWD/desc_a1.h \
    $$PWD/descriptor.h

INCLUDEPATH += $$PWD

DESCRIPTOR_REQ_DVBPSI_V1_2_SOURCES = \
    $$PWD/desc_81.cpp \
    $$PWD/desc_86.cpp \
    $$PWD/desc_a0.cpp \
    $$PWD/desc_a1.cpp

DESCRIPTOR_REQ_DVBPSI_V1_SOURCES = \
    $$DESCRIPTOR_REQ_DVBPSI_V1_2_SOURCES \
    $$PWD/desc_62.cpp \
    $$PWD/desc_83.cpp

DESCRIPTOR_SOURCES = \
    $$DESCRIPTOR_REQ_DVBPSI_V1_SOURCES \
    $$PWD/desc_0a.cpp \
    $$PWD/desc_48.cpp \
    $$PWD/desc_4d.cpp \
    $$PWD/descriptor.cpp

HEADERS += \
    $$PWD/desc_0a.h \
    $$PWD/desc_48.h \
    $$PWD/desc_4d.h \
    $$PWD/desc_62.h \
    $$PWD/desc_81.h \
    $$PWD/desc_83.h \
    $$PWD/desc_86.h \
    $$PWD/desc_a0.h \
    $$PWD/desc_a1.h \
    $$PWD/descriptor.h


Symbian: fix camera pri-file line endings

INCLUDEPATH += $$PWD

exists($${EPOCROOT}epoc32\include\ecamadvancedsettings.h) {
    symbian:LIBS += -lecamadvsettings
    DEFINES += USE_S60_32_ECAM_ADVANCED_SETTINGS_HEADER
    message("Using from s60 3.2 CCameraAdvancedSettings header")
}
exists($${EPOCROOT}epoc32\include\ecamadvsettings.h) {
    symbian:LIBS += -lecamadvsettings
    DEFINES += USE_S60_50_ECAM_ADVANCED_SETTINGS_HEADER
    message("Using from s60 5.0 CCameraAdvancedSettings header")
}

symbian:LIBS += -lcamerawrapper \
    -lfbscli

HEADERS += $$PWD/s60camerafocuscontrol.h \
    $$PWD/s60cameraexposurecontrol.h \
    $$PWD/s60cameracontrol.h \
    $$PWD/s60mediacontrol.h \
    $$PWD/s60camerasession.h \
    $$PWD/s60mediacontainercontrol.h \
    $$PWD/s60videoencoder.h \
    $$PWD/s60cameraservice.h \
    $$PWD/s60cameraimageprocessingcontrol.h \
    $$PWD/s60cameraimagecapturecontrol.h \
    $$PWD/s60cameravideodevicecontrol.h \
    $$PWD/s60cameraimageencodercontrol.h \
    $$PWD/s60viewfinderwidget.h \
    $$PWD/s60camerasettings.h
SOURCES += $$PWD/s60camerafocuscontrol.cpp \
    $$PWD/s60cameraexposurecontrol.cpp \
    $$PWD/s60cameracontrol.cpp \
    $$PWD/s60mediacontrol.cpp \
    $$PWD/s60camerasession.cpp \
    $$PWD/s60mediacontainercontrol.cpp \
    $$PWD/s60videoencoder.cpp \
    $$PWD/s60cameraservice.cpp \
    $$PWD/s60cameraimageprocessingcontrol.cpp \
    $$PWD/s60cameraimagecapturecontrol.cpp \
    $$PWD/s60cameravideodevicecontrol.cpp \
    $$PWD/s60cameraimageencodercontrol.cpp \
    $$PWD/s60viewfinderwidget.cpp \
    $$PWD/s60camerasettings.cpp


Remove script-private dependency from qml2puppet

Change-Id: If040844310105970f645f413cfc005abdb95994c
Reviewed-by: Thomas Hartmann <588ee739c05aab7547907becfd1420d2b7316069@digia.com>

QT += core gui widgets qml quick network
!isEmpty(QT.webkit.name) {
    QT += webkit
}

!isEmpty(QT.v8.name) {
    QT += v8
}

QT += core-private qml-private quick-private gui-private

!isEmpty(QT.v8.name) {
    QT += v8-private
}

!macx {
    CONFIG += c++11
}

DEFINES += QWEAKPOINTER_ENABLE_ARROW
DEFINES -= QT_CREATOR

include (../instances/instances.pri)
include (instances/instances.pri)
include (../commands/commands.pri)
include (../container/container.pri)
include (../interfaces/interfaces.pri)
include (../types/types.pri)

QT_BREAKPAD_ROOT_PATH = $$(QT_BREAKPAD_ROOT_PATH)
!isEmpty(QT_BREAKPAD_ROOT_PATH) {
    include($$QT_BREAKPAD_ROOT_PATH/qtbreakpad.pri)
}

SOURCES +=  $$PWD/qml2puppetmain.cpp
RESOURCES +=  $$PWD/../qmlpuppet.qrc
DEFINES -= QT_NO_CAST_FROM_ASCII

OTHER_FILES += Info.plist.in
macx {
    isEmpty(QTCREATOR_PRI_INCLUDED) {
        # So this .pri file is used by
        # compiling the sources that were deployed to Qt Creator,
        # and the Info.plist was generated by static.pro at build time
        QMAKE_INFO_PLIST = $$PWD/Info.plist
    } else {
        # So this .pri file is used from Qt Creator source tree,
        # and we need to generate the Info.plist
        info.input = $$PWD/Info.plist.in
        info.output = $$DESTDIR/$${TARGET}.app/Contents/Info.plist
        QMAKE_SUBSTITUTES += info
    }
} else {
    target.path  = $$QTC_PREFIX/bin
    INSTALLS    += target
}

QT += core gui widgets qml quick network
!isEmpty(QT.webkit.name) {
    QT += webkit
}

!isEmpty(QT.v8.name) {
    QT += v8
}

QT += core-private qml-private quick-private gui-private script-private

!isEmpty(QT.v8.name) {
    QT += v8-private
}

!macx {
    CONFIG += c++11
}

DEFINES += QWEAKPOINTER_ENABLE_ARROW
DEFINES -= QT_CREATOR

include (../instances/instances.pri)
include (instances/instances.pri)
include (../commands/commands.pri)
include (../container/container.pri)
include (../interfaces/interfaces.pri)
include (../types/types.pri)

QT_BREAKPAD_ROOT_PATH = $$(QT_BREAKPAD_ROOT_PATH)
!isEmpty(QT_BREAKPAD_ROOT_PATH) {
    include($$QT_BREAKPAD_ROOT_PATH/qtbreakpad.pri)
}

SOURCES +=  $$PWD/qml2puppetmain.cpp
RESOURCES +=  $$PWD/../qmlpuppet.qrc
DEFINES -= QT_NO_CAST_FROM_ASCII

OTHER_FILES += Info.plist.in
macx {
    isEmpty(QTCREATOR_PRI_INCLUDED) {
        # So this .pri file is used by
        # compiling the sources that were deployed to Qt Creator,
        # and the Info.plist was generated by static.pro at build time
        QMAKE_INFO_PLIST = $$PWD/Info.plist
    } else {
        # So this .pri file is used from Qt Creator source tree,
        # and we need to generate the Info.plist
        info.input = $$PWD/Info.plist.in
        info.output = $$DESTDIR/$${TARGET}.app/Contents/Info.plist
        QMAKE_SUBSTITUTES += info
    }
} else {
    target.path  = $$QTC_PREFIX/bin
    INSTALLS    += target
}


Add recognizing of mouse gestures

Add recognizing of mouse gestures

HEADERS += view/editorview.h \
    view/editorviewscene.h \
    view/editorviewmviface.h \
    view/gestures/pathcorrector.h \
    view/gestures/mousemovementmanager.h \
    view/gestures/levenshteindistance.h \
    view/gestures/keymanager.h \
    view/gestures/IKeyManager.h

SOURCES += view/editorview.cpp \
    view/editorviewscene.cpp \
    view/editorviewmviface.cpp \
    view/gestures/pathcorrector.cpp \
    view/gestures/mousemovementmanager.cpp \
    view/gestures/levenshteindistance.cpp \
    view/gestures/keymanager.cpp

HEADERS += view/editorview.h \
    view/editorviewscene.h \
    view/editorviewmviface.h
SOURCES += view/editorview.cpp \
    view/editorviewscene.cpp \
    view/editorviewmviface.cpp


странно

странно

win32 {
        CONFIG(debug, debug|release) {
                QMAKE_QRXC = $$PWD/debug/qrxc.exe
        } else:CONFIG(release, debug|release){
                QMAKE_QRXC = $$PWD/release/qrxc.exe
        } else {
                error(Windows build definitely needs to be fixed)
        }
} else {
        QMAKE_QRXC = $$PWD/qrxc
}

CONFIG(debug, debug|release) {
	QR_PLUGIN_CONFIG = CONFIG+=debug
} else:CONFIG(release, debug|release){
	QR_PLUGIN_CONFIG = CONFIG+=release
} else {
	error(CONFIG is wrong, can not determine build configuration for plugins)
}

qrxc_source.depends = ../pluginTemplate.cpp $$QMAKE_QRXC $$QREAL_XML_DEPENDS
qrxc_source.commands = $$QMAKE_QRXC $$QREAL_XML
qrxc_source.input = QREAL_XML
qrxc_source.output = generated/pluginInterface.cpp
qrxc_source.variable_out = SOURCES

qrxc_header.depends = ../pluginTemplate.cpp $$QMAKE_QRXC $$QREAL_XML_DEPENDS
qrxc_header.commands = $$FAKE
qrxc_header.input = QREAL_XML
qrxc_header.output = generated/pluginInterface.h generated/elements.h
qrxc_header.variable_out = HEADERS

qrxc_resource.depends = ../pluginTemplate.cpp $$QMAKE_QRXC $$QREAL_XML_DEPENDS
qrxc_resource.commands = $$FAKE
qrxc_resource.input = QREAL_XML
qrxc_resource.output = generated/shapes/plugin.qrc
qrxc_resource.variable_out = RESOURCES

QMAKE_EXTRA_COMPILERS += qrxc_source qrxc_header qrxc_resource

QRXML_ROOT = ..

!include (../editorsSdk.pri) {
	message("editorsSdk.pri not found at ../")
}

QT += xml

TEMPLATE =  lib
CONFIG += plugin
DESTDIR = ../../qrgui/plugins/
INCLUDEPATH += ../..

OBJECTS_DIR = .obj
MOC_DIR = .moc
RCC_DIR = .moc

win32 {
        CONFIG(debug, debug|release) {
                QMAKE_QRXC = $$PWD/debug/qrxc.exe
        } else:CONFIG(release, debug|release){
                QMAKE_QRXC = $$PWD/release/qrxc.exe
        } else {
                error(Windows build definitely needs to be fixed)
        }
} else {
        QMAKE_QRXC = $$PWD/qrxc
}

CONFIG(debug, debug|release) {
	QR_PLUGIN_CONFIG = CONFIG+=debug
} else:CONFIG(release, debug|release){
	QR_PLUGIN_CONFIG = CONFIG+=release
} else {
	error(CONFIG is wrong, can not determine build configuration for plugins)
}

qrxc_source.depends = ../pluginTemplate.cpp $$QMAKE_QRXC $$QREAL_XML_DEPENDS
qrxc_source.commands = $$QMAKE_QRXC $$QREAL_XML
qrxc_source.input = QREAL_XML
qrxc_source.output = generated/pluginInterface.cpp
qrxc_source.variable_out = SOURCES

qrxc_header.depends = ../pluginTemplate.cpp $$QMAKE_QRXC $$QREAL_XML_DEPENDS
qrxc_header.commands = $$FAKE
qrxc_header.input = QREAL_XML
qrxc_header.output = generated/pluginInterface.h generated/elements.h
qrxc_header.variable_out = HEADERS

qrxc_resource.depends = ../pluginTemplate.cpp $$QMAKE_QRXC $$QREAL_XML_DEPENDS
qrxc_resource.commands = $$FAKE
qrxc_resource.input = QREAL_XML
qrxc_resource.output = generated/shapes/plugin.qrc
qrxc_resource.variable_out = RESOURCES

QMAKE_EXTRA_COMPILERS += qrxc_source qrxc_header qrxc_resource

QRXML_ROOT = ..

!include (../editorsSdk.pri) {
	message("editorsSdk.pri not found at ../")
}

QT += xml

TEMPLATE =  lib
CONFIG += plugin
DESTDIR = ../../qrgui/plugins/
INCLUDEPATH += ../..

OBJECTS_DIR = .obj
MOC_DIR = .moc
RCC_DIR = ../


Fixed build under linux

Fixed build under linux

win32 {
	HEADERS += \
		thirdparty/windowsmodernstyle.h \

	SOURCES += \
		thirdparty/windowsmodernstyle.cpp \
}

HEADERS += \
	thirdparty/qsKineticScroller.h \

SOURCES += \
	thirdparty/qsKineticScroller.cpp \

include (qtpropertybrowser/src/qtpropertybrowser.pri)

win32{
	HEADERS += \
		thirdparty/windowsmodernstyle.h \
		thirdparty/qsKineticScroller.h \

	SOURCES += \
		thirdparty/windowsmodernstyle.cpp \
		thirdparty/qsKineticScroller.cpp \
}

include (qtpropertybrowser/src/qtpropertybrowser.pri)


Enhanced support of SBW

Enhanced support of SBW

# Begin CVS Header
#   $Source: /Volumes/Home/Users/shoops/cvs/copasi_dev/copasi/common.pri,v $
#   $Revision: 1.92 $
#   $Name:  $
#   $Author: shoops $
#   $Date: 2008/10/03 19:44:11 $
# End CVS Header

# Copyright (C) 2008 by Pedro Mendes, Virginia Tech Intellectual
# Properties, Inc., EML Research, gGmbH, University of Heidelberg,
# and The University of Manchester.
# All rights reserved.

# Copyright (C) 2001 - 2007 by Pedro Mendes, Virginia Tech Intellectual
# Properties, Inc. and EML Research, gGmbH.
# All rights reserved.

######################################################################
# $Revision: 1.92 $ $Author: shoops $ $Date: 2008/10/03 19:44:11 $
######################################################################

# In the case the BUILD_OS is not specified we make a guess.
isEmpty(BUILD_OS) {
  win32 {
    BUILD_OS = WIN32
  } else {
    BUILD_OS = $$system(uname)
  }
}
DEFINES += $$BUILD_OS
message("Configuring for $${BUILD_OS} with QTDIR=$(QTDIR).")

TARGETDEPS += Makefile

# Common configuration settings
CONFIG += exceptions
CONFIG += rtti
CONFIG += thread

#ifdef COPASI_LICENSE_COM
# COPASI License to use
DEFINES -= COPASI_LICENSE_US
DEFINES -= COPASI_LICENSE_DE
DEFINES -= COPASI_LICENSE_COM
DEFINES += COPASI_LICENSE_$$USE_LICENSE
#endif // COPASI_LICENSE_COM

INCLUDEPATH += ../..
QMAKE_CFLAGS   += $$(CFLAGS)
QMAKE_CXXFLAGS += $$(CXXFLAGS)
QMAKE_LFLAGS  += $$(LDFLAGS)

DEFINES += COPASI_TSSA

debug {
  DEFINES += COPASI_DEBUG

  isEmpty(COPASI_SRC_PACKAGE) {
    # DEFINES += COPASI_TSS
    #  stoichiometric stability analysis:
    # DEFINES += COPASI_SSA
  }
}

isEmpty(COPASI_SRC_PACKAGE) {
  DEFINES += HAVE_MML
}

contains(STATIC_LINKAGE, yes) {
  DEFINES+=XML_STATIC
  DEFINES+=LIBSBML_STATIC
}

!contains(BUILD_OS, WIN32) {
  #Release code optimization
  QMAKE_CFLAGS_RELEASE -= -O1
  QMAKE_CFLAGS_RELEASE -= -O2
  QMAKE_CFLAGS_RELEASE -= -O4
  QMAKE_CFLAGS_RELEASE += -O3

  QMAKE_CXXFLAGS_RELEASE -= -O1
  QMAKE_CXXFLAGS_RELEASE -= -O2
  QMAKE_CXXFLAGS_RELEASE -= -O4
  QMAKE_CXXFLAGS_RELEASE += -O3

  QMAKE_QMAKE = $(QTDIR)/bin/qmake
  QMAKE_LEX = ../../admin/flex.sh
  QMAKE_YACC = ../../admin/yacc.sh

  # The character # (hex 23) can not be escaped we therefore create
  # a variable containing it
  HASH = $$system(echo "\\043")
  contains(HASH, \\043){
    HASH = $$system(echo -e "\\043")
  }
}

contains(BUILD_OS, Darwin) {
  release {
    contains(TEMPLATE, app) {
      QMAKE_POST_LINK = strip $(TARGET)
    }
  }

  INCLUDEPATH += /System/Library/Frameworks/Accelerate.framework/Headers
  INCLUDEPATH += /System/Library/Frameworks/Carbon.framework/Headers

  !isEmpty(SBML_PATH){
    LIBS +=  $${SBML_PATH}/lib/libsbml.a
    INCLUDEPATH += $${SBML_PATH}/include
  } else {
    LIBS += -lsbml
  }

  !isEmpty(EXPAT_PATH){
    LIBS+=  $${EXPAT_PATH}/lib/libexpat.a
    INCLUDEPATH += $${EXPAT_PATH}/include
  } else {
    LIBS += -lexpat
  }

  !isEmpty(RAPTOR_PATH){
    LIBS+=  $${RAPTOR_PATH}/lib/libraptor.a
    INCLUDEPATH += $${RAPTOR_PATH}/include
  } else {
    LIBS += -lraptor
  }

  !isEmpty(SBW_PATH){
    LIBS+=  $${SBW_PATH}/lib/libSBW.a
    INCLUDEPATH += $${SBW_PATH}/include
    DEFINES += COPASI_SBW_INTEGRATION
    DEFINES += LINUX DARWIN
  }

  contains(CONFIG, qt) {

    !isEmpty(QWT_PATH){
       LIBS+=  $${QWT_PATH}/lib/libqwt.a
       INCLUDEPATH += $${QWT_PATH}/include
    } else {
      LIBS += -lqwt
    }

    !isEmpty(QWT3D_PATH){
      LIBS +=  $${QWT3D_PATH}/lib/libqwtplot3d.a
      INCLUDEPATH += $${QWT3D_PATH}/include
    } else {
      LIBS += -lqwtplot3d
    }

    LIBS += $(QTDIR)/lib/libqt-mt.a

    QMAKE_LIBS_QT =
    QMAKE_LIBS_QT_THREAD =
  }

  LIBS += -framework Accelerate
  LIBS += -framework Carbon
  LIBS += -framework QuickTime
  LIBS += -lz
}

contains(BUILD_OS, WIN32) {
  QMAKE_QMAKE = $(QTDIR)\bin\qmake.exe
  QMAKE_LEX = C:\cygwin\bin\bash ../../admin/flex.sh
  QMAKE_YACC = C:\cygwin\bin\bash ../../admin/yacc.sh

  DEFINES -= UNICODE

  debug {
    !win32-msvc2005 {
      QMAKE_LFLAGS += /NODEFAULTLIB:"libcmt.lib"
    }

    QMAKE_LFLAGS += /NODEFAULTLIB:"msvcrt.lib"
  }

  #Release code optimization
  QMAKE_CFLAGS_RELEASE -= -O1
  QMAKE_CFLAGS_RELEASE += -O2

  QMAKE_CXXFLAGS_RELEASE -= -O1
  QMAKE_CXXFLAGS_RELEASE += -O2

  !isEmpty(MKL_PATH) {
    DEFINES += USE_MKL
    QMAKE_CXXFLAGS += -I"$${MKL_PATH}\include"
    QMAKE_LFLAGS += /LIBPATH:"$${MKL_PATH}\ia32\lib"
    QMAKE_LFLAGS += /LIBPATH:"$${MKL_PATH}\..\Compiler\C++\9.0\IA32\Lib"
    LIBS += mkl_c.lib
  } else {
    !isEmpty(CLAPACK_PATH) {
      DEFINES += USE_CLAPACK
      QMAKE_CXXFLAGS   += -I"$${CLAPACK_PATH}\include"
      QMAKE_LFLAGS += /LIBPATH:"$${CLAPACK_PATH}\lib"
      LIBS += clapack.lib
    } else {
      error( "Either MKL_PATH or CLAPACK_PATH must be specified" )
    }
  }

  !isEmpty(EXPAT_PATH) {
    QMAKE_CXXFLAGS   += -I"$${EXPAT_PATH}\Source\lib"
    QMAKE_CXXFLAGS   += -I"$${EXPAT_PATH}\include"
    QMAKE_LFLAGS += /LIBPATH:"$${EXPAT_PATH}\StaticLibs"
    QMAKE_LFLAGS += /LIBPATH:"$${EXPAT_PATH}\bin"
    QMAKE_LFLAGS += /LIBPATH:"$${EXPAT_PATH}\lib"
    contains(STATIC_LINKAGE, yes) {
      LIBS += libexpatMT.lib
    } else {
      LIBS += libexpat.lib
    }
  } else {
    error( "EXPAT_PATH must be specified" )
  }

  # Add libsbml
  win32-msvc2005 {
    release {
      LIBS += libsbml.lib
    }
    debug {
      LIBS += libsbmlD.lib
    }
  } else {
    LIBS += libsbml.lib
  }

  !isEmpty(SBML_PATH) {
    QMAKE_CXXFLAGS   += -I"$${SBML_PATH}\include"
    QMAKE_LFLAGS += /LIBPATH:"$${SBML_PATH}\lib"
    QMAKE_LFLAGS += /LIBPATH:"$${SBML_PATH}\bin"
  } else {
    error( "SBML_PATH must be specified" )
  }

# The raptor library
  release {
    LIBS += raptor.lib
  }
  debug {
    LIBS += raptorD.lib
  }

  !isEmpty(RAPTOR_PATH) {
    QMAKE_CXXFLAGS   += -I"$${RAPTOR_PATH}\include"
    QMAKE_LFLAGS += /LIBPATH:"$${RAPTOR_PATH}\lib"
  } else {
    error( "RAPTOR_PATH must be specified" )
  }

  contains(CONFIG, qt) {
    LIBS += -lqwt

    release: LIBS += -lqwtplot3d
    debug: LIBS += -lqwtplot3dD
  }

  !isEmpty(SBW_PATH){
    LIBS+=  $${SBW_PATH}/lib/SBW.lib
    INCLUDEPATH += $${SBW_PATH}/include
    DEFINES += COPASI_SBW_INTEGRATION
    DEFINES += WIN32
  }

}

contains(BUILD_OS, SunOS) {
contains(STATIC_LINKAGE, yes) {
# :TODO: This should be set through configure.
  LIBS += -L/export/home/shoops/copasi/gcc/lib
}

  release {
    contains(TEMPLATE, app) {
# Note: This must be the SunOS strip command.
      QMAKE_POST_LINK = /usr/ccs/bin/strip $(TARGET)
    }
  }

  !isEmpty(CLAPACK_PATH) {
    DEFINES += USE_CLAPACK
    INCLUDEPATH += $${CLAPACK_PATH}/include
#    LIBS += -llapack -lblas -lF77 -lfl
    LIBS += -llapack -lblas -lF77
    LIBS += -L$${CLAPACK_PATH}/lib
  } else {
    !isEmpty(LAPACK_PATH) {
      message("Using lapack.")
      DEFINES += USE_LAPACK
      INCLUDEPATH += $${LAPACK_PATH}/include
      LIBS += -llapack -lblas  -lg2c
      LIBS += -L$${LAPACK_PATH}/lib
    } else {
      message("Using sunperf.")
      DEFINES += USE_SUNPERF
      LIBS += -lsunperf
      QMAKE_CFLAGS   += -dalign
      QMAKE_CXXFLAGS   += -dalign
    }
  }
  !isEmpty(EXPAT_PATH){
      LIBS+=  -L$${EXPAT_PATH}/lib
      INCLUDEPATH += $${EXPAT_PATH}/include
  }
  !isEmpty(SBML_PATH){
      LIBS+=  -L$${SBML_PATH}/lib
      INCLUDEPATH += $${SBML_PATH}/include
  }

  LIBS += -lsbml -lexpat

# The raptor library
  LIBS += -lraptor
  !isEmpty(RAPTOR_PATH){
      LIBS+=  -L$${RAPTOR_PATH}/lib
      INCLUDEPATH += $${RAPTOR_PATH}/include
  }

  contains(CONFIG, qt) {
    !isEmpty(QWT_PATH){
       LIBS+=  -L$${QWT_PATH}/lib
       INCLUDEPATH += $${QWT_PATH}/include
    }
    LIBS += -lqwt

    !isEmpty(QWT3D_PATH){
      LIBS += -L$${QWT3D_PATH}/lib/
      INCLUDEPATH += $${QWT3D_PATH}/include
    } else {
      LIBS += -lqwtplot3d
    }

    LIBS += -lSM
  } else {
    QMAKE_LIBS_THREAD -= -lpthread
    QMAKE_LIBS_THREAD -= -lrt
  }

  !isEmpty(SBW_PATH){
    LIBS+=  $${SBW_PATH}/lib/libSBW.a
    INCLUDEPATH += $${SBW_PATH}/include
    DEFINES += COPASI_SBW_INTEGRATION
    DEFINES += LINUX SOLARIS
  }
}

contains(BUILD_OS, Linux) {
  release {
    contains(TEMPLATE, app) {
      QMAKE_POST_LINK = strip $(TARGET)
    }
  }

  contains(PACKAGE, yes) {
    QMAKE_LFLAGS -= -static
  }
  else {
    contains(STATIC_LINKAGE, yes) {
      QMAKE_LFLAGS += -static
    }
    else {
      QMAKE_LFLAGS -= -static
    }
  }

  !isEmpty(SBML_PATH){
    INCLUDEPATH += $${SBML_PATH}/include
    INCLUDEPATH += $${SBML_PATH}/include/sbml

    contains(PACKAGE, yes) {
      LIBS += $${SBML_PATH}/lib/libsbml.a
    }
    else {
      LIBS += -L$${SBML_PATH}/lib
      LIBS += -lsbml
    }
  }
  else {
    contains(PACKAGE, yes) {
      error("SBML_PATH must be given.")
    }
    else {
      LIBS += -lsbml
    }
  }

  !isEmpty(EXPAT_PATH){
    INCLUDEPATH += $${EXPAT_PATH}/include

    contains(PACKAGE, yes) {
      LIBS += $${EXPAT_PATH}/lib/libexpat.a
    }
    else {
      LIBS += -L$${EXPAT_PATH}/lib
      LIBS += -lexpat
    }
  }
  else {
    contains(PACKAGE, yes) {
      error("EXPAT_PATH must be given.")
    }
    else {
      LIBS += -lexpat
    }
  }

# The raptor library
  !isEmpty(RAPTOR_PATH){
      LIBS +=  -L$${RAPTOR_PATH}/lib
      INCLUDEPATH += $${RAPTOR_PATH}/include

    contains(PACKAGE, yes) {
      LIBS += $${RAPTOR_PATH}/lib/libraptor.a
    }
    else {
      LIBS += -L$${RAPTOR_PATH}/lib
      LIBS += -lraptor
    }
  }
  else {
    contains(PACKAGE, yes) {
      error("RAPTOR_PATH must be given.")
    }
    else {
      LIBS += -lraptor
    }
  }

  !isEmpty(MKL_PATH) {
    DEFINES += USE_MKL
    INCLUDEPATH += $${MKL_PATH}/include
#    LIBS += -lmkl_lapack -lmkl_ia32 -lg2c -lpthread
    LIBS += -lmkl_lapack -lmkl_ia32 -lguide -lpthread
    LIBS  +=  -L$${MKL_PATH}/lib/32
  } else {
    !isEmpty(CLAPACK_PATH) {
      DEFINES += USE_CLAPACK
      INCLUDEPATH += $${CLAPACK_PATH}/include
#      LIBS += -llapack -lblas -lF77 -lfl
      LIBS += -llapack -lblas -lF77
      LIBS += -L$${CLAPACK_PATH}/lib
    } else {
      !isEmpty(LAPACK_PATH) {
        message("Using lapack.")
        DEFINES += USE_LAPACK
        INCLUDEPATH += $${LAPACK_PATH}/include

        contains(PACKAGE, yes) {
          LIBS += $${LAPACK_PATH}/lib/liblapack.a
          LIBS += $${LAPACK_PATH}/lib/libblas.a
          LIBS += $$system(locate libg2c.a)
        }
        else {
          LIBS += -L$${LAPACK_PATH}/lib
          LIBS += -llapack
          LIBS += -lblas
          LIBS += -lg2c
        }
      } else {
        error( "Either MKL_PATH, CLAPACK_PATH, or LAPACK_PATH must be specified" )
      }
    }
  }

  contains(CONFIG, qt) {
    !isEmpty(QWT_PATH){
       LIBS +=  -L$${QWT_PATH}/lib
       INCLUDEPATH += $${QWT_PATH}/include
    }
    LIBS += -lqwt

    !isEmpty(QWT3D_PATH){
      LIBS += -L$${QWT3D_PATH}/lib/
      INCLUDEPATH += $${QWT3D_PATH}/include
    } else {
      LIBS += -lqwtplot3d
    }
  }

!isEmpty(SBW_PATH){
    LIBS+=  $${SBW_PATH}/lib/libSBW.a
    INCLUDEPATH += $${SBW_PATH}/include
    DEFINES += COPASI_SBW_INTEGRATION
    DEFINES += LINUX
  }

}

DEP1.target   = depend
DEP1.depends  = qmake

QMAKE_EXTRA_UNIX_TARGETS += DEP1

!equals(TEMPLATE, subdirs) {
  # Copy the sources for the tar ball
  src_distribution.depends = Makefile
  src_distribution.commands =   \
    $(CHK_DIR_EXISTS) ../../copasi_src || $(MKDIR) ../../copasi_src; \
    $(CHK_DIR_EXISTS) ../../copasi_src/copasi || \
      $(MKDIR) ../../copasi_src/copasi; \
    $(CHK_DIR_EXISTS) ../../copasi_src/copasi/$$SRC_TARGET || \
      $(MKDIR) ../../copasi_src/copasi/$$SRC_TARGET; \
    $(COPY_FILE) --parents $(SOURCES) $(HEADERS) $(FORMS) $(DIST) \
      ../../copasi_src/copasi/$$SRC_TARGET/

  QMAKE_EXTRA_UNIX_TARGETS += src_distribution
}

# Begin CVS Header
#   $Source: /Volumes/Home/Users/shoops/cvs/copasi_dev/copasi/common.pri,v $
#   $Revision: 1.91 $
#   $Name:  $
#   $Author: shoops $
#   $Date: 2008/10/03 15:22:10 $
# End CVS Header

# Copyright (C) 2008 by Pedro Mendes, Virginia Tech Intellectual
# Properties, Inc., EML Research, gGmbH, University of Heidelberg,
# and The University of Manchester.
# All rights reserved.

# Copyright (C) 2001 - 2007 by Pedro Mendes, Virginia Tech Intellectual
# Properties, Inc. and EML Research, gGmbH.
# All rights reserved.

######################################################################
# $Revision: 1.91 $ $Author: shoops $ $Date: 2008/10/03 15:22:10 $
######################################################################

# In the case the BUILD_OS is not specified we make a guess.
isEmpty(BUILD_OS) {
  win32 {
    BUILD_OS = WIN32
  } else {
    BUILD_OS = $$system(uname)
  }
}
DEFINES += $$BUILD_OS
message("Configuring for $${BUILD_OS} with QTDIR=$(QTDIR).")

TARGETDEPS += Makefile

# Common configuration settings
CONFIG += exceptions
CONFIG += rtti
CONFIG += thread

#ifdef COPASI_LICENSE_COM
# COPASI License to use
DEFINES -= COPASI_LICENSE_US
DEFINES -= COPASI_LICENSE_DE
DEFINES -= COPASI_LICENSE_COM
DEFINES += COPASI_LICENSE_$$USE_LICENSE
#endif // COPASI_LICENSE_COM

INCLUDEPATH += ../..
QMAKE_CFLAGS   += $$(CFLAGS)
QMAKE_CXXFLAGS += $$(CXXFLAGS)
QMAKE_LFLAGS  += $$(LDFLAGS)

DEFINES += COPASI_TSSA

debug {
  DEFINES += COPASI_DEBUG

  isEmpty(COPASI_SRC_PACKAGE) {
    # DEFINES += COPASI_TSS
    #  stoichiometric stability analysis:
    # DEFINES += COPASI_SSA
  }
}

isEmpty(COPASI_SRC_PACKAGE) {
  DEFINES += HAVE_MML
}

contains(STATIC_LINKAGE, yes) {
  DEFINES+=XML_STATIC
  DEFINES+=LIBSBML_STATIC
}

!contains(BUILD_OS, WIN32) {
  #Release code optimization
  QMAKE_CFLAGS_RELEASE -= -O1
  QMAKE_CFLAGS_RELEASE -= -O2
  QMAKE_CFLAGS_RELEASE -= -O4
  QMAKE_CFLAGS_RELEASE += -O3

  QMAKE_CXXFLAGS_RELEASE -= -O1
  QMAKE_CXXFLAGS_RELEASE -= -O2
  QMAKE_CXXFLAGS_RELEASE -= -O4
  QMAKE_CXXFLAGS_RELEASE += -O3

  QMAKE_QMAKE = $(QTDIR)/bin/qmake
  QMAKE_LEX = ../../admin/flex.sh
  QMAKE_YACC = ../../admin/yacc.sh

  # The character # (hex 23) can not be escaped we therefore create
  # a variable containing it
  HASH = $$system(echo "\\043")
  contains(HASH, \\043){
    HASH = $$system(echo -e "\\043")
  }
}

contains(BUILD_OS, Darwin) {
  release {
    contains(TEMPLATE, app) {
      QMAKE_POST_LINK = strip $(TARGET)
    }
  }

  INCLUDEPATH += /System/Library/Frameworks/Accelerate.framework/Headers
  INCLUDEPATH += /System/Library/Frameworks/Carbon.framework/Headers

  !isEmpty(SBML_PATH){
    LIBS +=  $${SBML_PATH}/lib/libsbml.a
    INCLUDEPATH += $${SBML_PATH}/include
  } else {
    LIBS += -lsbml
  }

  !isEmpty(EXPAT_PATH){
    LIBS+=  $${EXPAT_PATH}/lib/libexpat.a
    INCLUDEPATH += $${EXPAT_PATH}/include
  } else {
    LIBS += -lexpat
  }

  !isEmpty(RAPTOR_PATH){
    LIBS+=  $${RAPTOR_PATH}/lib/libraptor.a
    INCLUDEPATH += $${RAPTOR_PATH}/include
  } else {
    LIBS += -lraptor
  }

  !isEmpty(SBW_PATH){
    LIBS+=  $${SBW_PATH}/lib/libSBW-static.a
    INCLUDEPATH += $${SBW_PATH}/include
    DEFINES += COPASI_SBW_INTEGRATION
    DEFINES += LINUX DARWIN
  }

  contains(CONFIG, qt) {

    !isEmpty(QWT_PATH){
       LIBS+=  $${QWT_PATH}/lib/libqwt.a
       INCLUDEPATH += $${QWT_PATH}/include
    } else {
      LIBS += -lqwt
    }

    !isEmpty(QWT3D_PATH){
      LIBS +=  $${QWT3D_PATH}/lib/libqwtplot3d.a
      INCLUDEPATH += $${QWT3D_PATH}/include
    } else {
      LIBS += -lqwtplot3d
    }

    LIBS += $(QTDIR)/lib/libqt-mt.a

    QMAKE_LIBS_QT =
    QMAKE_LIBS_QT_THREAD =
  }

  LIBS += -framework Accelerate
  LIBS += -framework Carbon
  LIBS += -framework QuickTime
  LIBS += -lz
}

contains(BUILD_OS, WIN32) {
  QMAKE_QMAKE = $(QTDIR)\bin\qmake.exe
  QMAKE_LEX = C:\cygwin\bin\bash ../../admin/flex.sh
  QMAKE_YACC = C:\cygwin\bin\bash ../../admin/yacc.sh

  DEFINES -= UNICODE

  debug {
    !win32-msvc2005 {
      QMAKE_LFLAGS += /NODEFAULTLIB:"libcmt.lib"
    }

    QMAKE_LFLAGS += /NODEFAULTLIB:"msvcrt.lib"
  }

  #Release code optimization
  QMAKE_CFLAGS_RELEASE -= -O1
  QMAKE_CFLAGS_RELEASE += -O2

  QMAKE_CXXFLAGS_RELEASE -= -O1
  QMAKE_CXXFLAGS_RELEASE += -O2

  !isEmpty(MKL_PATH) {
    DEFINES += USE_MKL
    QMAKE_CXXFLAGS += -I"$${MKL_PATH}\include"
    QMAKE_LFLAGS += /LIBPATH:"$${MKL_PATH}\ia32\lib"
    QMAKE_LFLAGS += /LIBPATH:"$${MKL_PATH}\..\Compiler\C++\9.0\IA32\Lib"
    LIBS += mkl_c.lib
  } else {
    !isEmpty(CLAPACK_PATH) {
      DEFINES += USE_CLAPACK
      QMAKE_CXXFLAGS   += -I"$${CLAPACK_PATH}\include"
      QMAKE_LFLAGS += /LIBPATH:"$${CLAPACK_PATH}\lib"
      LIBS += clapack.lib
    } else {
      error( "Either MKL_PATH or CLAPACK_PATH must be specified" )
    }
  }

  !isEmpty(EXPAT_PATH) {
    QMAKE_CXXFLAGS   += -I"$${EXPAT_PATH}\Source\lib"
    QMAKE_CXXFLAGS   += -I"$${EXPAT_PATH}\include"
    QMAKE_LFLAGS += /LIBPATH:"$${EXPAT_PATH}\StaticLibs"
    QMAKE_LFLAGS += /LIBPATH:"$${EXPAT_PATH}\bin"
    QMAKE_LFLAGS += /LIBPATH:"$${EXPAT_PATH}\lib"
    contains(STATIC_LINKAGE, yes) {
      LIBS += libexpatMT.lib
    } else {
      LIBS += libexpat.lib
    }
  } else {
    error( "EXPAT_PATH must be specified" )
  }

  # Add libsbml
  win32-msvc2005 {
    release {
      LIBS += libsbml.lib
    }
    debug {
      LIBS += libsbmlD.lib
    }
  } else {
    LIBS += libsbml.lib
  }

  !isEmpty(SBML_PATH) {
    QMAKE_CXXFLAGS   += -I"$${SBML_PATH}\include"
    QMAKE_LFLAGS += /LIBPATH:"$${SBML_PATH}\lib"
    QMAKE_LFLAGS += /LIBPATH:"$${SBML_PATH}\bin"
  } else {
    error( "SBML_PATH must be specified" )
  }

# The raptor library
  release {
    LIBS += raptor.lib
  }
  debug {
    LIBS += raptorD.lib
  }

  !isEmpty(RAPTOR_PATH) {
    QMAKE_CXXFLAGS   += -I"$${RAPTOR_PATH}\include"
    QMAKE_LFLAGS += /LIBPATH:"$${RAPTOR_PATH}\lib"
  } else {
    error( "RAPTOR_PATH must be specified" )
  }

  contains(CONFIG, qt) {
    LIBS += -lqwt

    release: LIBS += -lqwtplot3d
    debug: LIBS += -lqwtplot3dD
  }

  !isEmpty(SBW_PATH){
    LIBS+=  $${SBW_PATH}/lib/SBW.lib
    INCLUDEPATH += $${SBW_PATH}/include
    DEFINES += COPASI_SBW_INTEGRATION
    DEFINES += WIN32
  }

}

contains(BUILD_OS, SunOS) {
contains(STATIC_LINKAGE, yes) {
# :TODO: This should be set through configure.
  LIBS += -L/export/home/shoops/copasi/gcc/lib
}

  release {
    contains(TEMPLATE, app) {
# Note: This must be the SunOS strip command.
      QMAKE_POST_LINK = /usr/ccs/bin/strip $(TARGET)
    }
  }

  !isEmpty(CLAPACK_PATH) {
    DEFINES += USE_CLAPACK
    INCLUDEPATH += $${CLAPACK_PATH}/include
#    LIBS += -llapack -lblas -lF77 -lfl
    LIBS += -llapack -lblas -lF77
    LIBS += -L$${CLAPACK_PATH}/lib
  } else {
    !isEmpty(LAPACK_PATH) {
      message("Using lapack.")
      DEFINES += USE_LAPACK
      INCLUDEPATH += $${LAPACK_PATH}/include
      LIBS += -llapack -lblas  -lg2c
      LIBS += -L$${LAPACK_PATH}/lib
    } else {
      message("Using sunperf.")
      DEFINES += USE_SUNPERF
      LIBS += -lsunperf
      QMAKE_CFLAGS   += -dalign
      QMAKE_CXXFLAGS   += -dalign
    }
  }
  !isEmpty(EXPAT_PATH){
      LIBS+=  -L$${EXPAT_PATH}/lib
      INCLUDEPATH += $${EXPAT_PATH}/include
  }
  !isEmpty(SBML_PATH){
      LIBS+=  -L$${SBML_PATH}/lib
      INCLUDEPATH += $${SBML_PATH}/include
  }

  LIBS += -lsbml -lexpat

# The raptor library
  LIBS += -lraptor
  !isEmpty(RAPTOR_PATH){
      LIBS+=  -L$${RAPTOR_PATH}/lib
      INCLUDEPATH += $${RAPTOR_PATH}/include
  }

  contains(CONFIG, qt) {
    !isEmpty(QWT_PATH){
       LIBS+=  -L$${QWT_PATH}/lib
       INCLUDEPATH += $${QWT_PATH}/include
    }
    LIBS += -lqwt

    !isEmpty(QWT3D_PATH){
      LIBS += -L$${QWT3D_PATH}/lib/
      INCLUDEPATH += $${QWT3D_PATH}/include
    } else {
      LIBS += -lqwtplot3d
    }

    LIBS += -lSM
  } else {
    QMAKE_LIBS_THREAD -= -lpthread
    QMAKE_LIBS_THREAD -= -lrt
  }

  !isEmpty(SBW_PATH){
    LIBS+=  $${SBW_PATH}/lib/libSBW-static.a
    INCLUDEPATH += $${SBW_PATH}/include
    DEFINES += COPASI_SBW_INTEGRATION
    DEFINES += LINUX SOLARIS
  }
}

contains(BUILD_OS, Linux) {
  release {
    contains(TEMPLATE, app) {
      QMAKE_POST_LINK = strip $(TARGET)
    }
  }

  contains(PACKAGE, yes) {
    QMAKE_LFLAGS -= -static
  }
  else {
    contains(STATIC_LINKAGE, yes) {
      QMAKE_LFLAGS += -static
    }
    else {
      QMAKE_LFLAGS -= -static
    }
  }

  !isEmpty(SBML_PATH){
    INCLUDEPATH += $${SBML_PATH}/include
    INCLUDEPATH += $${SBML_PATH}/include/sbml

    contains(PACKAGE, yes) {
      LIBS += $${SBML_PATH}/lib/libsbml.a
    }
    else {
      LIBS += -L$${SBML_PATH}/lib
      LIBS += -lsbml
    }
  }
  else {
    contains(PACKAGE, yes) {
      error("SBML_PATH must be given.")
    }
    else {
      LIBS += -lsbml
    }
  }

  !isEmpty(EXPAT_PATH){
    INCLUDEPATH += $${EXPAT_PATH}/include

    contains(PACKAGE, yes) {
      LIBS += $${EXPAT_PATH}/lib/libexpat.a
    }
    else {
      LIBS += -L$${EXPAT_PATH}/lib
      LIBS += -lexpat
    }
  }
  else {
    contains(PACKAGE, yes) {
      error("EXPAT_PATH must be given.")
    }
    else {
      LIBS += -lexpat
    }
  }

# The raptor library
  !isEmpty(RAPTOR_PATH){
      LIBS +=  -L$${RAPTOR_PATH}/lib
      INCLUDEPATH += $${RAPTOR_PATH}/include

    contains(PACKAGE, yes) {
      LIBS += $${RAPTOR_PATH}/lib/libraptor.a
    }
    else {
      LIBS += -L$${RAPTOR_PATH}/lib
      LIBS += -lraptor
    }
  }
  else {
    contains(PACKAGE, yes) {
      error("RAPTOR_PATH must be given.")
    }
    else {
      LIBS += -lraptor
    }
  }

  !isEmpty(MKL_PATH) {
    DEFINES += USE_MKL
    INCLUDEPATH += $${MKL_PATH}/include
#    LIBS += -lmkl_lapack -lmkl_ia32 -lg2c -lpthread
    LIBS += -lmkl_lapack -lmkl_ia32 -lguide -lpthread
    LIBS  +=  -L$${MKL_PATH}/lib/32
  } else {
    !isEmpty(CLAPACK_PATH) {
      DEFINES += USE_CLAPACK
      INCLUDEPATH += $${CLAPACK_PATH}/include
#      LIBS += -llapack -lblas -lF77 -lfl
      LIBS += -llapack -lblas -lF77
      LIBS += -L$${CLAPACK_PATH}/lib
    } else {
      !isEmpty(LAPACK_PATH) {
        message("Using lapack.")
        DEFINES += USE_LAPACK
        INCLUDEPATH += $${LAPACK_PATH}/include

        contains(PACKAGE, yes) {
          LIBS += $${LAPACK_PATH}/lib/liblapack.a
          LIBS += $${LAPACK_PATH}/lib/libblas.a
          LIBS += $$system(locate libg2c.a)
        }
        else {
          LIBS += -L$${LAPACK_PATH}/lib
          LIBS += -llapack
          LIBS += -lblas
          LIBS += -lg2c
        }
      } else {
        error( "Either MKL_PATH, CLAPACK_PATH, or LAPACK_PATH must be specified" )
      }
    }
  }

  contains(CONFIG, qt) {
    !isEmpty(QWT_PATH){
       LIBS +=  -L$${QWT_PATH}/lib
       INCLUDEPATH += $${QWT_PATH}/include
    }
    LIBS += -lqwt

    !isEmpty(QWT3D_PATH){
      LIBS += -L$${QWT3D_PATH}/lib/
      INCLUDEPATH += $${QWT3D_PATH}/include
    } else {
      LIBS += -lqwtplot3d
    }
  }

!isEmpty(SBW_PATH){
    LIBS+=  $${SBW_PATH}/lib/libSBW-static.a
    INCLUDEPATH += $${SBW_PATH}/include
    DEFINES += COPASI_SBW_INTEGRATION
    DEFINES += LINUX
  }

}

DEP1.target   = depend
DEP1.depends  = qmake

QMAKE_EXTRA_UNIX_TARGETS += DEP1

!equals(TEMPLATE, subdirs) {
  # Copy the sources for the tar ball
  src_distribution.depends = Makefile
  src_distribution.commands =   \
    $(CHK_DIR_EXISTS) ../../copasi_src || $(MKDIR) ../../copasi_src; \
    $(CHK_DIR_EXISTS) ../../copasi_src/copasi || \
      $(MKDIR) ../../copasi_src/copasi; \
    $(CHK_DIR_EXISTS) ../../copasi_src/copasi/$$SRC_TARGET || \
      $(MKDIR) ../../copasi_src/copasi/$$SRC_TARGET; \
    $(COPY_FILE) --parents $(SOURCES) $(HEADERS) $(FORMS) $(DIST) \
      ../../copasi_src/copasi/$$SRC_TARGET/

  QMAKE_EXTRA_UNIX_TARGETS += src_distribution
}


Do not install tests on Qt5

Do not install tests on Qt5


Fix qmake syntax problem in zlib_dependency.pri.

Without the double quotes, the apostrophe is considered an unmatched
single quote by the pro file parser.

Change-Id: Ibd1b38e2b714b0a99baf95c4e69fe87a0a962630
Reviewed-by: Kent Hansen <3ac6a472c49f67eda9a4f8f5b4658e16610d4c63@nokia.com>

# zlib dependency satisfied by bundled 3rd party zlib or system zlib
contains(QT_CONFIG, system-zlib) {
    symbian:                 LIBS_PRIVATE += -llibz
    else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
    else:                    LIBS += zdll.lib
} else {
# We could copy the zlib sources over to this module, but for now we don't.
#    INCLUDEPATH +=  $$PWD/zlib
    error("zlib not available: Qt was not built with the system's zlib")
}

# zlib dependency satisfied by bundled 3rd party zlib or system zlib
contains(QT_CONFIG, system-zlib) {
    symbian:                 LIBS_PRIVATE += -llibz
    else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
    else:                    LIBS += zdll.lib
} else {
# We could copy the zlib sources over to this module, but for now we don't.
#    INCLUDEPATH +=  $$PWD/zlib
    error(zlib not available: Qt was not built with the system's zlib)
}


Fix version variable expansion

Fix version variable expansion

RevBy: Jon Nordby

Full, original commit at f90044c475a9db9d21a36c802e09bfeb7ff5168c in maliit-framework

!enable-meegotouch {
    CONFIG+=nomeegotouch
} else {
    CONFIG-=nomeegotouch
}

MALIIT_VERSION = 0.80.1
MALIIT_INTERFACE_VERSION = 0.80
MALIIT_PLUGINS_INTERFACE_VERSION = 0.80
MALIIT_PLUGINS_QUICK_INTERFACE_VERSION = 0.80

!nomeegotouch {
    include(defines-legacy.pri)
} else {
    include(defines.pri)
}

# Linker optimization for release build
QMAKE_LFLAGS_RELEASE+=-Wl,--as-needed
# Compiler warnings are error if the build type is debug
QMAKE_CXXFLAGS_DEBUG+=-Werror

isEmpty(M_IM_VERSION) {
    M_IM_VERSION=$$MALIIT_VERSION
}

isEmpty(M_IM_PREFIX) {
    M_IM_PREFIX = /usr
}
isEmpty(M_IM_INSTALL_BIN) {
    M_IM_INSTALL_BIN = $$M_IM_PREFIX/bin
}
isEmpty(M_IM_INSTALL_LIBS) {
    M_IM_INSTALL_LIBS = $$M_IM_PREFIX/lib
}
isEmpty(M_IM_INSTALL_HEADERS) {
    M_IM_INSTALL_HEADERS = $$M_IM_PREFIX/include
}
DATADIR = $$M_IM_PREFIX/share
isEmpty(M_IM_INSTALL_SCHEMAS) {
    M_IM_INSTALL_SCHEMAS = $$DATADIR/gconf/schemas
}

isEmpty(M_IM_INSTALL_DOCS) {
    M_IM_INSTALL_DOCS = $$DATADIR/doc
}

M_IM_PLUGINS_DIR = $$M_IM_INSTALL_LIBS/$$MALIIT_PLUGINS
DEFINES += M_IM_PLUGINS_DIR=\\\"$$M_IM_PLUGINS_DIR\\\"

isEmpty(M_IM_ENABLE_MULTITOUCH) {

    M_IM_ENABLE_MULTITOUCH=true
}

MALIIT_EXTENSIONS_DIR = $$DATADIR/$$MALIIT_ATTRIBUTE_EXTENSIONS
DEFINES += MALIIT_EXTENSIONS_DIR=\\\"$$MALIIT_EXTENSIONS_DIR\\\"

!nomeegotouch {
    M_IM_DEFAULT_PLUGIN = libmeego-keyboard.so
    M_IM_DEFAULT_SUBVIEW = en_gb.xml
} else {
    M_IM_DEFAULT_PLUGIN = libmeego-keyboard-quick.so
    M_IM_DEFAULT_SUBVIEW =
}

MALIIT_TEST_DATADIR = $$DATADIR/$$MALIIT_TEST_SUITE
MALIIT_TEST_LIBDIR = $$M_IM_INSTALL_LIBS/$$MALIIT_TEST_SUITE
MALIIT_TEST_TMPDIR = /tmp/$$MALIIT_TEST_SUITE

DEFINES += MALIIT_TEST_PLUGINS_DIR=\\\"$$MALIIT_TEST_LIBDIR/plugins\\\"

DEFINES += MALIIT_CONFIG_ROOT=\\\"$$MALIIT_CONFIG_ROOT\\\"

mac {
    # Do mac stuff here
    M_BUILD_FEATURES = debug
    M_PROFILE_PARTS =
    INCLUDEPATH += include/
}

defineTest(outputFile) {
    out = $$OUT_PWD/$$1
    in = $$PWD/$${1}.in

    !exists($$in) {
        error($$in does not exist!)
        return(false)
    }

    MALIIT_IN_DIR = $$IN_PWD
    MALIIT_OUT_DIR = $$OUT_PWD

    variables = M_IM_FRAMEWORK_FEATURE \
                M_IM_PREFIX \
                M_IM_INSTALL_BIN \
                M_IM_INSTALL_HEADERS \
                M_IM_INSTALL_LIBS \
                M_IM_PLUGINS_DIR \
                M_IM_VERSION \
                M_IM_ENABLE_MULTITOUCH \
                M_IM_DEFAULT_PLUGIN \
                M_IM_DEFAULT_SUBVIEW \
                M_IM_QUICK_FEATURE \
                MALIIT_PLUGINS_LIB \
                MALIIT_PLUGINS_HEADER \
                MALIIT_LIB \
                MALIIT_HEADER \
                MALIIT_PLUGINS_QUICK_LIB \
                MALIIT_PLUGINS_QUICK_HEADER \
                MALIIT_TEST_SUITE \
                MALIIT_TEST_DATADIR \
                MALIIT_TEST_LIBDIR \
                MALIIT_TEST_TMPDIR \
                MALIIT_IN_DIR \
                MALIIT_OUT_DIR \
                MALIIT_PACKAGE_BRIEF \

    command = "sed"
    for(var, variables) {
       command += "-e \"s:@$$var@:$$eval($$var):g\""
    }
    command += $$in > $$out

    system(mkdir -p $$dirname(out))
    system($$command)
    system(chmod --reference=$$in $$out)

    return(true)
}

defineTest(outputFiles) {
    files = $$ARGS

    for(file, files) {
        !outputFile($$file):return(false)
    }

    return(true)
}

!enable-meegotouch {
    CONFIG+=nomeegotouch
} else {
    CONFIG-=nomeegotouch
}

MALIIT_VERSION = 0.80.1
MALIIT_INTERFACE_VERSION = 0.80
MALIIT_PLUGINS_INTERFACE_VERSION = 0.80
MALIIT_PLUGINS_QUICK_INTERFACE_VERSION = 0.80

!nomeegotouch {
    include(defines-legacy.pri)
} else {
    include(defines.pri)
}

# Linker optimization for release build
QMAKE_LFLAGS_RELEASE+=-Wl,--as-needed
# Compiler warnings are error if the build type is debug
QMAKE_CXXFLAGS_DEBUG+=-Werror

isEmpty(M_IM_VERSION) {
    M_IM_VERSION=MALIIT_VERSION
}

isEmpty(M_IM_PREFIX) {
    M_IM_PREFIX = /usr
}
isEmpty(M_IM_INSTALL_BIN) {
    M_IM_INSTALL_BIN = $$M_IM_PREFIX/bin
}
isEmpty(M_IM_INSTALL_LIBS) {
    M_IM_INSTALL_LIBS = $$M_IM_PREFIX/lib
}
isEmpty(M_IM_INSTALL_HEADERS) {
    M_IM_INSTALL_HEADERS = $$M_IM_PREFIX/include
}
DATADIR = $$M_IM_PREFIX/share
isEmpty(M_IM_INSTALL_SCHEMAS) {
    M_IM_INSTALL_SCHEMAS = $$DATADIR/gconf/schemas
}

isEmpty(M_IM_INSTALL_DOCS) {
    M_IM_INSTALL_DOCS = $$DATADIR/doc
}

M_IM_PLUGINS_DIR = $$M_IM_INSTALL_LIBS/$$MALIIT_PLUGINS
DEFINES += M_IM_PLUGINS_DIR=\\\"$$M_IM_PLUGINS_DIR\\\"

isEmpty(M_IM_ENABLE_MULTITOUCH) {

    M_IM_ENABLE_MULTITOUCH=true
}

MALIIT_EXTENSIONS_DIR = $$DATADIR/$$MALIIT_ATTRIBUTE_EXTENSIONS
DEFINES += MALIIT_EXTENSIONS_DIR=\\\"$$MALIIT_EXTENSIONS_DIR\\\"

!nomeegotouch {
    M_IM_DEFAULT_PLUGIN = libmeego-keyboard.so
    M_IM_DEFAULT_SUBVIEW = en_gb.xml
} else {
    M_IM_DEFAULT_PLUGIN = libmeego-keyboard-quick.so
    M_IM_DEFAULT_SUBVIEW =
}

MALIIT_TEST_DATADIR = $$DATADIR/$$MALIIT_TEST_SUITE
MALIIT_TEST_LIBDIR = $$M_IM_INSTALL_LIBS/$$MALIIT_TEST_SUITE
MALIIT_TEST_TMPDIR = /tmp/$$MALIIT_TEST_SUITE

DEFINES += MALIIT_TEST_PLUGINS_DIR=\\\"$$MALIIT_TEST_LIBDIR/plugins\\\"

DEFINES += MALIIT_CONFIG_ROOT=\\\"$$MALIIT_CONFIG_ROOT\\\"

mac {
    # Do mac stuff here
    M_BUILD_FEATURES = debug
    M_PROFILE_PARTS =
    INCLUDEPATH += include/
}

defineTest(outputFile) {
    out = $$OUT_PWD/$$1
    in = $$PWD/$${1}.in

    !exists($$in) {
        error($$in does not exist!)
        return(false)
    }

    MALIIT_IN_DIR = $$IN_PWD
    MALIIT_OUT_DIR = $$OUT_PWD

    variables = M_IM_FRAMEWORK_FEATURE \
                M_IM_PREFIX \
                M_IM_INSTALL_BIN \
                M_IM_INSTALL_HEADERS \
                M_IM_INSTALL_LIBS \
                M_IM_PLUGINS_DIR \
                M_IM_VERSION \
                M_IM_ENABLE_MULTITOUCH \
                M_IM_DEFAULT_PLUGIN \
                M_IM_DEFAULT_SUBVIEW \
                M_IM_QUICK_FEATURE \
                MALIIT_PLUGINS_LIB \
                MALIIT_PLUGINS_HEADER \
                MALIIT_LIB \
                MALIIT_HEADER \
                MALIIT_PLUGINS_QUICK_LIB \
                MALIIT_PLUGINS_QUICK_HEADER \
                MALIIT_TEST_SUITE \
                MALIIT_TEST_DATADIR \
                MALIIT_TEST_LIBDIR \
                MALIIT_TEST_TMPDIR \
                MALIIT_IN_DIR \
                MALIIT_OUT_DIR \
                MALIIT_PACKAGE_BRIEF \

    command = "sed"
    for(var, variables) {
       command += "-e \"s:@$$var@:$$eval($$var):g\""
    }
    command += $$in > $$out

    system(mkdir -p $$dirname(out))
    system($$command)
    system(chmod --reference=$$in $$out)

    return(true)
}

defineTest(outputFiles) {
    files = $$ARGS

    for(file, files) {
        !outputFile($$file):return(false)
    }

    return(true)
}


Force lib extension to always be 'lib' on windows #5

# Load this from any subproject to link shared libs properly and easy.
#
# Takes a list of paths of shared libs (customLibs). The used list must
# contain 'path/to/lib/name's with path/to/lib relative to the caller.
#
# Example:
# - customLibs = ../path/to/lib/mylib ../other/path/to/otherlib
# - include(loadlibs.pri)
#
# Make sure to provide all libname.pri to set INCLUDEPATH & DEPENDPATH!
#
# Note: include(loadlibs.pri) will setup all given custom libs ->
# -> INCLUDEPATH, DEPENDPATH, LIBS, PRE_TARGETDEPS & QMAKE_LFLAGS.

QMAKE_PROJECT_DEPTH = 0 # Forces absolute paths

for(lib, customLibs) {
    !isEmpty(lib) {
        LIBDIR = $$dirname(lib)
        LIBNAME = $$basename(lib)
        #message("$${TARGET} is loading $$LIBNAME -> from: $$LIBDIR")

        # Load lib.pri to set INCLUDEPATH & DEPENDPATH
        exists($$_PRO_FILE_PWD_/$$LIBDIR/$$LIBNAME.pri) {
            include($$_PRO_FILE_PWD_/$$LIBDIR/$${LIBNAME}.pri)
        }
        #message($${INCLUDEPATH})

        LIB_EXTENSION = $$QMAKE_EXTENSION_SHLIB
        isEmpty(LIB_EXTENSION) {
            win32: LIB_EXTENSION = dll
            macx:  LIB_EXTENSION = dylib
            else:  LIB_EXTENSION = so
        }
        message($${LIB_EXTENSION})

        # Get dynamic lib binary directory
        OUTDIR = $$clean_path($$OUT_PWD/$${LIBDIR})

        macx {
            frameworks += $$files($${OUTDIR}/$${LIBNAME}.framework)
            LIBS += -F$${OUTDIR}/ -framework $${LIBNAME}
            PRE_TARGETDEPS += $${OUTDIR}/$${LIBNAME}.framework
            INCLUDEPATH += -F$${LIBDIR}
        }
        win32 {
            LIB_EXTENSION = lib
            LIBS += $${OUTDIR}/release/$${LIBNAME}.$${LIB_EXTENSION}
            #DLLS.files += $${OUTDIR}/release/$${LIBNAME}.$${LIB_EXTENSION}
            PRE_TARGETDEPS += $${OUTDIR}/release/$${LIBNAME}.$${LIB_EXTENSION}
            #QMAKE_LFLAGS += $${OUTDIR}/release/$${LIBNAME}.$${LIB_EXTENSION}
            #INCLUDEPATH += $${OUTDIR}/release/
        }
        else {
            LIBS += -L$${OUTDIR}/ -l$${LIBNAME}
            PRE_TARGETDEPS += $${OUTDIR}/lib$${LIBNAME}.$${LIB_EXTENSION}
            QMAKE_LFLAGS += "-Wl,-rpath,\'$$OUTDIR\'"
        }
    }
}

macx { # Deploy all linked frameworks to target bundle
    APP_LIB_FILES.files = $$frameworks
    APP_LIB_FILES.path = Contents/Frameworks/
    QMAKE_BUNDLE_DATA += APP_LIB_FILES
}

#win32 {
#    DLLS.path = $$OUT_PWD
#    INSTALLS += DLLS
#}

# Load this from any subproject to link shared libs properly and easy.
#
# Takes a list of paths of shared libs (customLibs). The used list must
# contain 'path/to/lib/name's with path/to/lib relative to the caller.
#
# Example:
# - customLibs = ../path/to/lib/mylib ../other/path/to/otherlib
# - include(loadlibs.pri)
#
# Make sure to provide all libname.pri to set INCLUDEPATH & DEPENDPATH!
#
# Note: include(loadlibs.pri) will setup all given custom libs ->
# -> INCLUDEPATH, DEPENDPATH, LIBS, PRE_TARGETDEPS & QMAKE_LFLAGS.

QMAKE_PROJECT_DEPTH = 0 # Forces absolute paths

for(lib, customLibs) {
    !isEmpty(lib) {
        LIBDIR = $$dirname(lib)
        LIBNAME = $$basename(lib)
        #message("$${TARGET} is loading $$LIBNAME -> from: $$LIBDIR")

        # Load lib.pri to set INCLUDEPATH & DEPENDPATH
        exists($$_PRO_FILE_PWD_/$$LIBDIR/$$LIBNAME.pri) {
            include($$_PRO_FILE_PWD_/$$LIBDIR/$${LIBNAME}.pri)
        }
        #message($${INCLUDEPATH})

        LIB_EXTENSION = $$QMAKE_EXTENSION_SHLIB
        isEmpty(LIB_EXTENSION) {
            win32: LIB_EXTENSION = dll
            macx:  LIB_EXTENSION = dylib
            else:  LIB_EXTENSION = so
        }
        message($${LIB_EXTENSION})

        # Get dynamic lib binary directory
        OUTDIR = $$clean_path($$OUT_PWD/$${LIBDIR})

        macx {
            frameworks += $$files($${OUTDIR}/$${LIBNAME}.framework)
            LIBS += -F$${OUTDIR}/ -framework $${LIBNAME}
            PRE_TARGETDEPS += $${OUTDIR}/$${LIBNAME}.framework
            INCLUDEPATH += -F$${LIBDIR}
        }
        win32 {
            LIBS += $${OUTDIR}/release/$${LIBNAME}.$${LIB_EXTENSION}
            #DLLS.files += $${OUTDIR}/release/$${LIBNAME}.$${LIB_EXTENSION}
            PRE_TARGETDEPS += $${OUTDIR}/release/$${LIBNAME}.$${LIB_EXTENSION}
            #QMAKE_LFLAGS += $${OUTDIR}/release/$${LIBNAME}.$${LIB_EXTENSION}
            #INCLUDEPATH += $${OUTDIR}/release/
        }
        else {
            LIBS += -L$${OUTDIR}/ -l$${LIBNAME}
            PRE_TARGETDEPS += $${OUTDIR}/lib$${LIBNAME}.$${LIB_EXTENSION}
            QMAKE_LFLAGS += "-Wl,-rpath,\'$$OUTDIR\'"
        }
    }
}

macx { # Deploy all linked frameworks to target bundle
    APP_LIB_FILES.files = $$frameworks
    APP_LIB_FILES.path = Contents/Frameworks/
    QMAKE_BUNDLE_DATA += APP_LIB_FILES
}

#win32 {
#    DLLS.path = $$OUT_PWD
#    INSTALLS += DLLS
#}


Much warnings such wow

Much warnings such wow

CONFIG(debug, debug|release) {
    win32: TARGET = $$join(TARGET,,,d)
}

CONFIG *= warn_on

DESTDIR = $${PWD}/bin

CONFIG(debug, debug|release) {
    win32: TARGET = $$join(TARGET,,,d)
}

DESTDIR = $${PWD}/bin


Accept CDB_PATH env variable as custom path to CDB installation.

Also, shortened checks on possible CDB locations.

Reviewed-By: Friedemann Kleint

# Detect presence of "Debugging Tools For Windows"
# in case VS compilers are used.

win32 {
contains(QMAKE_CXX, cl) {

CDB_PATH=$$(CDB_PATH)
isEmpty($$CDB_PATH):CDB_PATH="$$(ProgramFiles)/Debugging Tools For Windows/sdk"

!exists($$CDB_PATH):CDB_PATH="$$(ProgramFiles)/Debugging Tools For Windows (x86)/sdk"
!exists($$CDB_PATH):CDB_PATH="$$(ProgramFiles)/Debugging Tools For Windows (x64)/sdk"
!exists($$CDB_PATH):CDB_PATH="$$(ProgramFiles)/Debugging Tools For Windows 64-bit/sdk"

exists($$CDB_PATH) {

message("Adding support for $$CDB_PATH")

DEFINES+=CDB_ENABLED

CDB_PLATFORM=i386

INCLUDEPATH*=$$CDB_PATH
INCLUDEPATH*=$$PWD
DEPENDPATH*=$$PWD

CDB_LIBPATH=$$CDB_PATH/lib/$$CDB_PLATFORM

HEADERS += \
    $$PWD/cdbcom.h \
    $$PWD/cdbdebugengine.h \
    $$PWD/cdbdebugengine_p.h \
    $$PWD/cdbdebugeventcallback.h \
    $$PWD/cdbdebugoutput.h \
    $$PWD/cdbsymbolgroupcontext.h \
    $$PWD/cdbsymbolgroupcontext_tpl.h \
    $$PWD/cdbstacktracecontext.h \
    $$PWD/cdbstackframecontext.h \
    $$PWD/cdbbreakpoint.h \
    $$PWD/cdbmodules.h \
    $$PWD/cdbassembler.h \
    $$PWD/cdboptions.h \
    $$PWD/cdboptionspage.h \
    $$PWD/cdbdumperhelper.h \
    $$PWD/cdbsymbolpathlisteditor.h \
    $$PWD/cdbexceptionutils.h

SOURCES += \
    $$PWD/cdbdebugengine.cpp \
    $$PWD/cdbdebugeventcallback.cpp \
    $$PWD/cdbdebugoutput.cpp \
    $$PWD/cdbsymbolgroupcontext.cpp \
    $$PWD/cdbstackframecontext.cpp \
    $$PWD/cdbstacktracecontext.cpp \
    $$PWD/cdbbreakpoint.cpp \
    $$PWD/cdbmodules.cpp \
    $$PWD/cdbassembler.cpp \
    $$PWD/cdboptions.cpp \
    $$PWD/cdboptionspage.cpp \
    $$PWD/cdbdumperhelper.cpp \
    $$PWD/cdbsymbolpathlisteditor.cpp \
    $$PWD/cdbexceptionutils.cpp

FORMS += $$PWD/cdboptionspagewidget.ui

} else {
   message("Debugging Tools for Windows could not be found in $$CDB_PATH")
} # exists($$CDB_PATH)
} # (QMAKE_CXX, cl)
} # win32

# Detect presence of "Debugging Tools For Windows"
# in case VS compilers are used.

win32 {
contains(QMAKE_CXX, cl) {

CDB_PATH="$$(ProgramFiles)/Debugging Tools For Windows/sdk"

!exists ($$CDB_PATH) {
  CDB_PATH="$$(ProgramFiles)/Debugging Tools For Windows (x86)/sdk"
}

!exists ($$CDB_PATH) {
  CDB_PATH="$$(ProgramFiles)/Debugging Tools For Windows (x64)/sdk"
}

!exists ($$CDB_PATH) {
  CDB_PATH="$$(ProgramFiles)/Debugging Tools For Windows 64-bit/sdk"
}

exists ($$CDB_PATH) {
message("Adding support for $$CDB_PATH")

DEFINES+=CDB_ENABLED

CDB_PLATFORM=i386

INCLUDEPATH*=$$CDB_PATH
INCLUDEPATH*=$$PWD
DEPENDPATH*=$$PWD

CDB_LIBPATH=$$CDB_PATH/lib/$$CDB_PLATFORM

HEADERS += \
    $$PWD/cdbcom.h \
    $$PWD/cdbdebugengine.h \
    $$PWD/cdbdebugengine_p.h \
    $$PWD/cdbdebugeventcallback.h \
    $$PWD/cdbdebugoutput.h \
    $$PWD/cdbsymbolgroupcontext.h \
    $$PWD/cdbsymbolgroupcontext_tpl.h \
    $$PWD/cdbstacktracecontext.h \
    $$PWD/cdbstackframecontext.h \
    $$PWD/cdbbreakpoint.h \
    $$PWD/cdbmodules.h \
    $$PWD/cdbassembler.h \
    $$PWD/cdboptions.h \
    $$PWD/cdboptionspage.h \
    $$PWD/cdbdumperhelper.h \
    $$PWD/cdbsymbolpathlisteditor.h \
    $$PWD/cdbexceptionutils.h

SOURCES += \
    $$PWD/cdbdebugengine.cpp \
    $$PWD/cdbdebugeventcallback.cpp \
    $$PWD/cdbdebugoutput.cpp \
    $$PWD/cdbsymbolgroupcontext.cpp \
    $$PWD/cdbstackframecontext.cpp \
    $$PWD/cdbstacktracecontext.cpp \
    $$PWD/cdbbreakpoint.cpp \
    $$PWD/cdbmodules.cpp \
    $$PWD/cdbassembler.cpp \
    $$PWD/cdboptions.cpp \
    $$PWD/cdboptionspage.cpp \
    $$PWD/cdbdumperhelper.cpp \
    $$PWD/cdbsymbolpathlisteditor.cpp \
    $$PWD/cdbexceptionutils.cpp

FORMS += $$PWD/cdboptionspagewidget.ui

} else {
   message("Debugging Tools for Windows could not be found in $$CDB_PATH")
}
}
}


Disable coverage compiler flags for msvc builds #5

# Include global vars
include($$PWD/../globals.pri)

# Include to compile with code coverage flags (gcov)
contains(catchTests, true) {
    CONFIG(debug, debug|release) {
        msvc {
            message(No coverage defined for msvc: Disabled -> $$TARGET)
        } else {
            message(Activating gcov coverage compiler flags -> $$TARGET)
            QMAKE_CXXFLAGS += -fprofile-arcs -ftest-coverage
            equals(QMAKE_CXX, g++) {
                QMAKE_LFLAGS += -lgcov
                QMAKE_LFLAGS += --coverage -fno-inline-small-functions -fno-default-inline
            } else {
                QMAKE_LFLAGS += --coverage -fno-inline
            }
            # Add clean -> remove .gcda .gcno
            for(source, SOURCES) {
                gcnoFile = $$replace(source, .cpp, .gcno)
                gcnaFile = $$replace(source, .cpp, .gcda)
                QMAKE_CLEAN += $$OUT_PWD/$$basename(gcnaFile)
                QMAKE_CLEAN += $$OUT_PWD/$$basename(gcnoFile)
            }
        }
    }
}

# Include global vars
include($$PWD/../globals.pri)

# Include to compile with code coverage flags (gcov)
contains(catchTests, true) {
    CONFIG(debug, debug|release) {
        message(Activating gcov coverage compiler flags -> $$TARGET)
        QMAKE_CXXFLAGS += -fprofile-arcs -ftest-coverage
        equals(QMAKE_CXX, g++) {
            QMAKE_LFLAGS += -lgcov
            QMAKE_LFLAGS += --coverage -fno-inline-small-functions -fno-default-inline
        } else {
            QMAKE_LFLAGS += --coverage -fno-inline
        }
        win32 {
            QMAKE_LFLAGS += -lgcov
            QMAKE_LFLAGS += -fprofile-arcs -ftest-coverage
        }
        # Add clean -> remove .gcda .gcno
        for(source, SOURCES) {
            gcnoFile = $$replace(source, .cpp, .gcno)
            gcnaFile = $$replace(source, .cpp, .gcda)
            QMAKE_CLEAN += $$OUT_PWD/$$basename(gcnaFile)
            QMAKE_CLEAN += $$OUT_PWD/$$basename(gcnoFile)
        }
    }
}


Remove file that I never committed

Remove file that I never committed

Change-Id: Ia35fc2ebca8b5f00a7f108755e3c74d3cca917a4
Reviewed-by: Laszlo Agocs <2e231a4a054e4f6029c4a14f9b35ccf5b686a0a1@nokia.com>

INCLUDEPATH += $$PWD

HEADERS += \
    $$PWD/waylandobject.h \
    ../../src/qt-compositor/util/waylandlist.h


Optimized win32 binary lib artifacts path / linkage #5

# Load this from any subproject to link shared libs properly and easy.
#
# Takes a list of paths of shared libs (customLibs). The used list must
# contain 'path/to/lib/name's with path/to/lib relative to the caller.
#
# Example:
# - customLibs = ../path/to/lib/mylib ../other/path/to/otherlib
# - include(loadlibs.pri)
#
# Make sure to provide all libname.pri to set INCLUDEPATH & DEPENDPATH!
#
# Note: include(loadlibs.pri) will setup all given custom libs ->
# -> INCLUDEPATH, DEPENDPATH, LIBS, PRE_TARGETDEPS & QMAKE_LFLAGS.

QMAKE_PROJECT_DEPTH = 0 # Forces absolute paths

for(lib, customLibs) {
    !isEmpty(lib) {
        LIBDIR = $$dirname(lib)
        LIBNAME = $$basename(lib)
        #message("$${TARGET} is loading $$LIBNAME -> from: $$LIBDIR")

        # Load lib.pri to set INCLUDEPATH & DEPENDPATH
        exists($$_PRO_FILE_PWD_/$$LIBDIR/$$LIBNAME.pri) {
            include($$_PRO_FILE_PWD_/$$LIBDIR/$${LIBNAME}.pri)
        }
        #message($${INCLUDEPATH})

        #  Set library file extension
        LIB_EXTENSION = $$QMAKE_EXTENSION_SHLIB
        isEmpty(LIB_EXTENSION) {
            macx:  LIB_EXTENSION = dylib
            else:  LIB_EXTENSION = so
        }
        win32 {
            LIB_EXTENSION = $$QMAKE_EXTENSION_STATICLIB
            isEmpty(LIB_EXTENSION) {
                LIB_EXTENSION = lib
            }
        }
        #message($${LIB_EXTENSION})

        # Get library's binary directory
        OUTDIR = $$clean_path($$OUT_PWD/$${LIBDIR})

        macx {
            frameworks += $$files($${OUTDIR}/$${LIBNAME}.framework)
            LIBS += -F$${OUTDIR}/ -framework $${LIBNAME}
            PRE_TARGETDEPS += $${OUTDIR}/$${LIBNAME}.framework
            INCLUDEPATH += -F$${LIBDIR}
        }
        win32 {
            CONFIG(debug, debug|release) {
                WINDIR = debug
            }
            CONFIG(release, debug|release) {
                WINDIR = release
            }
            LIBS += $${OUTDIR}/$${WINDIR}/$${LIBNAME}.$${LIB_EXTENSION}
            PRE_TARGETDEPS += $${OUTDIR}/$${WINDIR}/$${LIBNAME}.$${LIB_EXTENSION}
        }
        else {
            LIBS += -L$${OUTDIR}/ -l$${LIBNAME}
            PRE_TARGETDEPS += $${OUTDIR}/lib$${LIBNAME}.$${LIB_EXTENSION}
            QMAKE_LFLAGS += "-Wl,-rpath,\'$$OUTDIR\'"
        }
    }
}

macx { # Deploy all linked frameworks to target bundle
    APP_LIB_FILES.files = $$frameworks
    APP_LIB_FILES.path = Contents/Frameworks/
    QMAKE_BUNDLE_DATA += APP_LIB_FILES
}

# Load this from any subproject to link shared libs properly and easy.
#
# Takes a list of paths of shared libs (customLibs). The used list must
# contain 'path/to/lib/name's with path/to/lib relative to the caller.
#
# Example:
# - customLibs = ../path/to/lib/mylib ../other/path/to/otherlib
# - include(loadlibs.pri)
#
# Make sure to provide all libname.pri to set INCLUDEPATH & DEPENDPATH!
#
# Note: include(loadlibs.pri) will setup all given custom libs ->
# -> INCLUDEPATH, DEPENDPATH, LIBS, PRE_TARGETDEPS & QMAKE_LFLAGS.

QMAKE_PROJECT_DEPTH = 0 # Forces absolute paths

for(lib, customLibs) {
    !isEmpty(lib) {
        LIBDIR = $$dirname(lib)
        LIBNAME = $$basename(lib)
        #message("$${TARGET} is loading $$LIBNAME -> from: $$LIBDIR")

        # Load lib.pri to set INCLUDEPATH & DEPENDPATH
        exists($$_PRO_FILE_PWD_/$$LIBDIR/$$LIBNAME.pri) {
            include($$_PRO_FILE_PWD_/$$LIBDIR/$${LIBNAME}.pri)
        }
        #message($${INCLUDEPATH})

        #  Set library file extension
        LIB_EXTENSION = $$QMAKE_EXTENSION_SHLIB
        isEmpty(LIB_EXTENSION) {
            macx:  LIB_EXTENSION = dylib
            else:  LIB_EXTENSION = so
        }
        win32 {
            LIB_EXTENSION = $$QMAKE_EXTENSION_STATICLIB
            isEmpty(LIB_EXTENSION) {
                LIB_EXTENSION = lib
            }
        }
        #message($${LIB_EXTENSION})

        # Get library's binary directory
        OUTDIR = $$clean_path($$OUT_PWD/$${LIBDIR})

        macx {
            frameworks += $$files($${OUTDIR}/$${LIBNAME}.framework)
            LIBS += -F$${OUTDIR}/ -framework $${LIBNAME}
            PRE_TARGETDEPS += $${OUTDIR}/$${LIBNAME}.framework
            INCLUDEPATH += -F$${LIBDIR}
        }
        win32 {
            LIBS += $${OUTDIR}/release/$${LIBNAME}.$${LIB_EXTENSION}
            PRE_TARGETDEPS += $${OUTDIR}/release/$${LIBNAME}.$${LIB_EXTENSION}
        }
        else {
            LIBS += -L$${OUTDIR}/ -l$${LIBNAME}
            PRE_TARGETDEPS += $${OUTDIR}/lib$${LIBNAME}.$${LIB_EXTENSION}
            QMAKE_LFLAGS += "-Wl,-rpath,\'$$OUTDIR\'"
        }
    }
}

macx { # Deploy all linked frameworks to target bundle
    APP_LIB_FILES.files = $$frameworks
    APP_LIB_FILES.path = Contents/Frameworks/
    QMAKE_BUNDLE_DATA += APP_LIB_FILES
}


Add missing files into including project

CONFIG += qtn_unity_build
QT += script widgets

QTNPROPVERSION = 1.0.0

INCLUDEPATH += $$PWD $$PWD/Core $$PWD/PropertyWidget

VPATH += $$PWD/Core $$PWD/PropertyWidget

SOURCES_CORE += PropertyBase.cpp \
    Property.cpp \
    PropertySet.cpp \
    Enum.cpp \
    QObjectPropertySet.cpp \
    Core/PropertyBool.cpp \
    Core/PropertyInt.cpp \
    Core/PropertyUInt.cpp \
    Core/PropertyFloat.cpp \
    Core/PropertyDouble.cpp \
    Core/PropertyQString.cpp \
    Core/PropertyQRect.cpp \
    Core/PropertyQRectF.cpp \
    Core/PropertyEnum.cpp \
    Core/PropertyEnumFlags.cpp \
    Core/PropertyQSize.cpp \
    Core/PropertyQPoint.cpp \
    Core/PropertyQPointF.cpp \
    GUI/PropertyQColor.cpp \
    GUI/PropertyButton.cpp \
    GUI/PropertyQPen.cpp \
    GUI/PropertyQBrush.cpp \
    GUI/PropertyQFont.cpp

SOURCES_WIDGET += PropertyWidget.cpp \
    PropertyView.cpp \
    Utils/InplaceEditing.cpp \
    Delegates/PropertyDelegateFactory.cpp \
    Delegates/Core/PropertyDelegateBool.cpp \
    Delegates/Core/PropertyDelegateInt.cpp \
    Delegates/Core/PropertyDelegateUInt.cpp \
    Delegates/Core/PropertyDelegateQString.cpp \
    Delegates/Core/PropertyDelegateFloat.cpp \
    Delegates/Core/PropertyDelegateDouble.cpp \
    Delegates/Core/PropertyDelegateEnum.cpp \
    Delegates/Core/PropertyDelegateQRect.cpp \
    Delegates/Core/PropertyDelegateQRectF.cpp \
    Delegates/Utils/PropertyEditorHandler.cpp \
    Delegates/Core/PropertyDelegateEnumFlags.cpp \
    Delegates/PropertyDelegate.cpp \
    Delegates/PropertyDelegateAux.cpp \
    Delegates/Utils/PropertyDelegatePropertySet.cpp \
    Delegates/Utils/PropertyDelegateSliderBox.cpp \
    Delegates/Utils/PropertyDelegateMisc.cpp \
    Delegates/Utils/PropertyEditorAux.cpp \
    Delegates/Core/PropertyDelegateQSize.cpp \
    Delegates/Core/PropertyDelegateQSizeF.cpp \
    Delegates/Core/PropertyDelegateQPoint.cpp \
    Delegates/Core/PropertyDelegateQPointF.cpp \
    Delegates/GUI/PropertyDelegateQFont.cpp \
    Delegates/GUI/PropertyDelegateQColor.cpp \
    Delegates/GUI/PropertyDelegateButton.cpp \
    Delegates/GUI/PropertyDelegateQPen.cpp \
    Delegates/GUI/PropertyDelegateQBrush.cpp \
    Utils/AccessibilityProxy.cpp \
    Delegates/Utils/PropertyDelegateGeoCoord.cpp \
    Delegates/Utils/PropertyDelegateGeoPoint.cpp

qtn_unity_build: SOURCES += $$PWD/QtnPropertyUnity.cpp
else: SOURCES += $$SOURCES_CORE $$SOURCES_WIDGET

HEADERS += CoreAPI.h\
    PropertyBase.h \
    Property.h\
    PropertySet.h\
    Enum.h\
    QObjectPropertySet.h \
    PropertyCore.h \
    PropertyGUI.h \
    Auxiliary/PropertyTemplates.h \
    Auxiliary/PropertyMacro.h \
    Auxiliary/PropertyAux.h \
    Auxiliary/PropertyDelegateInfo.h \
    Core/PropertyBool.h \
    Core/PropertyInt.h \
    Core/PropertyUInt.h \
    Core/PropertyFloat.h \
    Core/PropertyDouble.h \
    Core/PropertyQString.h \
    Core/PropertyQRect.h \
    Core/PropertyQRectF.h \
    Core/PropertyEnum.h \
    Core/PropertyEnumFlags.h \
    Core/PropertyQSize.h \
    Core/PropertyQSizeF.h \
    Core/PropertyQPoint.h \
    Core/PropertyQPointF.h \
    GUI/PropertyQColor.h \
    GUI/PropertyButton.h \
    GUI/PropertyQPen.h \
    GUI/PropertyQBrush.h \
    GUI/PropertyQFont.h

HEADERS += PropertyWidgetAPI.h \
    PropertyWidget.h \
    PropertyView.h \
    Utils/InplaceEditing.h \
    Delegates/PropertyDelegate.h \
    Delegates/Utils/PropertyDelegatePropertySet.h \
    Delegates/Utils/PropertyDelegateSliderBox.h \
    Delegates/Utils/PropertyDelegateMisc.h \
    Delegates/PropertyDelegateAux.h \
    Delegates/PropertyDelegateFactory.h \
    Delegates/Core/PropertyDelegateBool.h \
    Delegates/Core/PropertyDelegateInt.h \
    Delegates/Core/PropertyDelegateUInt.h \
    Delegates/Core/PropertyDelegateQString.h \
    Delegates/Core/PropertyDelegateFloat.h \
    Delegates/Core/PropertyDelegateDouble.h \
    Delegates/Core/PropertyDelegateEnum.h \
    Delegates/Core/PropertyDelegateQRect.h \
    Delegates/Core/PropertyDelegateQRectF.h \
    Delegates/Utils/PropertyEditorHandler.h \
    Delegates/Core/PropertyDelegateEnumFlags.h \
    Delegates/Utils/PropertyEditorAux.h \
    Delegates/Core/PropertyDelegateQSize.h \
    Delegates/Core/PropertyDelegateQSizeF.h \
    Delegates/Core/PropertyDelegateQPoint.h \
    Delegates/Core/PropertyDelegateQPointF.h \
    Delegates/GUI/PropertyDelegateQFont.h \
    Delegates/GUI/PropertyDelegateQColor.h \
    Delegates/GUI/PropertyDelegateButton.h \
    Delegates/GUI/PropertyDelegateQPen.h \
    Delegates/GUI/PropertyDelegateQBrush.h \
    Utils/AccessibilityProxy.h \
    Delegates/Utils/PropertyDelegateGeoCoord.h \
    Delegates/Utils/PropertyDelegateGeoPoint.h

CONFIG += qtn_unity_build
QT += script widgets

QTNPROPVERSION = 1.0.0

INCLUDEPATH += $$PWD $$PWD/Core $$PWD/PropertyWidget

VPATH += $$PWD/Core $$PWD/PropertyWidget

SOURCES_CORE += PropertyBase.cpp \
    Property.cpp \
    PropertySet.cpp \
    Enum.cpp \
    QObjectPropertySet.cpp \
    Core/PropertyBool.cpp \
    Core/PropertyInt.cpp \
    Core/PropertyUInt.cpp \
    Core/PropertyFloat.cpp \
    Core/PropertyDouble.cpp \
    Core/PropertyQString.cpp \
    Core/PropertyQRect.cpp \
    Core/PropertyEnum.cpp \
    Core/PropertyEnumFlags.cpp \
    Core/PropertyQSize.cpp \
    Core/PropertyQPoint.cpp \
    GUI/PropertyQColor.cpp \
    GUI/PropertyButton.cpp \
    GUI/PropertyQPen.cpp \
    GUI/PropertyQBrush.cpp \
    GUI/PropertyQFont.cpp

SOURCES_WIDGET += PropertyWidget.cpp \
    PropertyView.cpp \
    Utils/InplaceEditing.cpp \
    Delegates/PropertyDelegateFactory.cpp \
    Delegates/Core/PropertyDelegateBool.cpp \
    Delegates/Core/PropertyDelegateInt.cpp \
    Delegates/Core/PropertyDelegateUInt.cpp \
    Delegates/Core/PropertyDelegateQString.cpp \
    Delegates/Core/PropertyDelegateFloat.cpp \
    Delegates/Core/PropertyDelegateDouble.cpp \
    Delegates/Core/PropertyDelegateEnum.cpp \
    Delegates/Core/PropertyDelegateQRect.cpp \
    Delegates/Utils/PropertyEditorHandler.cpp \
    Delegates/Core/PropertyDelegateEnumFlags.cpp \
    Delegates/PropertyDelegate.cpp \
    Delegates/PropertyDelegateAux.cpp \
    Delegates/Utils/PropertyDelegatePropertySet.cpp \
    Delegates/Utils/PropertyDelegateSliderBox.cpp \
    Delegates/Utils/PropertyDelegateMisc.cpp \
    Delegates/Utils/PropertyEditorAux.cpp \
    Delegates/Core/PropertyDelegateQSize.cpp \
    Delegates/Core/PropertyDelegateQPoint.cpp \
    Delegates/GUI/PropertyDelegateQFont.cpp \
    Delegates/GUI/PropertyDelegateQColor.cpp \
    Delegates/GUI/PropertyDelegateButton.cpp \
    Delegates/GUI/PropertyDelegateQPen.cpp \
    Delegates/GUI/PropertyDelegateQBrush.cpp \
    Utils/AccessibilityProxy.cpp

qtn_unity_build: SOURCES += $$PWD/QtnPropertyUnity.cpp
else: SOURCES += $$SOURCES_CORE $$SOURCES_WIDGET

HEADERS += CoreAPI.h\
    PropertyBase.h \
    Property.h\
    PropertySet.h\
    Enum.h\
    QObjectPropertySet.h \
    PropertyCore.h \
    PropertyGUI.h \
    Auxiliary/PropertyTemplates.h \
    Auxiliary/PropertyMacro.h \
    Auxiliary/PropertyAux.h \
    Auxiliary/PropertyDelegateInfo.h \
    Core/PropertyBool.h \
    Core/PropertyInt.h \
    Core/PropertyUInt.h \
    Core/PropertyFloat.h \
    Core/PropertyDouble.h \
    Core/PropertyQString.h \
    Core/PropertyQRect.h \
    Core/PropertyEnum.h \
    Core/PropertyEnumFlags.h \
    Core/PropertyQSize.h \
    Core/PropertyQPoint.h \
    GUI/PropertyQColor.h \
    GUI/PropertyButton.h \
    GUI/PropertyQPen.h \
    GUI/PropertyQBrush.h \
    GUI/PropertyQFont.h

HEADERS += PropertyWidgetAPI.h \
    PropertyWidget.h \
    PropertyView.h \
    Utils/InplaceEditing.h \
    Delegates/PropertyDelegate.h \
    Delegates/Utils/PropertyDelegatePropertySet.h \
    Delegates/Utils/PropertyDelegateSliderBox.h \
    Delegates/Utils/PropertyDelegateMisc.h \
    Delegates/PropertyDelegateAux.h \
    Delegates/PropertyDelegateFactory.h \
    Delegates/Core/PropertyDelegateBool.h \
    Delegates/Core/PropertyDelegateInt.h \
    Delegates/Core/PropertyDelegateUInt.h \
    Delegates/Core/PropertyDelegateQString.h \
    Delegates/Core/PropertyDelegateFloat.h \
    Delegates/Core/PropertyDelegateDouble.h \
    Delegates/Core/PropertyDelegateEnum.h \
    Delegates/Core/PropertyDelegateQRect.h \
    Delegates/Utils/PropertyEditorHandler.h \
    Delegates/Core/PropertyDelegateEnumFlags.h \
    Delegates/Utils/PropertyEditorAux.h \
    Delegates/Core/PropertyDelegateQSize.h \
    Delegates/Core/PropertyDelegateQPoint.h \
    Delegates/GUI/PropertyDelegateQFont.h \
    Delegates/GUI/PropertyDelegateQColor.h \
    Delegates/GUI/PropertyDelegateButton.h \
    Delegates/GUI/PropertyDelegateQPen.h \
    Delegates/GUI/PropertyDelegateQBrush.h \
    Utils/AccessibilityProxy.h


increase version

increase version


Fix compilation if no private headers are available

include(../../../private_headers.pri)
exists(${QT_PRIVATE_HEADERS}/QtDeclarative/private/qdeclarativecontext_p.h) {
    HEADERS += \
        $$PWD/qmlengine.h \
        $$PWD/canvasframerate.h \

    SOURCES += \
        $$PWD/qmlengine.cpp \
        $$PWD/canvasframerate.cpp \

    QT += declarative
}

HEADERS += \
    $$PWD/qmlengine.h \
    $$PWD/canvasframerate.h \

SOURCES += \
    $$PWD/qmlengine.cpp \
    $$PWD/canvasframerate.cpp \

QT += declarative

FORMS +=

RESOURCES +=


fix lineendings (fixes #14)

fix lineendings (fixes #14)

ALL_TYPES = \
	bool \
	int \
	uint \
	qlonglong \
	qulonglong \
	double \
	long \
	short \
	char \
	"signed char" \
	ulong \
	ushort \
	uchar \
	float \
	QObject* \
	QChar \
	QString \
	QDate \
	QTime \
	QDateTime \
	QUrl \
	QUuid \
	QJsonValue \
	QJsonObject \
	QJsonArray \
	QVersionNumber \
	QLocale \
	QRegularExpression
LIST_TYPES = \
	QSize \
	QPoint \
	QLine \
	QRect
MAP_TYPES = \
	QByteArray
SET_TYPES = \
	QByteArray

isEmpty(QT_JSONSERIALIZER_REGPATH): QT_JSONSERIALIZER_REGPATH = $$OUT_PWD/.reggen
mkpath($$QT_JSONSERIALIZER_REGPATH)
type_index = 0

ALL_TYPES.method = registerAllConverters
ALL_TYPES.desc = "list, map and set"

LIST_TYPES.method = registerListConverters
LIST_TYPES.desc = "map"

MAP_TYPES.method = registerMapConverters
MAP_TYPES.desc = "list"

SET_TYPES.method = registerSetConverters
SET_TYPES.desc = "set"

for(tId, $$list(ALL_TYPES, LIST_TYPES, MAP_TYPES, SET_TYPES)) {
	for(type, $$tId) {
		raw_data = $$cat($$PWD/qjsonconverterreg.cpp.template, lines)
		raw_data = $$replace(raw_data, $$re_escape("%{typeindex}"), $$type_index)
		raw_data = $$replace(raw_data, $$re_escape("%{convertMethod}"), $$first($${tId}.method))
		raw_data = $$replace(raw_data, $$re_escape("%{type}"), "$$type")
		raw_data = $$replace(raw_data, $$re_escape("%{convertOp}"), $$first($${tId}.desc))

		out_file = $$QT_JSONSERIALIZER_REGPATH/qjsonconverterreg_$${type_index}.cpp
		!exists($$out_file):!write_file($$out_file, raw_data):error("Failed to create $$out_file")
		GENERATED_SOURCES += $$out_file

		startup_hookfile_declare += "void register_$${type_index}_converters();"
		startup_hookfile_call += "$$escape_expand(\\t)_qjsonserializer_helpertypes::converter_hooks::register_$${type_index}_converters();"

		type_index = $$num_add($$type_index, 1)
	}
}

startup_hookfile = "$${LITERAL_HASH}include \"qtjsonserializer_global.h\""
startup_hookfile += "namespace _qjsonserializer_helpertypes {"
startup_hookfile += "namespace converter_hooks {"
startup_hookfile += $$startup_hookfile_declare
startup_hookfile += "}"
startup_hookfile += "}"
startup_hookfile += "void qtJsonSerializerRegisterTypes() {"
startup_hookfile += "$$escape_expand(\\t)static bool wasCalled = false;"
startup_hookfile += "$$escape_expand(\\t)if(wasCalled)"
startup_hookfile += "$$escape_expand(\\t\\t)return;"
startup_hookfile += "$$escape_expand(\\t)wasCalled = true;"
startup_hookfile += $$startup_hookfile_call
startup_hookfile += "}"
out_file = $$QT_JSONSERIALIZER_REGPATH/qjsonconverterreg_all.cpp
!exists($$out_file):!write_file($$out_file, startup_hookfile):error("Failed to create $$out_file")
GENERATED_SOURCES += $$out_file

DISTFILES += \
	$$PWD/qjsonconverterreg.cpp.template

ALL_TYPES = \
	bool \
	int \
	uint \
	qlonglong \
	qulonglong \
	double \
	long \
	short \
	char \
	"signed char" \
	ulong \
	ushort \
	uchar \
	float \
	QObject* \
	QChar \
	QString \
	QDate \
	QTime \
	QDateTime \
	QUrl \
	QUuid \
	QJsonValue \
	QJsonObject \
	QJsonArray \
	QVersionNumber \
	QLocale \
	QRegularExpression
LIST_TYPES = \
	QSize \
	QPoint \
	QLine \
	QRect
MAP_TYPES = \
	QByteArray
SET_TYPES = \
	QByteArray

isEmpty(QT_JSONSERIALIZER_REGPATH): QT_JSONSERIALIZER_REGPATH = $$OUT_PWD/.reggen
mkpath($$QT_JSONSERIALIZER_REGPATH)
type_index = 0

ALL_TYPES.method = registerAllConverters
ALL_TYPES.desc = "list, map and set"

LIST_TYPES.method = registerListConverters
LIST_TYPES.desc = "map"

MAP_TYPES.method = registerMapConverters
MAP_TYPES.desc = "list"

SET_TYPES.method = registerSetConverters
SET_TYPES.desc = "set"

for(tId, $$list(ALL_TYPES, LIST_TYPES, MAP_TYPES, SET_TYPES)) {
	for(type, $$tId) {
		raw_data = $$cat($$PWD/qjsonconverterreg.cpp.template, blob)
		raw_data = $$replace(raw_data, $$re_escape("%{typeindex}"), $$type_index)
		raw_data = $$replace(raw_data, $$re_escape("%{convertMethod}"), $$first($${tId}.method))
		raw_data = $$replace(raw_data, $$re_escape("%{type}"), "$$type")
		raw_data = $$replace(raw_data, $$re_escape("%{convertOp}"), $$first($${tId}.desc))

		out_file = $$QT_JSONSERIALIZER_REGPATH/qjsonconverterreg_$${type_index}.cpp
		!exists($$out_file):!write_file($$out_file, raw_data):error("Failed to create $$out_file")
		GENERATED_SOURCES += $$out_file

		startup_hookfile_declare += "void register_$${type_index}_converters();"
		startup_hookfile_call += "$$escape_expand(\\t)_qjsonserializer_helpertypes::converter_hooks::register_$${type_index}_converters();"

		type_index = $$num_add($$type_index, 1)
	}
}

startup_hookfile = "$${LITERAL_HASH}include \"qtjsonserializer_global.h\""
startup_hookfile += "namespace _qjsonserializer_helpertypes {"
startup_hookfile += "namespace converter_hooks {"
startup_hookfile += $$startup_hookfile_declare
startup_hookfile += "}"
startup_hookfile += "}"
startup_hookfile += "void qtJsonSerializerRegisterTypes() {"
startup_hookfile += "$$escape_expand(\\t)static bool wasCalled = false;"
startup_hookfile += "$$escape_expand(\\t)if(wasCalled)"
startup_hookfile += "$$escape_expand(\\t\\t)return;"
startup_hookfile += "$$escape_expand(\\t)wasCalled = true;"
startup_hookfile += $$startup_hookfile_call
startup_hookfile += "}"
out_file = $$QT_JSONSERIALIZER_REGPATH/qjsonconverterreg_all.cpp
!exists($$out_file):!write_file($$out_file, startup_hookfile):error("Failed to create $$out_file")
GENERATED_SOURCES += $$out_file

DISTFILES += \
	$$PWD/qjsonconverterreg.cpp.template


1.1.61

1.1.61

pri수정

QT += core
QT += gui
QT += network
QT += opengl
QT += widgets
qtHaveModule(serialport){
    QT += serialport
    DEFINES += QT_HAVE_SERIALPORT
}
ios: QT += gui-private
android: QT += androidextras
qtHaveModule(webenginewidgets){
    QT += webengine
    QT += webenginewidgets
    DEFINES += QT_HAVE_WEBENGINEWIDGETS
}
qtHaveModule(multimedia){
    QT += multimedia
    DEFINES += QT_HAVE_MULTIMEDIA
}
qtHaveModule(purchasing){
    QT += purchasing
    DEFINES += QT_HAVE_PURCHASING
}

CONFIG += c++11
CONFIG += mobility
CONFIG += warn_off
MOBILITY += systeminfo
win32-msvc*: QMAKE_CFLAGS += /bigobj
win32-msvc*: QMAKE_CXXFLAGS += /bigobj
win32-g++: LIBS += -lwsock32
win32-g++: LIBS += -lws2_32
android: LIBS += -landroid
macx|ios: LIBS += -framework CoreFoundation
linux-g++: CONFIG += link_pkgconfig
linux-g++: PKGCONFIG += gtk+-3.0
# sudo apt-get install build-essential libgtk-3-dev
# sudo apt-get install build-essential libgl1-mesa-dev

INCLUDEPATH += ../../Boss2D/core
!android: INCLUDEPATH += ../../Boss2D/addon/trick_for_fakewin
INCLUDEPATH += ../../Boss2D
CONFIG(debug, debug|release){
    DEFINES += BOSS_NDEBUG=0
}
CONFIG(release, debug|release){
    DEFINES += BOSS_NDEBUG=1
}

equals(QT_ADD_PLUGINS_FIREBASE, "ok"){
    include(../../Boss2D_plugins/firebase_cpp_sdk_4.5.1/firebase_cpp_sdk.pri){
        message("BOSS_PLUGINS_FIREBASE : The plug-in connected.")
    } else {
        message("BOSS_PLUGINS_FIREBASE : The plug-in is not ready and the module connection is canceled.")
    }
} else {
    message("BOSS_PLUGINS_FIREBASE : Excluded.")
}

###########################################################
# ADDON
###########################################################
HEADERS += ../../Boss2D/addon/boss_addon_aac.hpp
HEADERS += ../../Boss2D/addon/boss_addon_alpr.hpp
HEADERS += ../../Boss2D/addon/boss_addon_curl.hpp
HEADERS += ../../Boss2D/addon/boss_addon_freetype.hpp
HEADERS += ../../Boss2D/addon/boss_addon_git.hpp
HEADERS += ../../Boss2D/addon/boss_addon_h264.hpp
HEADERS += ../../Boss2D/addon/boss_addon_jpg.hpp
HEADERS += ../../Boss2D/addon/boss_addon_ogg.hpp
HEADERS += ../../Boss2D/addon/boss_addon_opencv.hpp
HEADERS += ../../Boss2D/addon/boss_addon_ssl.hpp
HEADERS += ../../Boss2D/addon/boss_addon_tesseract.hpp
HEADERS += ../../Boss2D/addon/boss_addon_tif.hpp
HEADERS += ../../Boss2D/addon/boss_addon_zip.hpp
HEADERS += ../../Boss2D/addon/boss_fakewin.h
HEADERS += ../../Boss2D/addon/boss_integration_curl-7.51.0.h
HEADERS += ../../Boss2D/addon/boss_integration_fdk-aac-0.1.4.h
HEADERS += ../../Boss2D/addon/boss_integration_libgit2-0.22.2.h
HEADERS += ../../Boss2D/addon/boss_integration_libogg-1.3.3.h
HEADERS += ../../Boss2D/addon/boss_integration_libssh2-1.6.0.h
HEADERS += ../../Boss2D/addon/boss_integration_libvorbis-1.3.6.h
HEADERS += ../../Boss2D/addon/boss_integration_openalpr-2.3.0.h
HEADERS += ../../Boss2D/addon/boss_integration_openalpr-2.3.0_3rdparty_liblept.h
HEADERS += ../../Boss2D/addon/boss_integration_openalpr-2.3.0_3rdparty_libtiff.h
HEADERS += ../../Boss2D/addon/boss_integration_opencv-3.1.0.h
HEADERS += ../../Boss2D/addon/boss_integration_opencv-3.1.0_3rdparty_libjpeg.h
HEADERS += ../../Boss2D/addon/boss_integration_openh264-1.6.0.h
HEADERS += ../../Boss2D/addon/boss_integration_openssl-1.1.0c.h
HEADERS += ../../Boss2D/addon/boss_integration_rtmpdump-2.4.h
HEADERS += ../../Boss2D/addon/boss_integration_tesseract-3.05.02.h
SOURCES += ../../Boss2D/addon/boss_addon_aac.cpp
SOURCES += ../../Boss2D/addon/boss_addon_alpr.cpp
SOURCES += ../../Boss2D/addon/boss_addon_curl.cpp
SOURCES += ../../Boss2D/addon/boss_addon_freetype.cpp
SOURCES += ../../Boss2D/addon/boss_addon_git.cpp
SOURCES += ../../Boss2D/addon/boss_addon_h264.cpp
SOURCES += ../../Boss2D/addon/boss_addon_jpg.cpp
SOURCES += ../../Boss2D/addon/boss_addon_ogg.cpp
SOURCES += ../../Boss2D/addon/boss_addon_opencv.cpp
SOURCES += ../../Boss2D/addon/boss_addon_ssl.cpp
SOURCES += ../../Boss2D/addon/boss_addon_tesseract.cpp
SOURCES += ../../Boss2D/addon/boss_addon_tif.cpp
SOURCES += ../../Boss2D/addon/boss_addon_zip.cpp
SOURCES += ../../Boss2D/addon/boss_fakewin.cpp
SOURCES += ../../Boss2D/addon/boss_integration_curl-7.51.0.c
SOURCES += ../../Boss2D/addon/boss_integration_fdk-aac-0.1.4.cpp
SOURCES += ../../Boss2D/addon/boss_integration_libgit2-0.22.2.c
SOURCES += ../../Boss2D/addon/boss_integration_libogg-1.3.3.c
SOURCES += ../../Boss2D/addon/boss_integration_libssh2-1.6.0.c
SOURCES += ../../Boss2D/addon/boss_integration_libvorbis-1.3.6.c
SOURCES += ../../Boss2D/addon/boss_integration_openalpr-2.3.0.cpp
SOURCES += ../../Boss2D/addon/boss_integration_openalpr-2.3.0_3rdparty_liblept.c
SOURCES += ../../Boss2D/addon/boss_integration_openalpr-2.3.0_3rdparty_libtiff.c
SOURCES += ../../Boss2D/addon/boss_integration_opencv-3.1.0.cpp
SOURCES += ../../Boss2D/addon/boss_integration_opencv-3.1.0_3rdparty_libjpeg.c
SOURCES += ../../Boss2D/addon/boss_integration_openh264-1.6.0.cpp
SOURCES += ../../Boss2D/addon/boss_integration_openh264-1.6.0_for_decoder.cpp
SOURCES += ../../Boss2D/addon/boss_integration_openh264-1.6.0_for_encoder.cpp
SOURCES += ../../Boss2D/addon/boss_integration_openssl-1.1.0c.c
SOURCES += ../../Boss2D/addon/boss_integration_rtmpdump-2.4.c
SOURCES += ../../Boss2D/addon/boss_integration_tesseract-3.05.02.cpp

###########################################################
# CORE
###########################################################
HEADERS += ../../Boss2D/core/boss.h
HEADERS += ../../Boss2D/core/boss.hpp
HEADERS += ../../Boss2D/core/boss_addon.hpp
HEADERS += ../../Boss2D/core/boss_array.hpp
HEADERS += ../../Boss2D/core/boss_asset.hpp
HEADERS += ../../Boss2D/core/boss_buffer.hpp
HEADERS += ../../Boss2D/core/boss_context.hpp
HEADERS += ../../Boss2D/core/boss_counter.hpp
HEADERS += ../../Boss2D/core/boss_library.hpp
HEADERS += ../../Boss2D/core/boss_map.hpp
HEADERS += ../../Boss2D/core/boss_math.hpp
HEADERS += ../../Boss2D/core/boss_memory.hpp
HEADERS += ../../Boss2D/core/boss_mutex.hpp
HEADERS += ../../Boss2D/core/boss_object.hpp
HEADERS += ../../Boss2D/core/boss_parser.hpp
HEADERS += ../../Boss2D/core/boss_profile.hpp
HEADERS += ../../Boss2D/core/boss_queue.hpp
HEADERS += ../../Boss2D/core/boss_remote.hpp
HEADERS += ../../Boss2D/core/boss_share.hpp
HEADERS += ../../Boss2D/core/boss_storage.hpp
HEADERS += ../../Boss2D/core/boss_string.hpp
HEADERS += ../../Boss2D/core/boss_tasking.hpp
HEADERS += ../../Boss2D/core/boss_tree.hpp
HEADERS += ../../Boss2D/core/boss_updater.hpp
HEADERS += ../../Boss2D/core/boss_view.hpp
HEADERS += ../../Boss2D/core/boss_wstring.hpp
SOURCES += ../../Boss2D/core/boss.cpp
SOURCES += ../../Boss2D/core/boss_addon.cpp
SOURCES += ../../Boss2D/core/boss_asset.cpp
SOURCES += ../../Boss2D/core/boss_buffer.cpp
SOURCES += ../../Boss2D/core/boss_context.cpp
SOURCES += ../../Boss2D/core/boss_library.cpp
SOURCES += ../../Boss2D/core/boss_math.cpp
SOURCES += ../../Boss2D/core/boss_memory.cpp
SOURCES += ../../Boss2D/core/boss_mutex.cpp
SOURCES += ../../Boss2D/core/boss_parser.cpp
SOURCES += ../../Boss2D/core/boss_profile.cpp
SOURCES += ../../Boss2D/core/boss_remote.cpp
SOURCES += ../../Boss2D/core/boss_share.cpp
SOURCES += ../../Boss2D/core/boss_storage.cpp
SOURCES += ../../Boss2D/core/boss_string.cpp
SOURCES += ../../Boss2D/core/boss_tasking.cpp
SOURCES += ../../Boss2D/core/boss_updater.cpp
SOURCES += ../../Boss2D/core/boss_view.cpp
SOURCES += ../../Boss2D/core/boss_wstring.cpp

###########################################################
# ELEMENT
###########################################################
HEADERS += ../../Boss2D/element/boss_clip.hpp
HEADERS += ../../Boss2D/element/boss_color.hpp
HEADERS += ../../Boss2D/element/boss_font.hpp
HEADERS += ../../Boss2D/element/boss_image.hpp
HEADERS += ../../Boss2D/element/boss_matrix.hpp
HEADERS += ../../Boss2D/element/boss_point.hpp
HEADERS += ../../Boss2D/element/boss_rect.hpp
HEADERS += ../../Boss2D/element/boss_size.hpp
HEADERS += ../../Boss2D/element/boss_solver.hpp
HEADERS += ../../Boss2D/element/boss_tween.hpp
HEADERS += ../../Boss2D/element/boss_vector.hpp
SOURCES += ../../Boss2D/element/boss_clip.cpp
SOURCES += ../../Boss2D/element/boss_color.cpp
SOURCES += ../../Boss2D/element/boss_font.cpp
SOURCES += ../../Boss2D/element/boss_image.cpp
SOURCES += ../../Boss2D/element/boss_matrix.cpp
SOURCES += ../../Boss2D/element/boss_point.cpp
SOURCES += ../../Boss2D/element/boss_rect.cpp
SOURCES += ../../Boss2D/element/boss_size.cpp
SOURCES += ../../Boss2D/element/boss_solver.cpp
SOURCES += ../../Boss2D/element/boss_tween.cpp
SOURCES += ../../Boss2D/element/boss_vector.cpp

###########################################################
# FORMAT
###########################################################
HEADERS += ../../Boss2D/format/boss_bmp.hpp
HEADERS += ../../Boss2D/format/boss_flv.hpp
HEADERS += ../../Boss2D/format/boss_png.hpp
HEADERS += ../../Boss2D/format/boss_zen.hpp
SOURCES += ../../Boss2D/format/boss_bmp.cpp
SOURCES += ../../Boss2D/format/boss_flv.cpp
SOURCES += ../../Boss2D/format/boss_png.cpp
SOURCES += ../../Boss2D/format/boss_zen.cpp

###########################################################
# PLATFORM
###########################################################
HEADERS += ../../Boss2D/platform/boss_platform.hpp
HEADERS += ../../Boss2D/platform/boss_platform_blank.hpp
HEADERS += ../../Boss2D/platform/boss_platform_cocos2dx.hpp
HEADERS += ../../Boss2D/platform/boss_platform_impl.hpp
HEADERS += ../../Boss2D/platform/boss_platform_native.hpp
HEADERS += ../../Boss2D/platform/boss_platform_qt5.hpp
SOURCES += ../../Boss2D/platform/boss_platform_blank.cpp
SOURCES += ../../Boss2D/platform/boss_platform_cocos2dx.cpp
SOURCES += ../../Boss2D/platform/boss_platform_impl.cpp
SOURCES += ../../Boss2D/platform/boss_platform_native.cpp
SOURCES += ../../Boss2D/platform/boss_platform_qt5.cpp
win32-msvc*{
    HEADERS += ../../Boss2D/platform/win32/glew.h
}
ios{
    OBJECTIVE_HEADERS += $$PWD/../../Boss2D/platform/ios/src/BossWebView.h
    OBJECTIVE_SOURCES += $$PWD/../../Boss2D/platform/ios/src/BossWebView.mm
}
android{
    HEADERS += ../../Boss2D/platform/android/OpenGLES_Functions.h
    SOURCES += ../../Boss2D/platform/android/OpenGLES_Functions.cpp
}

###########################################################
# SERVICE
###########################################################
HEADERS += ../../Boss2D/service/boss_asyncfilemanager.hpp
HEADERS += ../../Boss2D/service/boss_backey.hpp
HEADERS += ../../Boss2D/service/boss_batchbuilder.hpp
HEADERS += ../../Boss2D/service/boss_boxr.hpp
HEADERS += ../../Boss2D/service/boss_brii.hpp
HEADERS += ../../Boss2D/service/boss_camera360service.hpp
HEADERS += ../../Boss2D/service/boss_firebaseservice.hpp
HEADERS += ../../Boss2D/service/boss_livechatservice.hpp
HEADERS += ../../Boss2D/service/boss_oauth2service.hpp
HEADERS += ../../Boss2D/service/boss_parasource.hpp
HEADERS += ../../Boss2D/service/boss_streamingservice.hpp
HEADERS += ../../Boss2D/service/boss_tryworld.hpp
HEADERS += ../../Boss2D/service/boss_typolar.hpp
HEADERS += ../../Boss2D/service/boss_zay.hpp
HEADERS += ../../Boss2D/service/boss_zayson.hpp
SOURCES += ../../Boss2D/service/boss_asyncfilemanager.cpp
SOURCES += ../../Boss2D/service/boss_backey.cpp
SOURCES += ../../Boss2D/service/boss_batchbuilder.cpp
SOURCES += ../../Boss2D/service/boss_boxr.cpp
SOURCES += ../../Boss2D/service/boss_brii.cpp
SOURCES += ../../Boss2D/service/boss_camera360service.cpp
SOURCES += ../../Boss2D/service/boss_firebaseservice.cpp
SOURCES += ../../Boss2D/service/boss_livechatservice.cpp
SOURCES += ../../Boss2D/service/boss_oauth2service.cpp
SOURCES += ../../Boss2D/service/boss_parasource.cpp
SOURCES += ../../Boss2D/service/boss_streamingservice.cpp
SOURCES += ../../Boss2D/service/boss_tryworld.cpp
SOURCES += ../../Boss2D/service/boss_typolar.cpp
SOURCES += ../../Boss2D/service/boss_zay.cpp
SOURCES += ../../Boss2D/service/boss_zayson.cpp

QT += core
QT += gui
QT += network
QT += opengl
QT += widgets
QT += multimedia
QT += purchasing
qtHaveModule(serialport){
    QT += serialport
    DEFINES += QT_HAVE_SERIALPORT
}
ios: QT += gui-private
android: QT += androidextras
qtHaveModule(webenginewidgets){
    QT += webengine
    QT += webenginewidgets
    DEFINES += QT_HAVE_WEBENGINEWIDGETS
}

CONFIG += c++11
CONFIG += mobility
CONFIG += warn_off
MOBILITY += systeminfo
win32-msvc*: QMAKE_CFLAGS += /bigobj
win32-msvc*: QMAKE_CXXFLAGS += /bigobj
win32-g++: LIBS += -lwsock32
win32-g++: LIBS += -lws2_32
android: LIBS += -landroid
macx|ios: LIBS += -framework CoreFoundation
linux-g++: CONFIG += link_pkgconfig
linux-g++: PKGCONFIG += gtk+-3.0
# sudo apt-get install build-essential libgtk-3-dev
# sudo apt-get install build-essential libgl1-mesa-dev

INCLUDEPATH += ../../Boss2D/core
!android: INCLUDEPATH += ../../Boss2D/addon/trick_for_fakewin
INCLUDEPATH += ../../Boss2D
CONFIG(debug, debug|release){
    DEFINES += BOSS_NDEBUG=0
}
CONFIG(release, debug|release){
    DEFINES += BOSS_NDEBUG=1
}

equals(QT_ADD_PLUGINS_FIREBASE, "ok"){
    include(../../Boss2D_plugins/firebase_cpp_sdk_4.5.1/firebase_cpp_sdk.pri){
        message("BOSS_PLUGINS_FIREBASE : The plug-in connected.")
    } else {
        message("BOSS_PLUGINS_FIREBASE : The plug-in is not ready and the module connection is canceled.")
    }
} else {
    message("BOSS_PLUGINS_FIREBASE : Excluded.")
}

###########################################################
# ADDON
###########################################################
HEADERS += ../../Boss2D/addon/boss_addon_aac.hpp
HEADERS += ../../Boss2D/addon/boss_addon_alpr.hpp
HEADERS += ../../Boss2D/addon/boss_addon_curl.hpp
HEADERS += ../../Boss2D/addon/boss_addon_freetype.hpp
HEADERS += ../../Boss2D/addon/boss_addon_git.hpp
HEADERS += ../../Boss2D/addon/boss_addon_h264.hpp
HEADERS += ../../Boss2D/addon/boss_addon_jpg.hpp
HEADERS += ../../Boss2D/addon/boss_addon_ogg.hpp
HEADERS += ../../Boss2D/addon/boss_addon_opencv.hpp
HEADERS += ../../Boss2D/addon/boss_addon_ssl.hpp
HEADERS += ../../Boss2D/addon/boss_addon_tesseract.hpp
HEADERS += ../../Boss2D/addon/boss_addon_tif.hpp
HEADERS += ../../Boss2D/addon/boss_addon_zip.hpp
HEADERS += ../../Boss2D/addon/boss_fakewin.h
HEADERS += ../../Boss2D/addon/boss_integration_curl-7.51.0.h
HEADERS += ../../Boss2D/addon/boss_integration_fdk-aac-0.1.4.h
HEADERS += ../../Boss2D/addon/boss_integration_libgit2-0.22.2.h
HEADERS += ../../Boss2D/addon/boss_integration_libogg-1.3.3.h
HEADERS += ../../Boss2D/addon/boss_integration_libssh2-1.6.0.h
HEADERS += ../../Boss2D/addon/boss_integration_libvorbis-1.3.6.h
HEADERS += ../../Boss2D/addon/boss_integration_openalpr-2.3.0.h
HEADERS += ../../Boss2D/addon/boss_integration_openalpr-2.3.0_3rdparty_liblept.h
HEADERS += ../../Boss2D/addon/boss_integration_openalpr-2.3.0_3rdparty_libtiff.h
HEADERS += ../../Boss2D/addon/boss_integration_opencv-3.1.0.h
HEADERS += ../../Boss2D/addon/boss_integration_opencv-3.1.0_3rdparty_libjpeg.h
HEADERS += ../../Boss2D/addon/boss_integration_openh264-1.6.0.h
HEADERS += ../../Boss2D/addon/boss_integration_openssl-1.1.0c.h
HEADERS += ../../Boss2D/addon/boss_integration_rtmpdump-2.4.h
HEADERS += ../../Boss2D/addon/boss_integration_tesseract-3.05.02.h
SOURCES += ../../Boss2D/addon/boss_addon_aac.cpp
SOURCES += ../../Boss2D/addon/boss_addon_alpr.cpp
SOURCES += ../../Boss2D/addon/boss_addon_curl.cpp
SOURCES += ../../Boss2D/addon/boss_addon_freetype.cpp
SOURCES += ../../Boss2D/addon/boss_addon_git.cpp
SOURCES += ../../Boss2D/addon/boss_addon_h264.cpp
SOURCES += ../../Boss2D/addon/boss_addon_jpg.cpp
SOURCES += ../../Boss2D/addon/boss_addon_ogg.cpp
SOURCES += ../../Boss2D/addon/boss_addon_opencv.cpp
SOURCES += ../../Boss2D/addon/boss_addon_ssl.cpp
SOURCES += ../../Boss2D/addon/boss_addon_tesseract.cpp
SOURCES += ../../Boss2D/addon/boss_addon_tif.cpp
SOURCES += ../../Boss2D/addon/boss_addon_zip.cpp
SOURCES += ../../Boss2D/addon/boss_fakewin.cpp
SOURCES += ../../Boss2D/addon/boss_integration_curl-7.51.0.c
SOURCES += ../../Boss2D/addon/boss_integration_fdk-aac-0.1.4.cpp
SOURCES += ../../Boss2D/addon/boss_integration_libgit2-0.22.2.c
SOURCES += ../../Boss2D/addon/boss_integration_libogg-1.3.3.c
SOURCES += ../../Boss2D/addon/boss_integration_libssh2-1.6.0.c
SOURCES += ../../Boss2D/addon/boss_integration_libvorbis-1.3.6.c
SOURCES += ../../Boss2D/addon/boss_integration_openalpr-2.3.0.cpp
SOURCES += ../../Boss2D/addon/boss_integration_openalpr-2.3.0_3rdparty_liblept.c
SOURCES += ../../Boss2D/addon/boss_integration_openalpr-2.3.0_3rdparty_libtiff.c
SOURCES += ../../Boss2D/addon/boss_integration_opencv-3.1.0.cpp
SOURCES += ../../Boss2D/addon/boss_integration_opencv-3.1.0_3rdparty_libjpeg.c
SOURCES += ../../Boss2D/addon/boss_integration_openh264-1.6.0.cpp
SOURCES += ../../Boss2D/addon/boss_integration_openh264-1.6.0_for_decoder.cpp
SOURCES += ../../Boss2D/addon/boss_integration_openh264-1.6.0_for_encoder.cpp
SOURCES += ../../Boss2D/addon/boss_integration_openssl-1.1.0c.c
SOURCES += ../../Boss2D/addon/boss_integration_rtmpdump-2.4.c
SOURCES += ../../Boss2D/addon/boss_integration_tesseract-3.05.02.cpp

###########################################################
# CORE
###########################################################
HEADERS += ../../Boss2D/core/boss.h
HEADERS += ../../Boss2D/core/boss.hpp
HEADERS += ../../Boss2D/core/boss_addon.hpp
HEADERS += ../../Boss2D/core/boss_array.hpp
HEADERS += ../../Boss2D/core/boss_asset.hpp
HEADERS += ../../Boss2D/core/boss_buffer.hpp
HEADERS += ../../Boss2D/core/boss_context.hpp
HEADERS += ../../Boss2D/core/boss_counter.hpp
HEADERS += ../../Boss2D/core/boss_library.hpp
HEADERS += ../../Boss2D/core/boss_map.hpp
HEADERS += ../../Boss2D/core/boss_math.hpp
HEADERS += ../../Boss2D/core/boss_memory.hpp
HEADERS += ../../Boss2D/core/boss_mutex.hpp
HEADERS += ../../Boss2D/core/boss_object.hpp
HEADERS += ../../Boss2D/core/boss_parser.hpp
HEADERS += ../../Boss2D/core/boss_profile.hpp
HEADERS += ../../Boss2D/core/boss_queue.hpp
HEADERS += ../../Boss2D/core/boss_remote.hpp
HEADERS += ../../Boss2D/core/boss_share.hpp
HEADERS += ../../Boss2D/core/boss_storage.hpp
HEADERS += ../../Boss2D/core/boss_string.hpp
HEADERS += ../../Boss2D/core/boss_tasking.hpp
HEADERS += ../../Boss2D/core/boss_tree.hpp
HEADERS += ../../Boss2D/core/boss_updater.hpp
HEADERS += ../../Boss2D/core/boss_view.hpp
HEADERS += ../../Boss2D/core/boss_wstring.hpp
SOURCES += ../../Boss2D/core/boss.cpp
SOURCES += ../../Boss2D/core/boss_addon.cpp
SOURCES += ../../Boss2D/core/boss_asset.cpp
SOURCES += ../../Boss2D/core/boss_buffer.cpp
SOURCES += ../../Boss2D/core/boss_context.cpp
SOURCES += ../../Boss2D/core/boss_library.cpp
SOURCES += ../../Boss2D/core/boss_math.cpp
SOURCES += ../../Boss2D/core/boss_memory.cpp
SOURCES += ../../Boss2D/core/boss_mutex.cpp
SOURCES += ../../Boss2D/core/boss_parser.cpp
SOURCES += ../../Boss2D/core/boss_profile.cpp
SOURCES += ../../Boss2D/core/boss_remote.cpp
SOURCES += ../../Boss2D/core/boss_share.cpp
SOURCES += ../../Boss2D/core/boss_storage.cpp
SOURCES += ../../Boss2D/core/boss_string.cpp
SOURCES += ../../Boss2D/core/boss_tasking.cpp
SOURCES += ../../Boss2D/core/boss_updater.cpp
SOURCES += ../../Boss2D/core/boss_view.cpp
SOURCES += ../../Boss2D/core/boss_wstring.cpp

###########################################################
# ELEMENT
###########################################################
HEADERS += ../../Boss2D/element/boss_clip.hpp
HEADERS += ../../Boss2D/element/boss_color.hpp
HEADERS += ../../Boss2D/element/boss_font.hpp
HEADERS += ../../Boss2D/element/boss_image.hpp
HEADERS += ../../Boss2D/element/boss_matrix.hpp
HEADERS += ../../Boss2D/element/boss_point.hpp
HEADERS += ../../Boss2D/element/boss_rect.hpp
HEADERS += ../../Boss2D/element/boss_size.hpp
HEADERS += ../../Boss2D/element/boss_solver.hpp
HEADERS += ../../Boss2D/element/boss_tween.hpp
HEADERS += ../../Boss2D/element/boss_vector.hpp
SOURCES += ../../Boss2D/element/boss_clip.cpp
SOURCES += ../../Boss2D/element/boss_color.cpp
SOURCES += ../../Boss2D/element/boss_font.cpp
SOURCES += ../../Boss2D/element/boss_image.cpp
SOURCES += ../../Boss2D/element/boss_matrix.cpp
SOURCES += ../../Boss2D/element/boss_point.cpp
SOURCES += ../../Boss2D/element/boss_rect.cpp
SOURCES += ../../Boss2D/element/boss_size.cpp
SOURCES += ../../Boss2D/element/boss_solver.cpp
SOURCES += ../../Boss2D/element/boss_tween.cpp
SOURCES += ../../Boss2D/element/boss_vector.cpp

###########################################################
# FORMAT
###########################################################
HEADERS += ../../Boss2D/format/boss_bmp.hpp
HEADERS += ../../Boss2D/format/boss_flv.hpp
HEADERS += ../../Boss2D/format/boss_png.hpp
HEADERS += ../../Boss2D/format/boss_zen.hpp
SOURCES += ../../Boss2D/format/boss_bmp.cpp
SOURCES += ../../Boss2D/format/boss_flv.cpp
SOURCES += ../../Boss2D/format/boss_png.cpp
SOURCES += ../../Boss2D/format/boss_zen.cpp

###########################################################
# PLATFORM
###########################################################
HEADERS += ../../Boss2D/platform/boss_platform.hpp
HEADERS += ../../Boss2D/platform/boss_platform_blank.hpp
HEADERS += ../../Boss2D/platform/boss_platform_cocos2dx.hpp
HEADERS += ../../Boss2D/platform/boss_platform_impl.hpp
HEADERS += ../../Boss2D/platform/boss_platform_native.hpp
HEADERS += ../../Boss2D/platform/boss_platform_qt5.hpp
SOURCES += ../../Boss2D/platform/boss_platform_blank.cpp
SOURCES += ../../Boss2D/platform/boss_platform_cocos2dx.cpp
SOURCES += ../../Boss2D/platform/boss_platform_impl.cpp
SOURCES += ../../Boss2D/platform/boss_platform_native.cpp
SOURCES += ../../Boss2D/platform/boss_platform_qt5.cpp
win32-msvc*{
    HEADERS += ../../Boss2D/platform/win32/glew.h
}
ios{
    OBJECTIVE_HEADERS += $$PWD/../../Boss2D/platform/ios/src/BossWebView.h
    OBJECTIVE_SOURCES += $$PWD/../../Boss2D/platform/ios/src/BossWebView.mm
}
android{
    HEADERS += ../../Boss2D/platform/android/OpenGLES_Functions.h
    SOURCES += ../../Boss2D/platform/android/OpenGLES_Functions.cpp
}

###########################################################
# SERVICE
###########################################################
HEADERS += ../../Boss2D/service/boss_asyncfilemanager.hpp
HEADERS += ../../Boss2D/service/boss_backey.hpp
HEADERS += ../../Boss2D/service/boss_batchbuilder.hpp
HEADERS += ../../Boss2D/service/boss_boxr.hpp
HEADERS += ../../Boss2D/service/boss_brii.hpp
HEADERS += ../../Boss2D/service/boss_camera360service.hpp
HEADERS += ../../Boss2D/service/boss_firebaseservice.hpp
HEADERS += ../../Boss2D/service/boss_livechatservice.hpp
HEADERS += ../../Boss2D/service/boss_oauth2service.hpp
HEADERS += ../../Boss2D/service/boss_parasource.hpp
HEADERS += ../../Boss2D/service/boss_streamingservice.hpp
HEADERS += ../../Boss2D/service/boss_tryworld.hpp
HEADERS += ../../Boss2D/service/boss_typolar.hpp
HEADERS += ../../Boss2D/service/boss_zay.hpp
HEADERS += ../../Boss2D/service/boss_zayson.hpp
SOURCES += ../../Boss2D/service/boss_asyncfilemanager.cpp
SOURCES += ../../Boss2D/service/boss_backey.cpp
SOURCES += ../../Boss2D/service/boss_batchbuilder.cpp
SOURCES += ../../Boss2D/service/boss_boxr.cpp
SOURCES += ../../Boss2D/service/boss_brii.cpp
SOURCES += ../../Boss2D/service/boss_camera360service.cpp
SOURCES += ../../Boss2D/service/boss_firebaseservice.cpp
SOURCES += ../../Boss2D/service/boss_livechatservice.cpp
SOURCES += ../../Boss2D/service/boss_oauth2service.cpp
SOURCES += ../../Boss2D/service/boss_parasource.cpp
SOURCES += ../../Boss2D/service/boss_streamingservice.cpp
SOURCES += ../../Boss2D/service/boss_tryworld.cpp
SOURCES += ../../Boss2D/service/boss_typolar.cpp
SOURCES += ../../Boss2D/service/boss_zay.cpp
SOURCES += ../../Boss2D/service/boss_zayson.cpp