--Bug fixes

-Really fix locking of affine scale.

--Code changes
 -Remove dependency projects from the solution. Move to a project design where they are built once via command line and stored in a /Deps folder.
  --Because of this, libpng is built as a static lib instead of a dll because that's what its command line makefile supports.
  --Remove libpng16.dll from Wix installer.
 -Remove all configs except for debug and release.
 -Remove all platforms except for x64.
 -Add #define __TBB_NO_IMPLICIT_LINKAGE 1 to prevent tbb from locking for tbb_debug.lib by default on debug builds.
 -Put Ember.rc in a filter folder in the project.
 -Place pragma warning disable statements in PCH files rather than in projects. This makes it easier when using Qt Creator.
 -Move all resource files to the MSVC folder.
 -Set all targets in QtCreator project to their lowercase names to be more *nix friendly. Set -l link statements to use these new lowercase names for ember and embercl.
 -Rework projects to favor shadow builds.
 -Remove the symlinks.sh file and all references to it. It was never needed. Instead, just specify multiple include and link paths in the .pro files.
 -Change WIN32 to _WIN32.
 -Fix a few code warnings.
This commit is contained in:
mfeemster
2016-03-01 17:26:45 -08:00
parent 695b8fc823
commit 7c856c929c
70 changed files with 1300 additions and 4046 deletions

View File

@ -4,65 +4,82 @@ CONFIG += shared
CONFIG -= app_bundle
CONFIG -= qt
TARGET = ember
include(../defaults.pri)
PRJ_DIR = $$SRC_DIR/Ember
#Point to visual studio resource file to embed file information.
win32 {
RC = $$RCPATH/Ember.rc
win32:RC_FILE = $$RC
#message(RC_FILE: $$RC)
}
target.path = $$LIB_INSTALL_DIR
INSTALLS += target
#Go up one folder because the paths defined in defaults were relative to it, which is up one folder.
PRJ_SRC_DIR = $$absolute_path($$EMBER_ROOT/../Source/Ember)
#message(PRJ_SRC_DIR: $$PRJ_SRC_DIR)
!macx:PRECOMPILED_HEADER = $$PRJ_DIR/EmberPch.h
QMAKE_CXXFLAGS += -D_USRDLL
QMAKE_CXXFLAGS += -D_CONSOLE
#Project specific compiler flags.
QMAKE_CXXFLAGS += -BUILDING_EMBER
win32: DEFINES += BUILDING_EMBER
win32 {
DEFINES += BUILDING_EMBER
}
!win32 {
target.path = $$LIB_INSTALL_DIR
INSTALLS += target
}
!macx:PRECOMPILED_HEADER = $$PRJ_SRC_DIR/EmberPch.h
SOURCES += \
$$PRJ_DIR/Affine2D.cpp \
$$PRJ_DIR/DllMain.cpp \
$$PRJ_DIR/Ember.cpp \
$$PRJ_DIR/EmberPch.cpp \
$$PRJ_DIR/RendererBase.cpp \
$$PRJ_DIR/Renderer.cpp \
$$PRJ_DIR/VariationList.cpp
$$PRJ_SRC_DIR/Affine2D.cpp \
$$PRJ_SRC_DIR/DllMain.cpp \
$$PRJ_SRC_DIR/Ember.cpp \
$$PRJ_SRC_DIR/EmberPch.cpp \
$$PRJ_SRC_DIR/RendererBase.cpp \
$$PRJ_SRC_DIR/Renderer.cpp \
$$PRJ_SRC_DIR/VariationList.cpp
include(deployment.pri)
qtcAddDeployment()
HEADERS += \
$$PRJ_DIR/Affine2D.h \
$$PRJ_DIR/CarToRas.h \
$$PRJ_DIR/Curves.h \
$$PRJ_DIR/DensityFilter.h \
$$PRJ_DIR/EmberDefines.h \
$$PRJ_DIR/Ember.h \
$$PRJ_DIR/EmberMotion.h \
$$PRJ_DIR/EmberPch.h \
$$PRJ_DIR/EmberToXml.h \
$$PRJ_DIR/Interpolate.h \
$$PRJ_DIR/Isaac.h \
$$PRJ_DIR/Iterator.h \
$$PRJ_DIR/Palette.h \
$$PRJ_DIR/PaletteList.h \
$$PRJ_DIR/Point.h \
$$PRJ_DIR/RendererBase.h \
$$PRJ_DIR/Renderer.h \
$$PRJ_DIR/SheepTools.h \
$$PRJ_DIR/SpatialFilter.h \
$$PRJ_DIR/TemporalFilter.h \
$$PRJ_DIR/Timing.h \
$$PRJ_DIR/Utils.h \
$$PRJ_DIR/Variation.h \
$$PRJ_DIR/VariationList.h \
$$PRJ_DIR/Variations01.h \
$$PRJ_DIR/Variations02.h \
$$PRJ_DIR/Variations03.h \
$$PRJ_DIR/Variations04.h \
$$PRJ_DIR/Variations05.h \
$$PRJ_DIR/Variations06.h \
$$PRJ_DIR/Variations07.h \
$$PRJ_DIR/VariationsDC.h \
$$PRJ_DIR/VarFuncs.h \
$$PRJ_DIR/Xform.h \
$$PRJ_DIR/XmlToEmber.h
$$PRJ_SRC_DIR/Affine2D.h \
$$PRJ_SRC_DIR/CarToRas.h \
$$PRJ_SRC_DIR/Curves.h \
$$PRJ_SRC_DIR/DensityFilter.h \
$$PRJ_SRC_DIR/EmberDefines.h \
$$PRJ_SRC_DIR/Ember.h \
$$PRJ_SRC_DIR/EmberMotion.h \
$$PRJ_SRC_DIR/EmberPch.h \
$$PRJ_SRC_DIR/EmberToXml.h \
$$PRJ_SRC_DIR/Interpolate.h \
$$PRJ_SRC_DIR/Isaac.h \
$$PRJ_SRC_DIR/Iterator.h \
$$PRJ_SRC_DIR/Palette.h \
$$PRJ_SRC_DIR/PaletteList.h \
$$PRJ_SRC_DIR/Point.h \
$$PRJ_SRC_DIR/RendererBase.h \
$$PRJ_SRC_DIR/Renderer.h \
$$PRJ_SRC_DIR/SheepTools.h \
$$PRJ_SRC_DIR/SpatialFilter.h \
$$PRJ_SRC_DIR/TemporalFilter.h \
$$PRJ_SRC_DIR/Timing.h \
$$PRJ_SRC_DIR/Utils.h \
$$PRJ_SRC_DIR/Variation.h \
$$PRJ_SRC_DIR/VariationList.h \
$$PRJ_SRC_DIR/Variations01.h \
$$PRJ_SRC_DIR/Variations02.h \
$$PRJ_SRC_DIR/Variations03.h \
$$PRJ_SRC_DIR/Variations04.h \
$$PRJ_SRC_DIR/Variations05.h \
$$PRJ_SRC_DIR/Variations06.h \
$$PRJ_SRC_DIR/Variations07.h \
$$PRJ_SRC_DIR/VariationsDC.h \
$$PRJ_SRC_DIR/VarFuncs.h \
$$PRJ_SRC_DIR/Xform.h \
$$PRJ_SRC_DIR/XmlToEmber.h
#message("")

