mirror of
https://bitbucket.org/mfeemster/fractorium.git
synced 2025-07-01 13:56:06 -04:00
--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:
@ -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("")
|
||||
|
@ -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 \
|
||||
|
@ -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
|
||||
|
||||
|
@ -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 \
|
||||
|
@ -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 \
|
||||
|
@ -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
|
||||
|
@ -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))
|
||||
|
Reference in New Issue
Block a user