Files

438 lines
16 KiB
Prolog

#-------------------------------------------------
#
# Project created by QtCreator 2015-03-18T20:10:50
#
#-------------------------------------------------
QT += core gui widgets svg network
CONFIG += silent
lessThan(QT_MAJOR_VERSION, 5): error("requires Qt 5.6; found $$[QT_VERSION]")
equals(QT_MAJOR_VERSION, 5): lessThan(QT_MINOR_VERSION, 6): error("requires Qt 5.6; found $$[QT_VERSION]")
TARGET = qrenderdoc
TEMPLATE = app
# include path for core renderdoc API
INCLUDEPATH += $$_PRO_FILE_PWD_/../renderdoc/api/replay
# Allow includes relative to the root
INCLUDEPATH += $$_PRO_FILE_PWD_/
# And relative to 3rdparty
INCLUDEPATH += $$_PRO_FILE_PWD_/3rdparty
# For Scintilla source builds - we unfortunately are not able to scope these to only
# those source files
INCLUDEPATH += $$_PRO_FILE_PWD_/3rdparty/scintilla/include/qt
INCLUDEPATH += $$_PRO_FILE_PWD_/3rdparty/scintilla/include
# Disable conversions to/from const char * in QString
DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII
# Disable deprecation warnings that are default on in 5.13 and up
DEFINES += QT_NO_DEPRECATED_WARNINGS
# HA HA good joke, QT_NO_DEPRECATED_WARNINGS only covers SOME warnings, not all
QMAKE_CXXFLAGS += -Wno-deprecated-declarations
# Different output folders per platform
win32 {
RC_INCLUDEPATH = $$_PRO_FILE_PWD_/../renderdoc/api/replay
RC_FILE = Resources/qrenderdoc.rc
# generate pdb files even in release
QMAKE_LFLAGS_RELEASE+=/MAP
QMAKE_CFLAGS_RELEASE += /Zi
QMAKE_LFLAGS_RELEASE +=/debug /opt:ref
!contains(QMAKE_TARGET.arch, x86_64) {
Debug:DESTDIR = $$_PRO_FILE_PWD_/../Win32/Development
Release:DESTDIR = $$_PRO_FILE_PWD_/../Win32/Release
} else {
Debug:DESTDIR = $$_PRO_FILE_PWD_/../x64/Development
Release:DESTDIR = $$_PRO_FILE_PWD_/../x64/Release
}
# Run SWIG here, since normally we run it from VS
swig.name = SWIG ${QMAKE_FILE_IN}
swig.input = SWIGSOURCES
swig.output = ${QMAKE_FILE_BASE}_python.cxx
swig.commands = $$_PRO_FILE_PWD_/3rdparty/swig/swig.exe -v -Wextra -Werror -O -interface ${QMAKE_FILE_BASE} -c++ -python -modern -modernargs -enumclass -fastunpack -py3 -builtin -I$$_PRO_FILE_PWD_ -I$$_PRO_FILE_PWD_/../renderdoc/api/replay -outdir . -o ${QMAKE_FILE_BASE}_python.cxx ${QMAKE_FILE_IN}
swig.CONFIG += target_predeps
swig.variable_out = GENERATED_SOURCES
silent:swig.commands = @echo SWIG ${QMAKE_FILE_IN} && $$swig.commands
QMAKE_EXTRA_COMPILERS += swig
# add qrc file with qt.conf
RESOURCES += Resources/qtconf.qrc
SWIGSOURCES += Code/pyrenderdoc/renderdoc.i
SWIGSOURCES += Code/pyrenderdoc/qrenderdoc.i
# Include and link against python
INCLUDEPATH += $$_PRO_FILE_PWD_/3rdparty/python/include
!contains(QMAKE_TARGET.arch, x86_64) {
LIBS += $$_PRO_FILE_PWD_/3rdparty/python/Win32/python36.lib
} else {
LIBS += $$_PRO_FILE_PWD_/3rdparty/python/x64/python36.lib
}
# Include and link against PySide2
exists( $$_PRO_FILE_PWD_/3rdparty/pyside/include/PySide2/pyside.h ) {
DEFINES += PYSIDE2_ENABLED=1
INCLUDEPATH += $$_PRO_FILE_PWD_/3rdparty/pyside/include/shiboken2
INCLUDEPATH += $$_PRO_FILE_PWD_/3rdparty/pyside/include/PySide2
INCLUDEPATH += $$_PRO_FILE_PWD_/3rdparty/pyside/include/PySide2/QtCore
INCLUDEPATH += $$_PRO_FILE_PWD_/3rdparty/pyside/include/PySide2/QtGui
INCLUDEPATH += $$_PRO_FILE_PWD_/3rdparty/pyside/include/PySide2/QtWidgets
!contains(QMAKE_TARGET.arch, x86_64) {
LIBS += $$_PRO_FILE_PWD_/3rdparty/pyside/Win32/shiboken2.lib
} else {
LIBS += $$_PRO_FILE_PWD_/3rdparty/pyside/x64/shiboken2.lib
}
}
LIBS += user32.lib
# Link against the core library
LIBS += $$DESTDIR/renderdoc.lib
# Link against the version library
LIBS += $$DESTDIR/version.lib
QMAKE_CXXFLAGS_WARN_ON -= -w34100
DEFINES += RENDERDOC_PLATFORM_WIN32
} else {
isEmpty(CMAKE_DIR) {
error("When run from outside CMake, please set the Build Environment Variable CMAKE_DIR to point to your CMake build root. In Qt Creator add CMAKE_DIR=/path/to/renderdoc/build under 'Additional arguments' in the qmake Build Step. If running qmake directly, add CMAKE_DIR=/path/to/renderdoc/build/ to the command line.")
}
DESTDIR=$$CMAKE_DIR/bin
# Archlinux broke Qt builds by forcing on lto, so we have to re-override that here
CONFIG -= ltcg
include($$CMAKE_DIR/qrenderdoc/qrenderdoc_cmake.pri)
# Temp files into .obj
MOC_DIR = .obj
UI_DIR = .obj
RCC_DIR = .obj
OBJECTS_DIR = .obj
# Link against the core library
LIBS += -lrenderdoc
QMAKE_LFLAGS += '-Wl,-rpath,\'\$$ORIGIN\',-rpath,\'\$$ORIGIN/../lib'$$LIB_SUFFIX'/'$$LIB_SUBFOLDER_TRAIL_SLASH'\''
# Add the SWIG files that were generated in cmake
SOURCES += $$CMAKE_DIR/qrenderdoc/renderdoc_python.cxx
SOURCES += $$CMAKE_DIR/qrenderdoc/qrenderdoc_python.cxx
CONFIG += warn_off
CONFIG += c++14
QMAKE_CFLAGS_WARN_OFF -= -w
QMAKE_CXXFLAGS_WARN_OFF -= -w
macx: {
SOURCES += Code/AppleUtils.mm
LIBS += -framework Cocoa -framework QuartzCore
DEFINES += RENDERDOC_PLATFORM_POSIX RENDERDOC_PLATFORM_APPLE
ICON = $$OSX_ICONFILE
# add qrc file with qt.conf
RESOURCES += Resources/qtconf.qrc
librd.files = $$files($$DESTDIR/../lib/librenderdoc.dylib)
librd.path = Contents/lib
QMAKE_BUNDLE_DATA += librd
INFO_PLIST_PATH = $$shell_quote($$DESTDIR/$${TARGET}.app/Contents/Info.plist)
QTPLUGINS_PATH = $$shell_quote($$DESTDIR/$${TARGET}.app/Contents/qtplugins)
QMAKE_POST_LINK += ln -sf $$[QT_INSTALL_PLUGINS] $${QTPLUGINS_PATH} ;
QMAKE_POST_LINK += sh $$_PRO_FILE_PWD_/../util/set_plist_version.sh $${RENDERDOC_VERSION}.0 $${INFO_PLIST_PATH}
} else {
QT += x11extras
DEFINES += RENDERDOC_PLATFORM_POSIX RENDERDOC_PLATFORM_LINUX RENDERDOC_WINDOWING_XLIB RENDERDOC_WINDOWING_XCB
QMAKE_LFLAGS += '-Wl,--no-as-needed -rdynamic'
}
}
# Add our sources first so Qt Creator adds new files here
SOURCES += Code/qrenderdoc.cpp \
Code/qprocessinfo.cpp \
Code/ReplayManager.cpp \
Code/CaptureContext.cpp \
Code/ScintillaSyntax.cpp \
Code/QRDUtils.cpp \
Code/MiniQtHelper.cpp \
Code/BufferFormatter.cpp \
Code/Resources.cpp \
Code/RGPInterop.cpp \
Code/pyrenderdoc/PythonContext.cpp \
Code/Interface/QRDInterface.cpp \
Code/Interface/Analytics.cpp \
Code/Interface/ShaderProcessingTool.cpp \
Code/Interface/PersistantConfig.cpp \
Code/Interface/RemoteHost.cpp \
Styles/StyleData.cpp \
Styles/RDStyle/RDStyle.cpp \
Styles/RDTweakedNativeStyle/RDTweakedNativeStyle.cpp \
Windows/Dialogs/AboutDialog.cpp \
Windows/Dialogs/CrashDialog.cpp \
Windows/Dialogs/UpdateDialog.cpp \
Windows/MainWindow.cpp \
Windows/EventBrowser.cpp \
Windows/TextureViewer.cpp \
Windows/ShaderViewer.cpp \
Windows/ShaderMessageViewer.cpp \
Windows/DescriptorViewer.cpp \
Widgets/Extended/RDLineEdit.cpp \
Widgets/Extended/RDTextEdit.cpp \
Widgets/Extended/RDLabel.cpp \
Widgets/Extended/RDMenu.cpp \
Widgets/Extended/RDHeaderView.cpp \
Widgets/Extended/RDToolButton.cpp \
Widgets/Extended/RDDoubleSpinBox.cpp \
Widgets/Extended/RDListView.cpp \
Widgets/ComputeDebugSelector.cpp \
Widgets/CustomPaintWidget.cpp \
Widgets/ResourcePreview.cpp \
Widgets/ThumbnailStrip.cpp \
Widgets/ReplayOptionsSelector.cpp \
Widgets/TextureGoto.cpp \
Widgets/RangeHistogram.cpp \
Widgets/AnnotationDisplay.cpp \
Widgets/CollapseGroupBox.cpp \
Windows/Dialogs/TextureSaveDialog.cpp \
Windows/Dialogs/CaptureDialog.cpp \
Windows/Dialogs/LiveCapture.cpp \
Widgets/Extended/RDListWidget.cpp \
Windows/APIInspector.cpp \
Windows/PipelineState/PipelineStateViewer.cpp \
Windows/PipelineState/VulkanPipelineStateViewer.cpp \
Windows/PipelineState/D3D11PipelineStateViewer.cpp \
Windows/PipelineState/D3D12PipelineStateViewer.cpp \
Windows/PipelineState/GLPipelineStateViewer.cpp \
Widgets/Extended/RDTreeView.cpp \
Widgets/Extended/RDTreeWidget.cpp \
Widgets/BufferFormatSpecifier.cpp \
Windows/BufferViewer.cpp \
Widgets/Extended/RDTableView.cpp \
Windows/DebugMessageView.cpp \
Windows/LogView.cpp \
Windows/CommentView.cpp \
Windows/StatisticsViewer.cpp \
Windows/TimelineBar.cpp \
Windows/Dialogs/SettingsDialog.cpp \
Widgets/OrderedListEditor.cpp \
Widgets/MarkerBreadcrumbs.cpp \
Widgets/Extended/RDTableWidget.cpp \
Windows/Dialogs/SuggestRemoteDialog.cpp \
Windows/Dialogs/VirtualFileDialog.cpp \
Windows/Dialogs/RemoteManager.cpp \
Windows/Dialogs/ExtensionManager.cpp \
Windows/PixelHistoryView.cpp \
Widgets/PipelineFlowChart.cpp \
Windows/Dialogs/EnvironmentEditor.cpp \
Widgets/FindReplace.cpp \
Widgets/Extended/RDSplitter.cpp \
Windows/Dialogs/TipsDialog.cpp \
Windows/Dialogs/ConfigEditor.cpp \
Windows/PythonShell.cpp \
Windows/Dialogs/PerformanceCounterSelection.cpp \
Windows/PerformanceCounterViewer.cpp \
Windows/ResourceInspector.cpp \
Windows/Dialogs/AnalyticsConfirmDialog.cpp \
Windows/Dialogs/AnalyticsPromptDialog.cpp \
Windows/Dialogs/AxisMappingDialog.cpp \
Windows/Dialogs/CameraControlsDialog.cpp \
Windows/Dialogs/ProjectionGuessDialog.cpp
HEADERS += Code/CaptureContext.h \
Code/qprocessinfo.h \
Code/ReplayManager.h \
Code/ScintillaSyntax.h \
Code/QRDUtils.h \
Code/MiniQtHelper.h \
Code/Resources.h \
Code/RGPInterop.h \
Code/pyrenderdoc/PythonContext.h \
Code/pyrenderdoc/pyconversion.h \
Code/pyrenderdoc/interface_check.h \
Code/Interface/QRDInterface.h \
Code/Interface/Analytics.h \
Code/Interface/PersistantConfig.h \
Code/Interface/Extensions.h \
Code/Interface/RemoteHost.h \
Styles/StyleData.h \
Styles/RDStyle/RDStyle.h \
Styles/RDTweakedNativeStyle/RDTweakedNativeStyle.h \
Windows/Dialogs/AboutDialog.h \
Windows/Dialogs/CrashDialog.h \
Windows/Dialogs/UpdateDialog.h \
Windows/MainWindow.h \
Windows/EventBrowser.h \
Windows/TextureViewer.h \
Windows/ShaderViewer.h \
Windows/ShaderMessageViewer.h \
Windows/DescriptorViewer.h \
Widgets/Extended/RDLineEdit.h \
Widgets/Extended/RDTextEdit.h \
Widgets/Extended/RDLabel.h \
Widgets/Extended/RDMenu.h \
Widgets/Extended/RDHeaderView.h \
Widgets/Extended/RDToolButton.h \
Widgets/Extended/RDDoubleSpinBox.h \
Widgets/Extended/RDListView.h \
Widgets/ComputeDebugSelector.h \
Widgets/CustomPaintWidget.h \
Widgets/ResourcePreview.h \
Widgets/ThumbnailStrip.h \
Widgets/ReplayOptionsSelector.h \
Widgets/TextureGoto.h \
Widgets/AnnotationDisplay.h \
Widgets/RangeHistogram.h \
Widgets/CollapseGroupBox.h \
Windows/Dialogs/TextureSaveDialog.h \
Windows/Dialogs/CaptureDialog.h \
Windows/Dialogs/LiveCapture.h \
Widgets/Extended/RDListWidget.h \
Windows/APIInspector.h \
Windows/PipelineState/PipelineStateViewer.h \
Windows/PipelineState/VulkanPipelineStateViewer.h \
Windows/PipelineState/D3D11PipelineStateViewer.h \
Windows/PipelineState/D3D12PipelineStateViewer.h \
Windows/PipelineState/GLPipelineStateViewer.h \
Widgets/Extended/RDTreeView.h \
Widgets/Extended/RDTreeWidget.h \
Widgets/BufferFormatSpecifier.h \
Windows/BufferViewer.h \
Widgets/Extended/RDTableView.h \
Windows/DebugMessageView.h \
Windows/LogView.h \
Windows/CommentView.h \
Windows/StatisticsViewer.h \
Windows/TimelineBar.h \
Windows/Dialogs/SettingsDialog.h \
Widgets/OrderedListEditor.h \
Widgets/MarkerBreadcrumbs.h \
Widgets/Extended/RDTableWidget.h \
Windows/Dialogs/SuggestRemoteDialog.h \
Windows/Dialogs/VirtualFileDialog.h \
Windows/Dialogs/RemoteManager.h \
Windows/Dialogs/ExtensionManager.h \
Windows/PixelHistoryView.h \
Widgets/PipelineFlowChart.h \
Windows/Dialogs/EnvironmentEditor.h \
Widgets/FindReplace.h \
Widgets/Extended/RDSplitter.h \
Windows/Dialogs/TipsDialog.h \
Windows/Dialogs/ConfigEditor.h \
Windows/PythonShell.h \
Windows/Dialogs/PerformanceCounterSelection.h \
Windows/PerformanceCounterViewer.h \
Windows/ResourceInspector.h \
Windows/Dialogs/AnalyticsConfirmDialog.h \
Windows/Dialogs/AnalyticsPromptDialog.h \
Windows/Dialogs/AxisMappingDialog.h \
Windows/Dialogs/CameraControlsDialog.h \
Windows/Dialogs/ProjectionGuessDialog.h
FORMS += Windows/Dialogs/AboutDialog.ui \
Windows/Dialogs/CrashDialog.ui \
Windows/Dialogs/UpdateDialog.ui \
Windows/MainWindow.ui \
Windows/EventBrowser.ui \
Windows/TextureViewer.ui \
Widgets/ResourcePreview.ui \
Widgets/ThumbnailStrip.ui \
Widgets/ReplayOptionsSelector.ui \
Windows/Dialogs/TextureSaveDialog.ui \
Windows/Dialogs/CaptureDialog.ui \
Windows/Dialogs/LiveCapture.ui \
Windows/APIInspector.ui \
Windows/PipelineState/PipelineStateViewer.ui \
Windows/PipelineState/VulkanPipelineStateViewer.ui \
Windows/PipelineState/D3D11PipelineStateViewer.ui \
Windows/PipelineState/D3D12PipelineStateViewer.ui \
Windows/PipelineState/GLPipelineStateViewer.ui \
Widgets/BufferFormatSpecifier.ui \
Widgets/ComputeDebugSelector.ui \
Windows/BufferViewer.ui \
Windows/ShaderViewer.ui \
Windows/ShaderMessageViewer.ui \
Windows/DescriptorViewer.ui \
Windows/DebugMessageView.ui \
Windows/LogView.ui \
Windows/CommentView.ui \
Windows/StatisticsViewer.ui \
Windows/Dialogs/SettingsDialog.ui \
Windows/Dialogs/SuggestRemoteDialog.ui \
Windows/Dialogs/VirtualFileDialog.ui \
Windows/Dialogs/RemoteManager.ui \
Windows/Dialogs/ExtensionManager.ui \
Windows/PixelHistoryView.ui \
Windows/Dialogs/EnvironmentEditor.ui \
Widgets/FindReplace.ui \
Windows/Dialogs/TipsDialog.ui \
Windows/Dialogs/ConfigEditor.ui \
Windows/PythonShell.ui \
Windows/Dialogs/PerformanceCounterSelection.ui \
Windows/PerformanceCounterViewer.ui \
Windows/ResourceInspector.ui \
Windows/Dialogs/AnalyticsConfirmDialog.ui \
Windows/Dialogs/AnalyticsPromptDialog.ui \
Windows/Dialogs/AxisMappingDialog.ui \
Windows/Dialogs/CameraControlsDialog.ui \
Windows/Dialogs/ProjectionGuessDialog.ui
RESOURCES += Resources/resources.qrc
# Add ToolWindowManager
SOURCES += 3rdparty/toolwindowmanager/ToolWindowManager.cpp \
3rdparty/toolwindowmanager/ToolWindowManagerArea.cpp \
3rdparty/toolwindowmanager/ToolWindowManagerSplitter.cpp \
3rdparty/toolwindowmanager/ToolWindowManagerTabBar.cpp \
3rdparty/toolwindowmanager/ToolWindowManagerWrapper.cpp
HEADERS += 3rdparty/toolwindowmanager/ToolWindowManager.h \
3rdparty/toolwindowmanager/ToolWindowManagerArea.h \
3rdparty/toolwindowmanager/ToolWindowManagerSplitter.h \
3rdparty/toolwindowmanager/ToolWindowManagerTabBar.h \
3rdparty/toolwindowmanager/ToolWindowManagerWrapper.h
# Add FlowLayout
SOURCES += 3rdparty/flowlayout/FlowLayout.cpp
HEADERS += 3rdparty/flowlayout/FlowLayout.h
# Add pythoncapi-compat
HEADERS += 3rdparty/pythoncapi_compat.h
# Add Scintilla last as it has extra search paths
# Needed for building
DEFINES += SCINTILLA_QT=1 MAKING_LIBRARY=1 SCI_LEXER=1
INCLUDEPATH += $$_PRO_FILE_PWD_/3rdparty/scintilla/src
INCLUDEPATH += $$_PRO_FILE_PWD_/3rdparty/scintilla/lexlib
SOURCES += $$_PRO_FILE_PWD_/3rdparty/scintilla/lexlib/*.cxx \
$$_PRO_FILE_PWD_/3rdparty/scintilla/lexers/*.cxx \
$$_PRO_FILE_PWD_/3rdparty/scintilla/src/*.cxx \
$$_PRO_FILE_PWD_/3rdparty/scintilla/qt/ScintillaEdit/*.cpp \
$$_PRO_FILE_PWD_/3rdparty/scintilla/qt/ScintillaEditBase/*.cpp
HEADERS += $$_PRO_FILE_PWD_/3rdparty/scintilla/lexlib/*.h \
$$_PRO_FILE_PWD_/3rdparty/scintilla/src/*.h \
$$_PRO_FILE_PWD_/3rdparty/scintilla/qt/ScintillaEdit/*.h \
$$_PRO_FILE_PWD_/3rdparty/scintilla/qt/ScintillaEditBase/*.h