View File

@ -7,25 +7,58 @@ TARGET = emberanimate
include(../defaults.pri)
PRJ_DIR = $$SRC_DIR/EmberAnimate
#Point to visual studio resource file to embed file information and icon.
win32 {
RC = $$RCPATH/EmberAnimate.rc
win32:RC_FILE = $$RC
#message(RC_FILE: $$RC)
}
#Go up one folder because the paths defined in defaults were relative to it, which is up one folder.
PRJ_SRC_DIR = $$absolute_path($$EMBER_ROOT/../Source/EmberAnimate)
#message(PRJ_SRC_DIR: $$PRJ_SRC_DIR)
target.path = $$BIN_INSTALL_DIR
#message(TARGET INSTALL: $$target.path)
INSTALLS += target
LIBS += -L$$absolute_path($$DESTDIR) -lEmber
LIBS += -L$$absolute_path($$DESTDIR) -lEmberCL
palettes.path = $$SHARE_INSTALL_DIR
palettes.files = $$ASSETS_DIR/flam3-palettes.xml
#message(PALETTE INSTALL SOURCE: $$palettes.files)
INSTALLS += palettes
themes.path = $$SHARE_INSTALL_DIR
themes.files = $$ASSETS_DIR/dark.qss
#message(THEMES INSTALL SOURCE: $$themes.files)
INSTALLS += themes
!win32 {
icon.path = $$SHARE_INSTALL_DIR
icon.files = $$absolute_path($$PRJ_SRC_DIR/Icons/Fractorium.png)
#message(ICON INSTALL SOURCE: $$icon.files)
INSTALLS += icon
launcher.path = $$LAUNCHER_INSTALL_DIR
launcher.files = $$ASSETS_DIR/Fractorium.desktop
#message(LAUNCHER INSTALL SOURCE: $$launcher.files)
INSTALLS += launcher
}
macx:ICON = $$ASSETS_DIR/Fractorium.icns
!macx:PRECOMPILED_HEADER = $$SRC_COMMON_DIR/EmberCommonPch.h
LIBS += -L$$absolute_path($$DESTDIR) -lember
LIBS += -L$$absolute_path($$DESTDIR) -lembercl
SOURCES += \
$$PRJ_DIR/EmberAnimate.cpp \
$$PRJ_SRC_DIR/EmberAnimate.cpp \
$$SRC_COMMON_DIR/EmberCommonPch.cpp
include(deployment.pri)
qtcAddDeployment()
HEADERS += \
$$PRJ_DIR/EmberAnimate.h \
$$PRJ_SRC_DIR/EmberAnimate.h \
$$SRC_COMMON_DIR/EmberCommon.h \
$$SRC_COMMON_DIR/EmberCommonPch.h \
$$SRC_COMMON_DIR/EmberOptions.h \

View File

@ -4,46 +4,61 @@ CONFIG += shared
CONFIG -= app_bundle
CONFIG -= qt
TARGET = embercl
include(../defaults.pri)
PRJ_DIR = $$SRC_DIR/EmberCL
#Point to visual studio resource file to embed file information.
win32 {
RC = $$RCPATH/EmberCL.rc
win32:RC_FILE = $$RC
#message(RC_FILE: $$RC)
}
target.path = $$LIB_INSTALL_DIR
INSTALLS += target
#Go up one folder because the paths defined in defaults were relative to it, which is up one folder.
PRJ_SRC_DIR = $$absolute_path($$EMBER_ROOT/../Source/EmberCL)
#message(PRJ_SRC_DIR: $$PRJ_SRC_DIR)
LIBS += -L$$absolute_path($$DESTDIR) -lEmber
!macx:PRECOMPILED_HEADER = $$PRJ_DIR/EmberCLPch.h
QMAKE_CXXFLAGS += -D_USRDLL
QMAKE_CXXFLAGS += -D_CONSOLE
#Project specific compiler flags.
QMAKE_CXXFLAGS += -BUILDING_EMBERCL
win32: DEFINES += BUILDING_EMBERCL
win32 {
DEFINES += BUILDING_EMBERCL
}
!win32 {
target.path = $$LIB_INSTALL_DIR
INSTALLS += target
}
!macx:PRECOMPILED_HEADER = $$PRJ_SRC_DIR/EmberCLPch.h
LIBS += -L$$absolute_path($$DESTDIR) -lember
SOURCES += \
$$PRJ_DIR/DEOpenCLKernelCreator.cpp \
$$PRJ_DIR/DllMain.cpp \
$$PRJ_DIR/FinalAccumOpenCLKernelCreator.cpp \
$$PRJ_DIR/FunctionMapper.cpp \
$$PRJ_DIR/IterOpenCLKernelCreator.cpp \
$$PRJ_DIR/OpenCLInfo.cpp \
$$PRJ_DIR/OpenCLWrapper.cpp \
$$PRJ_DIR/RendererCL.cpp \
$$PRJ_DIR/RendererClDevice.cpp
$$PRJ_SRC_DIR/DEOpenCLKernelCreator.cpp \
$$PRJ_SRC_DIR/DllMain.cpp \
$$PRJ_SRC_DIR/FinalAccumOpenCLKernelCreator.cpp \
$$PRJ_SRC_DIR/FunctionMapper.cpp \
$$PRJ_SRC_DIR/IterOpenCLKernelCreator.cpp \
$$PRJ_SRC_DIR/OpenCLInfo.cpp \
$$PRJ_SRC_DIR/OpenCLWrapper.cpp \
$$PRJ_SRC_DIR/RendererCL.cpp \
$$PRJ_SRC_DIR/RendererClDevice.cpp
include(deployment.pri)
qtcAddDeployment()
HEADERS += \
$$PRJ_DIR/DEOpenCLKernelCreator.h \
$$PRJ_DIR/EmberCLFunctions.h \
$$PRJ_DIR/EmberCLPch.h \
$$PRJ_DIR/EmberCLStructs.h \
$$PRJ_DIR/FinalAccumOpenCLKernelCreator.h \
$$PRJ_DIR/FunctionMapper.h \
$$PRJ_DIR/IterOpenCLKernelCreator.h \
$$PRJ_DIR/OpenCLInfo.h \
$$PRJ_DIR/OpenCLWrapper.h \
$$PRJ_DIR/RendererClDevice.h \
$$PRJ_DIR/RendererCL.h
$$PRJ_SRC_DIR/DEOpenCLKernelCreator.h \
$$PRJ_SRC_DIR/EmberCLFunctions.h \
$$PRJ_SRC_DIR/EmberCLPch.h \
$$PRJ_SRC_DIR/EmberCLStructs.h \
$$PRJ_SRC_DIR/FinalAccumOpenCLKernelCreator.h \
$$PRJ_SRC_DIR/FunctionMapper.h \
$$PRJ_SRC_DIR/IterOpenCLKernelCreator.h \
$$PRJ_SRC_DIR/OpenCLInfo.h \
$$PRJ_SRC_DIR/OpenCLWrapper.h \
$$PRJ_SRC_DIR/RendererClDevice.h \
$$PRJ_SRC_DIR/RendererCL.h

View File

@ -7,25 +7,58 @@ TARGET = embergenome
include(../defaults.pri)
#Point to visual studio resource file to embed file information and icon.
win32 {
RC = $$RCPATH/EmberGenome.rc
win32:RC_FILE = $$RC
#message(RC_FILE: $$RC)
}
#Go up one folder because the paths defined in defaults were relative to it, which is up one folder.
PRJ_SRC_DIR = $$absolute_path($$EMBER_ROOT/../Source/EmberGenome)
#message(PRJ_SRC_DIR: $$PRJ_SRC_DIR)
target.path = $$BIN_INSTALL_DIR
#message(TARGET INSTALL: $$target.path)
INSTALLS += target
LIBS += -L$$absolute_path($$DESTDIR) -lEmber
LIBS += -L$$absolute_path($$DESTDIR) -lEmberCL
palettes.path = $$SHARE_INSTALL_DIR
palettes.files = $$ASSETS_DIR/flam3-palettes.xml
#message(PALETTE INSTALL SOURCE: $$palettes.files)
INSTALLS += palettes
PRJ_DIR = $$SRC_DIR/EmberGenome
themes.path = $$SHARE_INSTALL_DIR
themes.files = $$ASSETS_DIR/dark.qss
#message(THEMES INSTALL SOURCE: $$themes.files)
INSTALLS += themes
!win32 {
icon.path = $$SHARE_INSTALL_DIR
icon.files = $$absolute_path($$PRJ_SRC_DIR/Icons/Fractorium.png)
#message(ICON INSTALL SOURCE: $$icon.files)
INSTALLS += icon
launcher.path = $$LAUNCHER_INSTALL_DIR
launcher.files = $$ASSETS_DIR/Fractorium.desktop
#message(LAUNCHER INSTALL SOURCE: $$launcher.files)
INSTALLS += launcher
}
macx:ICON = $$ASSETS_DIR/Fractorium.icns
!macx:PRECOMPILED_HEADER = $$SRC_COMMON_DIR/EmberCommonPch.h
LIBS += -L$$absolute_path($$DESTDIR) -lember
LIBS += -L$$absolute_path($$DESTDIR) -lembercl
SOURCES += \
$$PRJ_DIR/EmberGenome.cpp \
$$PRJ_SRC_DIR/EmberGenome.cpp \
$$SRC_COMMON_DIR/EmberCommonPch.cpp
include(deployment.pri)
qtcAddDeployment()
HEADERS += \
$$PRJ_DIR/EmberGenome.h \
$$PRJ_SRC_DIR/EmberGenome.h \
$$SRC_COMMON_DIR/EmberCommon.h \
$$SRC_COMMON_DIR/EmberCommonPch.h \
$$SRC_COMMON_DIR/EmberOptions.h \

View File

@ -7,25 +7,58 @@ TARGET = emberrender
include(../defaults.pri)
PRJ_DIR = $$SRC_DIR/EmberRender
#Point to visual studio resource file to embed file information and icon.
win32 {
RC = $$RCPATH/EmberRender.rc
win32:RC_FILE = $$RC
#message(RC_FILE: $$RC)
}
#Go up one folder because the paths defined in defaults were relative to it, which is up one folder.
PRJ_SRC_DIR = $$absolute_path($$EMBER_ROOT/../Source/EmberRender)
#message(PRJ_SRC_DIR: $$PRJ_SRC_DIR)
target.path = $$BIN_INSTALL_DIR
#message(TARGET INSTALL: $$target.path)
INSTALLS += target
LIBS += -L$$absolute_path($$DESTDIR) -lEmber
LIBS += -L$$absolute_path($$DESTDIR) -lEmberCL
palettes.path = $$SHARE_INSTALL_DIR
palettes.files = $$ASSETS_DIR/flam3-palettes.xml
#message(PALETTE INSTALL SOURCE: $$palettes.files)
INSTALLS += palettes
themes.path = $$SHARE_INSTALL_DIR
themes.files = $$ASSETS_DIR/dark.qss
#message(THEMES INSTALL SOURCE: $$themes.files)
INSTALLS += themes
!win32 {
icon.path = $$SHARE_INSTALL_DIR
icon.files = $$absolute_path($$PRJ_SRC_DIR/Icons/Fractorium.png)
#message(ICON INSTALL SOURCE: $$icon.files)
INSTALLS += icon
launcher.path = $$LAUNCHER_INSTALL_DIR
launcher.files = $$ASSETS_DIR/Fractorium.desktop
#message(LAUNCHER INSTALL SOURCE: $$launcher.files)
INSTALLS += launcher
}
macx:ICON = $$ASSETS_DIR/Fractorium.icns
!macx:PRECOMPILED_HEADER = $$SRC_COMMON_DIR/EmberCommonPch.h
LIBS += -L$$absolute_path($$DESTDIR) -lember
LIBS += -L$$absolute_path($$DESTDIR) -lembercl
SOURCES += \
$$PRJ_DIR/EmberRender.cpp \
$$PRJ_SRC_DIR/EmberRender.cpp \
$$SRC_COMMON_DIR/EmberCommonPch.cpp
include(deployment.pri)
qtcAddDeployment()
HEADERS += \
$$PRJ_DIR/EmberRender.h \
$$PRJ_SRC_DIR/EmberRender.h \
$$SRC_COMMON_DIR/EmberCommon.h \
$$SRC_COMMON_DIR/EmberCommonPch.h \
$$SRC_COMMON_DIR/EmberOptions.h \

View File

@ -1,128 +1,150 @@
TEMPLATE = app
QT += core gui opengl concurrent
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
QT += core gui widgets opengl concurrent
TARGET = fractorium
include(../defaults.pri)
#Point to visual studio resource file to embed file information and icon.
win32 {
RC = $$RCPATH/Fractorium.rc
win32:RC_FILE = $$RC
#message(RC_FILE: $$RC)
}
#message(QTDIR: $$(QTDIR))
#Go up one folder because the paths defined in defaults were relative to it, which is up one folder.
PRJ_SRC_DIR = $$absolute_path($$EMBER_ROOT/../Source/Fractorium)
#message(PRJ_SRC_DIR: $$PRJ_SRC_DIR)
#Qt will be installed on a system wide level on *nix. It should be the same for Windows, but copy it local just to be safe.
win32 {
qtfiles.path = $$BIN_INSTALL_DIR
qtfiles.files = $$(QTDIR)\bin\Qt5Core.dll $$(QTDIR)\bin\Qt5Gui.dll $$(QTDIR)\bin\Qt5Widgets.dll
INSTALLS += qtfiles
}
#For some reason, a Qt project needs to be told to look at itself.
INCLUDEPATH += $$PRJ_SRC_DIR
# TODO: Figure out how to build the app bundle correctly.
# This will build a binary instead of an app bundle.
macx:CONFIG -= app_bundle
PRJ_DIR = $$SRC_DIR/Fractorium
target.path = $$BIN_INSTALL_DIR
#message(TARGET INSTALL: $$target.path)
INSTALLS += target
palettes.path = $$SHARE_INSTALL_DIR
palettes.files = $$ASSETS_DIR/flam3-palettes.xml
#message(PALETTE INSTALL SOURCE: $$palettes.files)
INSTALLS += palettes
themes.path = $$SHARE_INSTALL_DIR
themes.files = $$ASSETS_DIR/dark.qss
#message(THEMES INSTALL SOURCE: $$themes.files)
INSTALLS += themes
icon.path = $$SHARE_INSTALL_DIR
icon.files = $$PRJ_DIR/Icons/Fractorium.png
INSTALLS += icon
!win32 {
icon.path = $$SHARE_INSTALL_DIR
icon.files = $$absolute_path($$PRJ_SRC_DIR/Icons/Fractorium.png)
#message(ICON INSTALL SOURCE: $$icon.files)
INSTALLS += icon
launcher.path = $$LAUNCHER_INSTALL_DIR
launcher.files = $$ASSETS_DIR/Fractorium.desktop
INSTALLS += launcher
launcher.path = $$LAUNCHER_INSTALL_DIR
launcher.files = $$ASSETS_DIR/Fractorium.desktop
#message(LAUNCHER INSTALL SOURCE: $$launcher.files)
INSTALLS += launcher
}
macx:ICON = $$ASSETS_DIR/Fractorium.icns
!macx:PRECOMPILED_HEADER = $$PRJ_SRC_DIR/FractoriumPch.h
LIBS += -L$$absolute_path($$DESTDIR) -lEmber
LIBS += -L$$absolute_path($$DESTDIR) -lEmberCL
INCLUDEPATH += $$PRJ_DIR
!macx:PRECOMPILED_HEADER = $$PRJ_DIR/FractoriumPch.h
LIBS += -L$$absolute_path($$DESTDIR) -lember
LIBS += -L$$absolute_path($$DESTDIR) -lembercl
SOURCES += \
$$PRJ_DIR/AboutDialog.cpp \
$$PRJ_DIR/csshighlighter.cpp \
$$PRJ_DIR/CurvesGraphicsView.cpp \
$$PRJ_DIR/DoubleSpinBox.cpp \
$$PRJ_DIR/FinalRenderDialog.cpp \
$$PRJ_DIR/FinalRenderEmberController.cpp \
$$PRJ_DIR/Fractorium.cpp \
$$PRJ_DIR/FractoriumEmberController.cpp \
$$PRJ_DIR/FractoriumInfo.cpp \
$$PRJ_DIR/FractoriumLibrary.cpp \
$$PRJ_DIR/FractoriumMenus.cpp \
$$PRJ_DIR/FractoriumPalette.cpp \
$$PRJ_DIR/FractoriumParams.cpp \
$$PRJ_DIR/FractoriumPch.cpp \
$$PRJ_DIR/FractoriumRender.cpp \
$$PRJ_DIR/FractoriumSettings.cpp \
$$PRJ_DIR/FractoriumToolbar.cpp \
$$PRJ_DIR/FractoriumXaos.cpp \
$$PRJ_DIR/FractoriumXformsAffine.cpp \
$$PRJ_DIR/FractoriumXformsColor.cpp \
$$PRJ_DIR/FractoriumXforms.cpp \
$$PRJ_DIR/FractoriumXformsSelect.cpp \
$$PRJ_DIR/FractoriumXformsVariations.cpp \
$$PRJ_DIR/GLEmberController.cpp \
$$PRJ_DIR/GLWidget.cpp \
$$PRJ_DIR/Main.cpp \
$$PRJ_DIR/OptionsDialog.cpp \
$$PRJ_DIR/qcssparser.cpp \
$$PRJ_DIR/qcssscanner.cpp \
$$PRJ_DIR/QssDialog.cpp \
$$PRJ_DIR/QssTextEdit.cpp \
$$PRJ_DIR/SpinBox.cpp \
$$PRJ_DIR/VariationsDialog.cpp
$$PRJ_SRC_DIR/AboutDialog.cpp \
$$PRJ_SRC_DIR/csshighlighter.cpp \
$$PRJ_SRC_DIR/CurvesGraphicsView.cpp \
$$PRJ_SRC_DIR/DoubleSpinBox.cpp \
$$PRJ_SRC_DIR/FinalRenderDialog.cpp \
$$PRJ_SRC_DIR/FinalRenderEmberController.cpp \
$$PRJ_SRC_DIR/Fractorium.cpp \
$$PRJ_SRC_DIR/FractoriumEmberController.cpp \
$$PRJ_SRC_DIR/FractoriumInfo.cpp \
$$PRJ_SRC_DIR/FractoriumLibrary.cpp \
$$PRJ_SRC_DIR/FractoriumMenus.cpp \
$$PRJ_SRC_DIR/FractoriumPalette.cpp \
$$PRJ_SRC_DIR/FractoriumParams.cpp \
$$PRJ_SRC_DIR/FractoriumPch.cpp \
$$PRJ_SRC_DIR/FractoriumRender.cpp \
$$PRJ_SRC_DIR/FractoriumSettings.cpp \
$$PRJ_SRC_DIR/FractoriumToolbar.cpp \
$$PRJ_SRC_DIR/FractoriumXaos.cpp \
$$PRJ_SRC_DIR/FractoriumXformsAffine.cpp \
$$PRJ_SRC_DIR/FractoriumXformsColor.cpp \
$$PRJ_SRC_DIR/FractoriumXforms.cpp \
$$PRJ_SRC_DIR/FractoriumXformsSelect.cpp \
$$PRJ_SRC_DIR/FractoriumXformsVariations.cpp \
$$PRJ_SRC_DIR/GLEmberController.cpp \
$$PRJ_SRC_DIR/GLWidget.cpp \
$$PRJ_SRC_DIR/Main.cpp \
$$PRJ_SRC_DIR/OptionsDialog.cpp \
$$PRJ_SRC_DIR/qcssparser.cpp \
$$PRJ_SRC_DIR/qcssscanner.cpp \
$$PRJ_SRC_DIR/QssDialog.cpp \
$$PRJ_SRC_DIR/QssTextEdit.cpp \
$$PRJ_SRC_DIR/SpinBox.cpp \
$$PRJ_SRC_DIR/VariationsDialog.cpp
HEADERS += \
$$SRC_COMMON_DIR/EmberCommon.h \
$$SRC_COMMON_DIR/EmberCommonPch.h \
$$SRC_COMMON_DIR/JpegUtils.h \
$$PRJ_DIR/AboutDialog.h \
$$PRJ_DIR/csshighlighter.h \
$$PRJ_DIR/CurvesGraphicsView.h \
$$PRJ_DIR/DoubleSpinBox.h \
$$PRJ_DIR/DoubleSpinBoxTableItemDelegate.h \
$$PRJ_DIR/EmberFile.h \
$$PRJ_DIR/EmberTreeWidgetItem.h \
$$PRJ_DIR/FinalRenderDialog.h \
$$PRJ_DIR/FinalRenderEmberController.h \
$$PRJ_DIR/FractoriumCommon.h \
$$PRJ_DIR/FractoriumEmberController.h \
$$PRJ_DIR/Fractorium.h \
$$PRJ_DIR/FractoriumPch.h \
$$PRJ_DIR/FractoriumSettings.h \
$$PRJ_DIR/GLEmberController.h \
$$PRJ_DIR/GLWidget.h \
$$PRJ_DIR/OptionsDialog.h \
$$PRJ_DIR/PaletteTableWidgetItem.h \
$$PRJ_DIR/qcssparser.h \
$$PRJ_DIR/qcssscanner.h \
$$PRJ_DIR/qfunctions.h \
$$PRJ_DIR/QssDialog.h \
$$PRJ_DIR/QssTextEdit.h \
$$PRJ_DIR/resource.h \
$$PRJ_DIR/SpinBox.h \
$$PRJ_DIR/StealthComboBox.h \
$$PRJ_DIR/TableWidget.h \
$$PRJ_DIR/TwoButtonComboWidget.h \
$$PRJ_DIR/VariationsDialog.h \
$$PRJ_DIR/VariationTreeWidgetItem.h
$$PRJ_SRC_DIR/AboutDialog.h \
$$PRJ_SRC_DIR/csshighlighter.h \
$$PRJ_SRC_DIR/CurvesGraphicsView.h \
$$PRJ_SRC_DIR/DoubleSpinBox.h \
$$PRJ_SRC_DIR/DoubleSpinBoxTableItemDelegate.h \
$$PRJ_SRC_DIR/EmberFile.h \
$$PRJ_SRC_DIR/EmberTreeWidgetItem.h \
$$PRJ_SRC_DIR/FinalRenderDialog.h \
$$PRJ_SRC_DIR/FinalRenderEmberController.h \
$$PRJ_SRC_DIR/FractoriumCommon.h \
$$PRJ_SRC_DIR/FractoriumEmberController.h \
$$PRJ_SRC_DIR/Fractorium.h \
$$PRJ_SRC_DIR/FractoriumPch.h \
$$PRJ_SRC_DIR/FractoriumSettings.h \
$$PRJ_SRC_DIR/GLEmberController.h \
$$PRJ_SRC_DIR/GLWidget.h \
$$PRJ_SRC_DIR/OptionsDialog.h \
$$PRJ_SRC_DIR/PaletteTableWidgetItem.h \
$$PRJ_SRC_DIR/qcssparser.h \
$$PRJ_SRC_DIR/qcssscanner.h \
$$PRJ_SRC_DIR/qfunctions.h \
$$PRJ_SRC_DIR/QssDialog.h \
$$PRJ_SRC_DIR/QssTextEdit.h \
$$PRJ_SRC_DIR/resource.h \
$$PRJ_SRC_DIR/SpinBox.h \
$$PRJ_SRC_DIR/StealthComboBox.h \
$$PRJ_SRC_DIR/TableWidget.h \
$$PRJ_SRC_DIR/TwoButtonComboWidget.h \
$$PRJ_SRC_DIR/VariationsDialog.h \
$$PRJ_SRC_DIR/VariationTreeWidgetItem.h
FORMS += \
$$PRJ_DIR/AboutDialog.ui \
$$PRJ_DIR/FinalRenderDialog.ui \
$$PRJ_DIR/Fractorium.ui \
$$PRJ_DIR/OptionsDialog.ui \
$$PRJ_DIR/QssDialog.ui \
$$PRJ_DIR/VariationsDialog.ui
$$PRJ_SRC_DIR/AboutDialog.ui \
$$PRJ_SRC_DIR/FinalRenderDialog.ui \
$$PRJ_SRC_DIR/Fractorium.ui \
$$PRJ_SRC_DIR/OptionsDialog.ui \
$$PRJ_SRC_DIR/QssDialog.ui \
$$PRJ_SRC_DIR/VariationsDialog.ui
OTHER_FILES += \
$$PRJ_DIR/Fractorium.aps \
$$PRJ_DIR/Fractorium.rc
$$PRJ_SRC_DIR/Fractorium.aps \
$$PRJ_SRC_DIR/Fractorium.rc
RESOURCES += \
$$PRJ_DIR/Fractorium.qrc
$$PRJ_SRC_DIR/Fractorium.qrc

View File

@ -1,193 +1,247 @@
VERSION = 0.9.9.2
VERSION = 0.9.9.4
win32:CONFIG += skip_target_version_ext
message(PWD: $$(PWD))
#message(PWD: $$absolute_path($$PWD))
# TODO: win32 install dirs?
#1) Declare the root of all files in this project, everything else will be
# defined in terms of this.
EMBER_ROOT = ./../..
unix|macx {
LIB_INSTALL_DIR = /usr/lib
BIN_INSTALL_DIR = /usr/bin
SHARE_INSTALL_DIR = /usr/share/fractorium
LAUNCHER_INSTALL_DIR = /usr/share/applications
}
# When loaded by QtCreator
#This cannot be this...
#EMBER_ROOT = $$(PWD)/../../..
#It must be this...
win32:{
EMBER_ROOT = ./../../
}
unix|macx{
EMBER_ROOT = ./../../..
}
# When compiling from project root
autobuild {
# EMBER_ROOT = $$(PWD)/../..
}
win32:{
#EMBER_ROOT = $$(PWD)../../..
EXTERNAL_DIR = $$(EMBER_ROOT)/../
EXTERNAL_LIB = $$(EMBER_ROOT)/../
# EXTERNAL_DIR which contains Third Party Codes is in the parent folder of "fractorium"
# EXTERNAL_LIB is in EXTERNAL_DIR actually, but it is strange that EXTERNAL_DIR must go
# one more step upper than EXTERNAL_LIB to get it work
LIB_INSTALL_DIR = $$(PWD)../../../Install/lib
BIN_INSTALL_DIR = $$(PWD)../../../Install/bin
SHARE_INSTALL_DIR = $$(PWD)../../../Install/share/fractorium
# INSTALL_DIRs Don't work?
message(EMBER_ROOT: $$absolute_path($$EMBER_ROOT))
message(EXTERNAL_DIR: $$absolute_path($$EXTERNAL_DIR))
message(EXTERNAL_LIB: $$absolute_path($$EXTERNAL_LIB) )
#2) Declare where dependency folders are.
# Point to local copy of OpenCL includes to ensure we have the right ones.
LOCAL_INCLUDE_DIR = $$absolute_path($$EMBER_ROOT/Builds/include/vendor)
# Parent folders for third party dependencies and their compiled outputs.
win32: {
EXTERNAL_DIR = $$absolute_path($$EMBER_ROOT/..)
EXTERNAL_LIB = $$absolute_path($$EMBER_ROOT/Deps)
}
message(EMBER_ROOT: $$EMBER_ROOT)
#3) Declare where our source, data and resource files are.
SRC_DIR = $$EMBER_ROOT/Source
SRC_COMMON_DIR = $$EMBER_ROOT/Source/EmberCommon
ASSETS_DIR = $$EMBER_ROOT/Data
LOCAL_LIB_DIR = $$(PWD)/../../lib
LOCAL_INCLUDE_DIR = $$(PWD)/../../include
SRC_COMMON_DIR = $$absolute_path($$EMBER_ROOT/Source/EmberCommon)
ASSETS_DIR = $$absolute_path($$EMBER_ROOT/Data)
QTCREATOR_DIR = $$absolute_path($$EMBER_ROOT/Builds/QtCreator)
win32:RCPATH=$$absolute_path($$QTCREATOR_DIR/../MSVC/VS2013)
win32:{
LOCAL_LIB_DIR = $$(PWD)../../lib
LOCAL_INCLUDE_DIR = $$(PWD)../../include
}
CONFIG(release, debug|release) {
CONFIG += warn_off
DESTDIR = $$EMBER_ROOT/Bin/release
win32:DESTDIR = $$(PWD)../../../Bin/release
#4) Add up all include paths.
INCLUDEPATH += $$LOCAL_INCLUDE_DIR
INCLUDEPATH += $$absolute_path($$SRC_DIR/Ember)
INCLUDEPATH += $$absolute_path($$SRC_DIR/EmberCL)
INCLUDEPATH += $$absolute_path($$SRC_DIR/EmberCommon)
win32 {
INCLUDEPATH += $$EXTERNAL_DIR/glm
INCLUDEPATH += $$EXTERNAL_DIR/libjpeg
INCLUDEPATH += $$EXTERNAL_DIR/libpng
INCLUDEPATH += $$EXTERNAL_DIR/libxml2/include
INCLUDEPATH += $$EXTERNAL_DIR/tbb/include
INCLUDEPATH += $$EXTERNAL_DIR/zlib
}
CONFIG(debug, debug|release) {
DESTDIR = $$EMBER_ROOT/Bin/debug
win32:DESTDIR = $$(PWD)../../../Bin/debug
!win32 {
#If your global includes are stored elsewhere, add them here.
INCLUDEPATH += /usr/include
INCLUDEPATH += /usr/local/include
INCLUDEPATH += /usr/include/GL
INCLUDEPATH += /usr/local/include/GL
INCLUDEPATH += /usr/include/glm
INCLUDEPATH += /usr/include/tbb
INCLUDEPATH += /usr/include/libxml2
#libjpeg and libpng aren't in separate folders, so nothing to add here for them.
}
#5) Add up all library paths.
win32 {
LIBS = ""
LIBS += OpenGL32.lib
LIBS += WS2_32.lib
LIBS += $$(AMDAPPSDKROOT)/lib/x86_64/OpenCL.lib
LIBS += $$(CUDA_PATH)/lib/x64/OpenCL.lib
LIBS += $$absolute_path($$EXTERNAL_LIB)/libjpeg.lib
LIBS += $$absolute_path($$EXTERNAL_LIB)/libpng.lib /NODEFAULTLIB:LIBCMT
LIBS += $$absolute_path($$EXTERNAL_LIB)/libxml2.lib
LIBS += $$absolute_path($$EXTERNAL_LIB)/tbb.lib
LIBS += $$absolute_path($$EXTERNAL_LIB)/zlib.lib
}
!win32 {
LIBS += -L/usr/lib -ljpeg
LIBS += -L/usr/lib -lpng
LIBS += -L/usr/lib -ltbb
LIBS += -L/usr/lib -lpthread
LIBS += -L/usr/lib/x86_64-linux-gnu -lxml2
}
macx {
LIBS += -framework OpenGL
LIBS += -framework OpenCL
# homebrew installs into /usr/local
LIBS += -L/usr/local/lib
INCLUDEPATH += /usr/local/include
QMAKE_MAC_SDK = macosx10.11
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.9
QMAKE_CXXFLAGS += -mmacosx-version-min=10.9 -arch x86_64
QMAKE_CXXFLAGS += -stdlib=libc++
LIBS += -framework OpenGL
LIBS += -framework OpenCL
LIBS += -L/usr/local/lib# homebrew installs into /usr/local
}
!macx:!win32 {
CONFIG += precompile_header
LIBS += -L/usr/lib/x86_64-linux-gnu -L$$LOCAL_LIB_DIR -lGL
LIBS += -L/usr/lib/x86_64-linux-gnu -L$$LOCAL_LIB_DIR -lOpenCL
QMAKE_LFLAGS_RELEASE += -s
unix {
LIBS += -lGL
LIBS += -lOpenCL
}
# Win32: put "GlU32.Lib" "WS2_32.Lib" "OpenGL32.Lib" under "MSVC2013\Windows Kits\8.1\Lib\winv6.3\um\x64\" ,
# and "CUDA\v7.5\lib\x64\OpenCL.lib" into $$EXTERNAL_LIB
#6) Declare intermediate paths.
#7) Declare output paths for each configuration.
CONFIG(release, debug|release) {
CONFIG += warn_off
DESTDIR = $$absolute_path($$EMBER_ROOT/Bin/release)
}
CONFIG(debug, debug|release) {
DESTDIR = $$absolute_path($$EMBER_ROOT/Bin/debug)
}
#8) Set compiler options.
QMAKE_CXXFLAGS_RELEASE += -O2
QMAKE_CXXFLAGS_RELEASE += -DNDEBUG
QMAKE_CXXFLAGS += -D_M_X64
QMAKE_CXXFLAGS += -D_CONSOLE
QMAKE_CXXFLAGS += -D_USRDLL
win32 {
QMAKE_CXXFLAGS += -bigobj #Allow for very large object files.
QMAKE_CXXFLAGS += /MP #Enable multi-processor compilation.
QMAKE_CXXFLAGS += /Zc:wchar_t #Treat wchar_t as builtin type (we don't use wchar_t anyway).
QMAKE_CXXFLAGS += /Zi #Debug information format: program database.
QMAKE_CXXFLAGS += /Gm- #Disable minimal rebuild, needed to allow /MP.
QMAKE_CXXFLAGS += /fp:precise #Precise floating point model.
QMAKE_CXXFLAGS += /fp:except- #Disable floating point exceptions.
QMAKE_CXXFLAGS += /D "WIN32"
QMAKE_CXXFLAGS += /D "_WINDOWS"
QMAKE_CXXFLAGS += /D "_USRDLL"
QMAKE_CXXFLAGS += /D "_WINDLL" #Build as a DLL.
QMAKE_CXXFLAGS += /D "_MBCS" #Use multi-byte character set.
QMAKE_CXXFLAGS += /errorReport:prompt #Internal compiler error reporting, prompt immediately.
QMAKE_CXXFLAGS += /GF #Enable string pooling.
QMAKE_CXXFLAGS += /WX- #Don't treat warnings as errors.
QMAKE_CXXFLAGS += /Zc:forScope #Force conformance in for loop scope.
QMAKE_CXXFLAGS += /Gd #Calling convention: __cdecl.
QMAKE_CXXFLAGS += /EHsc #Enable C++ exceptions.
QMAKE_CXXFLAGS += /nologo #Suppress compiler startup banner.
LIBS +=$$absolute_path($$EXTERNAL_LIB)/GlU32.Lib
LIBS +=$$absolute_path($$EXTERNAL_LIB)/OpenGL32.lib
LIBS +=$$absolute_path($$EXTERNAL_LIB)/WS2_32.lib
LIBS +=$$absolute_path($$EXTERNAL_LIB)/OpenCL.lib
}
!win32 {
native {
QMAKE_CXXFLAGS += -march=native
} else {
QMAKE_CXXFLAGS += -march=k8
}
QMAKE_CXXFLAGS_RELEASE += /GS- #Disable security check.
QMAKE_CXXFLAGS_RELEASE += /MD #Link to multi-threaded DLL.
QMAKE_CXXFLAGS_RELEASE += /Gy #Enable function level linking.
QMAKE_CXXFLAGS_RELEASE += /O2 #Maximize speed.
QMAKE_CXXFLAGS_RELEASE += /Ot #Favor fast code.
QMAKE_CXXFLAGS_RELEASE += /D "NDEBUG" #Release mode.
QMAKE_CXXFLAGS_DEBUG += /W3 #Error warning level to 3.
QMAKE_CXXFLAGS_DEBUG += /GS #Enable security check.
QMAKE_CXXFLAGS_DEBUG += /MDd #Link to multi-threaded debug DLL.
QMAKE_CXXFLAGS_DEBUG += /Od #Optimization disabled.
QMAKE_CXXFLAGS_DEBUG += /D "_DEBUG" #Debug mode.
QMAKE_CXXFLAGS_DEBUG += /RTC1 #Basic runtime checks: stack frames and uninitialized variables.
}
OBJECTS_DIR = $$PWD/.obj
MOC_DIR = $$PWD/.moc
RCC_DIR = $$PWD/.qrc
UI_DIR = $$PWD/.ui
!win32 {
LIBS += -L/usr/lib -ljpeg
LIBS += -L/usr/lib -lpng
LIBS += -L/usr/lib -ltbb
LIBS += -L/usr/lib -lpthread
LIBS += -L/usr/lib/x86_64-linux-gnu -lxml2
native {
QMAKE_CXXFLAGS += -march=native
} else {
QMAKE_CXXFLAGS += -march=k8
}
CMAKE_CXXFLAGS += -DCL_USE_DEPRECATED_OPENCL_1_1_APIS
CMAKE_CXXFLAGS += -DCL_USE_DEPRECATED_OPENCL_1_1_APIS # Not sure if this is needed. We remove it if all systems we build on support 1.2.
QMAKE_CXXFLAGS_RELEASE += -fomit-frame-pointer
QMAKE_CXXFLAGS += -fPIC
QMAKE_CXXFLAGS += -fpermissive
QMAKE_CXXFLAGS += -pedantic
QMAKE_CXXFLAGS += -std=c++11
QMAKE_CXXFLAGS += -Wnon-virtual-dtor
QMAKE_CXXFLAGS += -Wshadow
QMAKE_CXXFLAGS += -Winit-self
QMAKE_CXXFLAGS += -Wredundant-decls
QMAKE_CXXFLAGS += -Wcast-align
QMAKE_CXXFLAGS += -Winline
QMAKE_CXXFLAGS += -Wunreachable-code
QMAKE_CXXFLAGS += -Wswitch-enum
QMAKE_CXXFLAGS += -Wswitch-default
QMAKE_CXXFLAGS += -Wmain
QMAKE_CXXFLAGS += -Wfatal-errors
QMAKE_CXXFLAGS += -Wall -fpermissive
QMAKE_CXXFLAGS += -Wold-style-cast
QMAKE_CXXFLAGS += -Wno-unused-parameter
QMAKE_CXXFLAGS += -Wno-unused-function
QMAKE_CXXFLAGS += -Wold-style-cast
QMAKE_CXXFLAGS_DEBUG += -Wmissing-include-dirs
QMAKE_CXXFLAGS_DEBUG += -Wzero-as-null-pointer-constant
# NOTE: last path will be the first to search. gcc -I and -L appends to the
# beginning of the path list.
# NOTE: qmake will resolve symlinks. If /usr/local/include/CL is a symlink to
# /usr/include/nvidia-352/CL, qmake will generate Makefiles using the latter.
INCLUDEPATH += /usr/include
INCLUDEPATH += /usr/local/include
}
INCLUDEPATH += $$LOCAL_INCLUDE_DIR/vendor
INCLUDEPATH += $$LOCAL_INCLUDE_DIR
macx {
QMAKE_MAC_SDK = macosx10.11
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.9
QMAKE_CXXFLAGS += -mmacosx-version-min=10.9 -arch x86_64
QMAKE_CXXFLAGS += -stdlib=libc++
}
unix {
CONFIG += precompile_header
QMAKE_LFLAGS_RELEASE += -s
}
#9) Declare !win32 install dirs.
win32 {#For Windows, the install folder is just the output folder.
LIB_INSTALL_DIR = $$DESTDIR
BIN_INSTALL_DIR = $$DESTDIR
SHARE_INSTALL_DIR = $$DESTDIR
LAUNCHER_INSTALL_DIR = $$DESTDIR
}
# Using a local version of opencl-headers, to make sure version 1.2.
#INCLUDEPATH += /usr/include/CL
#INCLUDEPATH += /usr/local/include/CL
!win32 {
INCLUDEPATH += /usr/include/GL
INCLUDEPATH += /usr/local/include/GL
INCLUDEPATH += /usr/include/glm
INCLUDEPATH += /usr/include/tbb
INCLUDEPATH += /usr/include/libxml2
LIB_INSTALL_DIR = /usr/lib
BIN_INSTALL_DIR = /usr/bin
SHARE_INSTALL_DIR = /usr/share/fractorium
LAUNCHER_INSTALL_DIR = /usr/share/applications
}
#10) Add third party libraries to install dir.
win32 {
INCLUDEPATH += $$EXTERNAL_DIR/glm
INCLUDEPATH += $$EXTERNAL_DIR/tbb/include
INCLUDEPATH += $$EXTERNAL_DIR/libjpeg
INCLUDEPATH += $$EXTERNAL_DIR/libpng
INCLUDEPATH += $$EXTERNAL_DIR/libxml2/include
LIBS += $$absolute_path($$EXTERNAL_LIB)/libjpeg.lib
LIBS += $$absolute_path($$EXTERNAL_LIB)/libpng.lib /NODEFAULTLIB:LIBCMT
LIBS += $$absolute_path($$EXTERNAL_LIB)/libxml2.lib
LIBS += $$absolute_path($$EXTERNAL_LIB)/tbb.lib
LIBS += $$absolute_path($$EXTERNAL_LIB)/tbb_debug.lib
LIBS += $$absolute_path($$EXTERNAL_LIB)/zlib.lib
}
INCLUDEPATH += $$SRC_DIR/Ember
INCLUDEPATH += $$SRC_DIR/EmberCL
INCLUDEPATH += $$SRC_DIR/EmberCommon
libxml.path = $$BIN_INSTALL_DIR
libxml.files = $$absolute_path($$EMBER_ROOT/Deps/libxml2.dll)
INSTALLS += libxml
QMAKE_CXXFLAGS_RELEASE += -O2
QMAKE_CXXFLAGS_RELEASE += -DNDEBUG
!win32 {
QMAKE_CXXFLAGS_RELEASE += -fomit-frame-pointer
QMAKE_CXXFLAGS += -fPIC
QMAKE_CXXFLAGS += -fpermissive
QMAKE_CXXFLAGS += -pedantic
QMAKE_CXXFLAGS += -std=c++11
QMAKE_CXXFLAGS += -Wnon-virtual-dtor
QMAKE_CXXFLAGS += -Wshadow
QMAKE_CXXFLAGS += -Winit-self
QMAKE_CXXFLAGS += -Wredundant-decls
QMAKE_CXXFLAGS += -Wcast-align
QMAKE_CXXFLAGS += -Winline
QMAKE_CXXFLAGS += -Wunreachable-code
QMAKE_CXXFLAGS += -Wmissing-include-dirs
QMAKE_CXXFLAGS += -Wswitch-enum
QMAKE_CXXFLAGS += -Wswitch-default
QMAKE_CXXFLAGS += -Wmain
QMAKE_CXXFLAGS += -Wzero-as-null-pointer-constant
QMAKE_CXXFLAGS += -Wfatal-errors
QMAKE_CXXFLAGS += -Wall -fpermissive
QMAKE_CXXFLAGS += -Wold-style-cast
QMAKE_CXXFLAGS += -Wno-unused-parameter
QMAKE_CXXFLAGS += -Wno-unused-function
QMAKE_CXXFLAGS += -Wold-style-cast
tbb.path = $$BIN_INSTALL_DIR
tbb.files = $$absolute_path($$EMBER_ROOT/Deps/tbb.dll)
INSTALLS += tbb
}
QMAKE_CXXFLAGS += -D_M_X64
QMAKE_CXXFLAGS += -D_CONSOLE
QMAKE_CXXFLAGS += -D_USRDLL
win32:QMAKE_CXXFLAGS += -bigobj
#11) Print values of relevant variables for debugging.
#message(CONFIG: $(CONFIG))
#message(EMBER_ROOT: $$absolute_path($$EMBER_ROOT))
#message(EXTERNAL_DIR: $$absolute_path($$EXTERNAL_DIR))
#message(EXTERNAL_LIB: $$absolute_path($$EXTERNAL_LIB))
#message(SRC_DIR: $$absolute_path($$SRC_DIR))
#message(SRC_COMMON_DIR: $$SRC_COMMON_DIR)
#message(ASSETS_DIR: $$absolute_path($$ASSETS_DIR))
#message(LOCAL_INCLUDE_DIR: $$absolute_path($$LOCAL_INCLUDE_DIR))
#message(QTCREATOR_DIR: $$absolute_path($$QTCREATOR_DIR))
#message(LIBS: $$absolute_path($$LIBS))
#message(DESTDIR: $$absolute_path($$DESTDIR))
#message(DEPENDPATH: $$absolute_path($$DEPENDPATH))
#message(AMDAPPSDKROOT: $$(AMDAPPSDKROOT))
#message(CUDA_PATH: $$(CUDA_PATH))
win32 {
#message(RCPATH: $$RCPATH)
}
#message(LIB_INSTALL_DIR: $$absolute_path($$LIB_INSTALL_DIR))
#message(BIN_INSTALL_DIR: $$absolute_path($$BIN_INSTALL_DIR))
#message(SHARE_INSTALL_DIR: $$absolute_path($$SHARE_INSTALL_DIR))
#message(LAUNCHER_INSTALL_DIR: $$absolute_path($$LAUNCHER_INSTALL_DIR))