mirror of
https://github.com/rizinorg/cutter.git
synced 2024-12-19 11:26:11 +00:00
574 lines
18 KiB
Prolog
574 lines
18 KiB
Prolog
TEMPLATE = app
|
|
|
|
TARGET = Cutter
|
|
|
|
CUTTER_VERSION_MAJOR = 1
|
|
CUTTER_VERSION_MINOR = 7
|
|
CUTTER_VERSION_PATCH = 4
|
|
|
|
VERSION = $${CUTTER_VERSION_MAJOR}.$${CUTTER_VERSION_MINOR}.$${CUTTER_VERSION_PATCH}
|
|
|
|
# Required QT version
|
|
lessThan(QT_MAJOR_VERSION, 5): error("requires Qt 5")
|
|
|
|
TRANSLATIONS += translations/cutter_ca.ts \
|
|
translations/cutter_de.ts \
|
|
translations/cutter_es.ts \
|
|
translations/cutter_fr.ts \
|
|
translations/cutter_it.ts \
|
|
translations/cutter_nl.ts \
|
|
translations/cutter_pt.ts \
|
|
translations/cutter_ro.ts \
|
|
translations/cutter_ru.ts \
|
|
translations/cutter_tr.ts
|
|
|
|
# Icon for OS X
|
|
ICON = img/cutter.icns
|
|
|
|
# Icon/resources for Windows
|
|
win32: RC_ICONS = img/cutter.ico
|
|
|
|
QT += core gui widgets svg network
|
|
QT_CONFIG -= no-pkg-config
|
|
CONFIG += c++11
|
|
|
|
!defined(CUTTER_ENABLE_PYTHON, var) CUTTER_ENABLE_PYTHON=false
|
|
equals(CUTTER_ENABLE_PYTHON, true) CONFIG += CUTTER_ENABLE_PYTHON
|
|
|
|
!defined(CUTTER_ENABLE_PYTHON_BINDINGS, var) CUTTER_ENABLE_PYTHON_BINDINGS=false
|
|
equals(CUTTER_ENABLE_PYTHON, true) {
|
|
equals(CUTTER_ENABLE_PYTHON_BINDINGS, true) {
|
|
CONFIG += CUTTER_ENABLE_PYTHON_BINDINGS
|
|
!defined(SHIBOKEN_EXECUTABLE, var) SHIBOKEN_EXECUTABLE=shiboken2
|
|
}
|
|
}
|
|
|
|
!defined(CUTTER_ENABLE_JUPYTER, var) CUTTER_ENABLE_JUPYTER=false
|
|
equals(CUTTER_ENABLE_PYTHON, true) {
|
|
equals(CUTTER_ENABLE_JUPYTER, true) CONFIG += CUTTER_ENABLE_JUPYTER
|
|
}
|
|
|
|
!defined(CUTTER_ENABLE_QTWEBENGINE, var) CUTTER_ENABLE_QTWEBENGINE=false
|
|
equals(CUTTER_ENABLE_JUPYTER, true) {
|
|
equals(CUTTER_ENABLE_QTWEBENGINE, true) CONFIG += CUTTER_ENABLE_QTWEBENGINE
|
|
}
|
|
|
|
!defined(CUTTER_BUNDLE_R2_APPBUNDLE, var) CUTTER_BUNDLE_R2_APPBUNDLE=false
|
|
equals(CUTTER_BUNDLE_R2_APPBUNDLE, true) CONFIG += CUTTER_BUNDLE_R2_APPBUNDLE
|
|
|
|
!defined(CUTTER_APPVEYOR_R2DEC, var) CUTTER_APPVEYOR_R2DEC=false
|
|
equals(CUTTER_APPVEYOR_R2DEC, true) CONFIG += CUTTER_APPVEYOR_R2DEC
|
|
|
|
!defined(CUTTER_APPVEYOR_R2DEC, var) CUTTER_APPVEYOR_R2DEC=false
|
|
|
|
CUTTER_ENABLE_PYTHON {
|
|
message("Python enabled.")
|
|
DEFINES += CUTTER_ENABLE_PYTHON
|
|
} else {
|
|
message("Python disabled.")
|
|
}
|
|
|
|
CUTTER_ENABLE_PYTHON_BINDINGS {
|
|
message("Python Bindings enabled.")
|
|
DEFINES += CUTTER_ENABLE_PYTHON_BINDINGS
|
|
} else {
|
|
message("Python Bindings disabled. (requires CUTTER_ENABLE_PYTHON=true)")
|
|
}
|
|
|
|
CUTTER_ENABLE_JUPYTER {
|
|
message("Jupyter support enabled.")
|
|
DEFINES += CUTTER_ENABLE_JUPYTER
|
|
} else {
|
|
message("Jupyter support disabled. (requires CUTTER_ENABLE_PYTHON=true)")
|
|
}
|
|
|
|
CUTTER_ENABLE_QTWEBENGINE {
|
|
message("QtWebEngine support enabled.")
|
|
DEFINES += CUTTER_ENABLE_QTWEBENGINE
|
|
QT += webenginewidgets
|
|
} else {
|
|
message("QtWebEngine support disabled. (requires CUTTER_ENABLE_JUPYTER=true)")
|
|
}
|
|
|
|
INCLUDEPATH *= . core widgets dialogs common plugins
|
|
|
|
win32 {
|
|
# Generate debug symbols in release mode
|
|
QMAKE_CXXFLAGS_RELEASE += -Zi # Compiler
|
|
QMAKE_LFLAGS_RELEASE += /DEBUG # Linker
|
|
|
|
# Multithreaded compilation
|
|
QMAKE_CXXFLAGS += -MP
|
|
}
|
|
|
|
macx {
|
|
QMAKE_CXXFLAGS = -mmacosx-version-min=10.7 -std=gnu0x -stdlib=libc++
|
|
QMAKE_TARGET_BUNDLE_PREFIX = org.radare
|
|
QMAKE_BUNDLE = cutter
|
|
QMAKE_INFO_PLIST = macos/Info.plist
|
|
}
|
|
|
|
unix:exists(/usr/local/include/libr)|bsd:exists(/usr/local/include/libr) {
|
|
INCLUDEPATH += /usr/local/include/libr
|
|
}
|
|
unix {
|
|
QMAKE_LFLAGS += -rdynamic # Export dynamic symbols for plugins
|
|
}
|
|
|
|
# Libraries
|
|
include(lib_radare2.pri)
|
|
|
|
!win32 {
|
|
CONFIG += link_pkgconfig
|
|
}
|
|
|
|
CUTTER_ENABLE_PYTHON {
|
|
win32 {
|
|
PYTHON_EXECUTABLE = $$system("where python", lines)
|
|
PYTHON_EXECUTABLE = $$first(PYTHON_EXECUTABLE)
|
|
pythonpath = $$replace(PYTHON_EXECUTABLE, ".exe ", ".exe;")
|
|
pythonpath = $$section(pythonpath, ";", 0, 0)
|
|
pythonpath = $$clean_path($$dirname(pythonpath))
|
|
LIBS += -L$${pythonpath} -L$${pythonpath}/libs -lpython3
|
|
INCLUDEPATH += $${pythonpath}/include
|
|
}
|
|
|
|
unix|macx|bsd {
|
|
defined(PYTHON_FRAMEWORK_DIR, var) {
|
|
message("Using Python.framework at $$PYTHON_FRAMEWORK_DIR")
|
|
INCLUDEPATH += $$PYTHON_FRAMEWORK_DIR/Python.framework/Headers
|
|
LIBS += -F$$PYTHON_FRAMEWORK_DIR -framework Python
|
|
DEFINES += MACOS_PYTHON_FRAMEWORK_BUNDLED
|
|
} else {
|
|
!packagesExist(python3) {
|
|
error("ERROR: Python 3 could not be found. Make sure it is available to pkg-config.")
|
|
}
|
|
PKGCONFIG += python3
|
|
}
|
|
}
|
|
|
|
CUTTER_ENABLE_PYTHON_BINDINGS {
|
|
isEmpty(SHIBOKEN_EXECUTABLE):!packagesExist(shiboken2) {
|
|
error("ERROR: Shiboken2, which is required to build the Python Bindings, could not be found. Make sure it is available to pkg-config.")
|
|
}
|
|
isEmpty(PYSIDE_LIBRARY):!packagesExist(pyside2) {
|
|
error("ERROR: PySide2, which is required to build the Python Bindings, could not be found. Make sure it is available to pkg-config.")
|
|
}
|
|
win32 {
|
|
BINDINGS_SRC_LIST_CMD = "$${PYTHON_EXECUTABLE} bindings/src_list.py"
|
|
} else {
|
|
BINDINGS_SRC_LIST_CMD = "python3 bindings/src_list.py"
|
|
}
|
|
BINDINGS_SRC_DIR = "$${PWD}/bindings"
|
|
BINDINGS_BUILD_DIR = "$${OUT_PWD}/bindings"
|
|
BINDINGS_SOURCE = $$system("$${BINDINGS_SRC_LIST_CMD} qmake \"$${BINDINGS_BUILD_DIR}\"")
|
|
BINDINGS_INCLUDE_DIRS = "$$[QT_INSTALL_HEADERS]" \
|
|
"$$[QT_INSTALL_HEADERS]/QtCore" \
|
|
"$$[QT_INSTALL_HEADERS]/QtWidgets" \
|
|
"$$[QT_INSTALL_HEADERS]/QtGui" \
|
|
"$$R2_INCLUDEPATH"
|
|
for(path, INCLUDEPATH) {
|
|
BINDINGS_INCLUDE_DIRS += $$absolute_path("$$path")
|
|
}
|
|
|
|
win32 {
|
|
PATH_SEP = ";"
|
|
} else {
|
|
PATH_SEP = ":"
|
|
}
|
|
BINDINGS_INCLUDE_DIRS = $$join(BINDINGS_INCLUDE_DIRS, $$PATH_SEP)
|
|
|
|
isEmpty(SHIBOKEN_EXECUTABLE) {
|
|
SHIBOKEN_EXECUTABLE = $$system("pkg-config --variable=generator_location shiboken2")
|
|
}
|
|
|
|
isEmpty(PYSIDE_TYPESYSTEMS) {
|
|
PYSIDE_TYPESYSTEMS = $$system("pkg-config --variable=typesystemdir pyside2")
|
|
}
|
|
isEmpty(PYSIDE_INCLUDEDIR) {
|
|
PYSIDE_INCLUDEDIR = $$system("pkg-config --variable=includedir pyside2")
|
|
}
|
|
|
|
QMAKE_SUBSTITUTES += bindings/bindings.txt.in
|
|
|
|
SHIBOKEN_OPTIONS = --project-file="$${BINDINGS_BUILD_DIR}/bindings.txt"
|
|
win32:SHIBOKEN_OPTIONS += --avoid-protected-hack
|
|
bindings.target = bindings_target
|
|
bindings.commands = "$${SHIBOKEN_EXECUTABLE}" $${SHIBOKEN_OPTIONS}
|
|
QMAKE_EXTRA_TARGETS += bindings
|
|
PRE_TARGETDEPS += bindings_target
|
|
GENERATED_SOURCES += $${BINDINGS_SOURCE}
|
|
|
|
INCLUDEPATH += "$${BINDINGS_BUILD_DIR}/CutterBindings"
|
|
|
|
win32:DEFINES += WIN32_LEAN_AND_MEAN
|
|
|
|
!isEmpty(PYSIDE_LIBRARY) {
|
|
LIBS += "$$SHIBOKEN_LIBRARY" "$$PYSIDE_LIBRARY"
|
|
INCLUDEPATH += "$$SHIBOKEN_INCLUDEDIR"
|
|
} else:macx {
|
|
# Hack needed because with regular PKGCONFIG qmake will mess up everything
|
|
QMAKE_CXXFLAGS += $$system("pkg-config --cflags shiboken2 pyside2")
|
|
LIBS += $$system("pkg-config --libs shiboken2 pyside2")
|
|
} else {
|
|
PKGCONFIG += shiboken2 pyside2
|
|
}
|
|
INCLUDEPATH += "$$PYSIDE_INCLUDEDIR" "$$PYSIDE_INCLUDEDIR/QtCore" "$$PYSIDE_INCLUDEDIR/QtWidgets" "$$PYSIDE_INCLUDEDIR/QtGui"
|
|
}
|
|
}
|
|
|
|
|
|
macx:CUTTER_BUNDLE_R2_APPBUNDLE {
|
|
message("Using r2 rom AppBundle")
|
|
DEFINES += MACOS_R2_BUNDLED
|
|
}
|
|
|
|
CUTTER_APPVEYOR_R2DEC {
|
|
message("Appveyor r2dec")
|
|
DEFINES += CUTTER_APPVEYOR_R2DEC
|
|
}
|
|
|
|
QMAKE_SUBSTITUTES += CutterConfig.h.in
|
|
|
|
SOURCES += \
|
|
Main.cpp \
|
|
core/Cutter.cpp \
|
|
widgets/DisassemblerGraphView.cpp \
|
|
widgets/OverviewView.cpp \
|
|
common/RichTextPainter.cpp \
|
|
dialogs/InitialOptionsDialog.cpp \
|
|
dialogs/AboutDialog.cpp \
|
|
dialogs/CommentsDialog.cpp \
|
|
dialogs/EditInstructionDialog.cpp \
|
|
dialogs/FlagDialog.cpp \
|
|
dialogs/RenameDialog.cpp \
|
|
dialogs/XrefsDialog.cpp \
|
|
core/MainWindow.cpp \
|
|
common/Helpers.cpp \
|
|
common/HexAsciiHighlighter.cpp \
|
|
common/HexHighlighter.cpp \
|
|
common/Highlighter.cpp \
|
|
common/MdHighlighter.cpp \
|
|
dialogs/preferences/AsmOptionsWidget.cpp \
|
|
dialogs/NewFileDialog.cpp \
|
|
common/AnalTask.cpp \
|
|
widgets/CommentsWidget.cpp \
|
|
widgets/ConsoleWidget.cpp \
|
|
widgets/Dashboard.cpp \
|
|
widgets/EntrypointWidget.cpp \
|
|
widgets/ExportsWidget.cpp \
|
|
widgets/FlagsWidget.cpp \
|
|
widgets/FunctionsWidget.cpp \
|
|
widgets/ImportsWidget.cpp \
|
|
widgets/Omnibar.cpp \
|
|
widgets/RelocsWidget.cpp \
|
|
widgets/SectionsWidget.cpp \
|
|
widgets/SegmentsWidget.cpp \
|
|
widgets/StringsWidget.cpp \
|
|
widgets/SymbolsWidget.cpp \
|
|
menus/DisassemblyContextMenu.cpp \
|
|
widgets/DisassemblyWidget.cpp \
|
|
widgets/HexdumpWidget.cpp \
|
|
common/Configuration.cpp \
|
|
common/Colors.cpp \
|
|
dialogs/SaveProjectDialog.cpp \
|
|
common/TempConfig.cpp \
|
|
common/SvgIconEngine.cpp \
|
|
common/SyntaxHighlighter.cpp \
|
|
widgets/PseudocodeWidget.cpp \
|
|
widgets/VisualNavbar.cpp \
|
|
widgets/GraphView.cpp \
|
|
dialogs/preferences/PreferencesDialog.cpp \
|
|
dialogs/preferences/AppearanceOptionsWidget.cpp \
|
|
dialogs/preferences/GraphOptionsWidget.cpp \
|
|
dialogs/preferences/PreferenceCategory.cpp \
|
|
widgets/QuickFilterView.cpp \
|
|
widgets/ClassesWidget.cpp \
|
|
widgets/ResourcesWidget.cpp \
|
|
widgets/VTablesWidget.cpp \
|
|
widgets/TypesWidget.cpp \
|
|
widgets/HeadersWidget.cpp \
|
|
widgets/SearchWidget.cpp \
|
|
CutterApplication.cpp \
|
|
common/JupyterConnection.cpp \
|
|
widgets/JupyterWidget.cpp \
|
|
common/PythonAPI.cpp \
|
|
common/NestedIPyKernel.cpp \
|
|
dialogs/R2PluginsDialog.cpp \
|
|
widgets/CutterDockWidget.cpp \
|
|
widgets/CutterTreeWidget.cpp \
|
|
widgets/GraphWidget.cpp \
|
|
widgets/OverviewWidget.cpp \
|
|
common/JsonTreeItem.cpp \
|
|
common/JsonModel.cpp \
|
|
dialogs/VersionInfoDialog.cpp \
|
|
widgets/ZignaturesWidget.cpp \
|
|
common/AsyncTask.cpp \
|
|
dialogs/AsyncTaskDialog.cpp \
|
|
widgets/StackWidget.cpp \
|
|
widgets/RegistersWidget.cpp \
|
|
widgets/BacktraceWidget.cpp \
|
|
dialogs/OpenFileDialog.cpp \
|
|
common/CommandTask.cpp \
|
|
common/ProgressIndicator.cpp \
|
|
common/R2Task.cpp \
|
|
widgets/DebugActions.cpp \
|
|
widgets/MemoryMapWidget.cpp \
|
|
dialogs/preferences/DebugOptionsWidget.cpp \
|
|
dialogs/preferences/PluginsOptionsWidget.cpp \
|
|
widgets/BreakpointWidget.cpp \
|
|
dialogs/BreakpointsDialog.cpp \
|
|
dialogs/AttachProcDialog.cpp \
|
|
widgets/RegisterRefsWidget.cpp \
|
|
dialogs/SetToDataDialog.cpp \
|
|
dialogs/EditVariablesDialog.cpp \
|
|
widgets/ColorSchemePrefWidget.cpp \
|
|
common/ColorSchemeFileSaver.cpp \
|
|
dialogs/EditFunctionDialog.cpp \
|
|
widgets/CutterTreeView.cpp \
|
|
widgets/ComboQuickFilterView.cpp \
|
|
dialogs/HexdumpRangeDialog.cpp \
|
|
common/QtResImporter.cpp \
|
|
common/CutterSeekable.cpp \
|
|
common/RefreshDeferrer.cpp \
|
|
dialogs/WelcomeDialog.cpp \
|
|
common/RunScriptTask.cpp \
|
|
dialogs/EditMethodDialog.cpp \
|
|
dialogs/LoadNewTypesDialog.cpp \
|
|
widgets/SdbWidget.cpp \
|
|
common/PythonManager.cpp \
|
|
plugins/PluginManager.cpp \
|
|
common/BasicBlockHighlighter.cpp \
|
|
dialogs/LinkTypeDialog.cpp \
|
|
common/UpdateWorker.cpp
|
|
|
|
HEADERS += \
|
|
core/Cutter.h \
|
|
core/CutterCommon.h \
|
|
core/CutterDescriptions.h \
|
|
widgets/DisassemblerGraphView.h \
|
|
widgets/OverviewView.h \
|
|
common/RichTextPainter.h \
|
|
common/CachedFontMetrics.h \
|
|
dialogs/AboutDialog.h \
|
|
dialogs/preferences/AsmOptionsWidget.h \
|
|
dialogs/CommentsDialog.h \
|
|
dialogs/EditInstructionDialog.h \
|
|
dialogs/FlagDialog.h \
|
|
dialogs/RenameDialog.h \
|
|
dialogs/XrefsDialog.h \
|
|
common/Helpers.h \
|
|
common/HexAsciiHighlighter.h \
|
|
common/HexHighlighter.h \
|
|
core/MainWindow.h \
|
|
common/Highlighter.h \
|
|
common/MdHighlighter.h \
|
|
dialogs/InitialOptionsDialog.h \
|
|
dialogs/NewFileDialog.h \
|
|
common/AnalTask.h \
|
|
widgets/CommentsWidget.h \
|
|
widgets/ConsoleWidget.h \
|
|
widgets/Dashboard.h \
|
|
widgets/EntrypointWidget.h \
|
|
widgets/ExportsWidget.h \
|
|
widgets/FlagsWidget.h \
|
|
widgets/FunctionsWidget.h \
|
|
widgets/ImportsWidget.h \
|
|
widgets/Omnibar.h \
|
|
widgets/RelocsWidget.h \
|
|
widgets/SectionsWidget.h \
|
|
widgets/SegmentsWidget.h \
|
|
widgets/StringsWidget.h \
|
|
widgets/SymbolsWidget.h \
|
|
menus/DisassemblyContextMenu.h \
|
|
widgets/DisassemblyWidget.h \
|
|
widgets/HexdumpWidget.h \
|
|
common/Configuration.h \
|
|
common/Colors.h \
|
|
dialogs/SaveProjectDialog.h \
|
|
common/TempConfig.h \
|
|
common/SvgIconEngine.h \
|
|
common/SyntaxHighlighter.h \
|
|
widgets/PseudocodeWidget.h \
|
|
widgets/VisualNavbar.h \
|
|
widgets/GraphView.h \
|
|
dialogs/preferences/PreferencesDialog.h \
|
|
dialogs/preferences/AppearanceOptionsWidget.h \
|
|
dialogs/preferences/PreferenceCategory.h \
|
|
dialogs/preferences/GraphOptionsWidget.h \
|
|
widgets/QuickFilterView.h \
|
|
widgets/ClassesWidget.h \
|
|
widgets/ResourcesWidget.h \
|
|
CutterApplication.h \
|
|
widgets/VTablesWidget.h \
|
|
widgets/TypesWidget.h \
|
|
widgets/HeadersWidget.h \
|
|
widgets/SearchWidget.h \
|
|
common/JupyterConnection.h \
|
|
widgets/JupyterWidget.h \
|
|
common/PythonAPI.h \
|
|
common/NestedIPyKernel.h \
|
|
dialogs/R2PluginsDialog.h \
|
|
widgets/CutterDockWidget.h \
|
|
widgets/CutterTreeWidget.h \
|
|
widgets/GraphWidget.h \
|
|
widgets/OverviewWidget.h \
|
|
common/JsonTreeItem.h \
|
|
common/JsonModel.h \
|
|
dialogs/VersionInfoDialog.h \
|
|
widgets/ZignaturesWidget.h \
|
|
common/AsyncTask.h \
|
|
dialogs/AsyncTaskDialog.h \
|
|
widgets/StackWidget.h \
|
|
widgets/RegistersWidget.h \
|
|
widgets/BacktraceWidget.h \
|
|
dialogs/OpenFileDialog.h \
|
|
common/StringsTask.h \
|
|
common/FunctionsTask.h \
|
|
common/CommandTask.h \
|
|
common/ProgressIndicator.h \
|
|
plugins/CutterPlugin.h \
|
|
common/R2Task.h \
|
|
widgets/DebugActions.h \
|
|
widgets/MemoryMapWidget.h \
|
|
dialogs/preferences/DebugOptionsWidget.h \
|
|
dialogs/preferences/PluginsOptionsWidget.h \
|
|
widgets/BreakpointWidget.h \
|
|
dialogs/BreakpointsDialog.h \
|
|
dialogs/AttachProcDialog.h \
|
|
widgets/RegisterRefsWidget.h \
|
|
dialogs/SetToDataDialog.h \
|
|
common/InitialOptions.h \
|
|
dialogs/EditVariablesDialog.h \
|
|
common/ColorSchemeFileSaver.h \
|
|
widgets/ColorSchemePrefWidget.h \
|
|
dialogs/EditFunctionDialog.h \
|
|
widgets/CutterTreeView.h \
|
|
widgets/ComboQuickFilterView.h \
|
|
dialogs/HexdumpRangeDialog.h \
|
|
common/QtResImporter.h \
|
|
common/CutterSeekable.h \
|
|
common/RefreshDeferrer.h \
|
|
dialogs/WelcomeDialog.h \
|
|
common/RunScriptTask.h \
|
|
common/Json.h \
|
|
dialogs/EditMethodDialog.h \
|
|
dialogs/LoadNewTypesDialog.h \
|
|
widgets/SdbWidget.h \
|
|
common/PythonManager.h \
|
|
plugins/PluginManager.h \
|
|
common/BasicBlockHighlighter.h \
|
|
common/UpdateWorker.h \
|
|
dialogs/LinkTypeDialog.h
|
|
|
|
FORMS += \
|
|
dialogs/AboutDialog.ui \
|
|
dialogs/preferences/AsmOptionsWidget.ui \
|
|
dialogs/CommentsDialog.ui \
|
|
dialogs/EditInstructionDialog.ui \
|
|
dialogs/FlagDialog.ui \
|
|
dialogs/RenameDialog.ui \
|
|
dialogs/XrefsDialog.ui \
|
|
dialogs/NewfileDialog.ui \
|
|
dialogs/InitialOptionsDialog.ui \
|
|
dialogs/EditFunctionDialog.ui \
|
|
core/MainWindow.ui \
|
|
widgets/CommentsWidget.ui \
|
|
widgets/ConsoleWidget.ui \
|
|
widgets/Dashboard.ui \
|
|
widgets/EntrypointWidget.ui \
|
|
widgets/FlagsWidget.ui \
|
|
widgets/ExportsWidget.ui \
|
|
widgets/FunctionsWidget.ui \
|
|
widgets/ImportsWidget.ui \
|
|
widgets/RelocsWidget.ui \
|
|
widgets/StringsWidget.ui \
|
|
widgets/SymbolsWidget.ui \
|
|
widgets/HexdumpWidget.ui \
|
|
dialogs/SaveProjectDialog.ui \
|
|
dialogs/preferences/PreferencesDialog.ui \
|
|
dialogs/preferences/AppearanceOptionsWidget.ui \
|
|
dialogs/preferences/GraphOptionsWidget.ui \
|
|
widgets/QuickFilterView.ui \
|
|
widgets/PseudocodeWidget.ui \
|
|
widgets/ClassesWidget.ui \
|
|
widgets/VTablesWidget.ui \
|
|
widgets/TypesWidget.ui \
|
|
widgets/HeadersWidget.ui \
|
|
widgets/SearchWidget.ui \
|
|
widgets/JupyterWidget.ui \
|
|
dialogs/R2PluginsDialog.ui \
|
|
dialogs/VersionInfoDialog.ui \
|
|
widgets/ZignaturesWidget.ui \
|
|
dialogs/AsyncTaskDialog.ui \
|
|
widgets/StackWidget.ui \
|
|
widgets/RegistersWidget.ui \
|
|
widgets/BacktraceWidget.ui \
|
|
dialogs/OpenFileDialog.ui \
|
|
widgets/MemoryMapWidget.ui \
|
|
dialogs/preferences/DebugOptionsWidget.ui \
|
|
widgets/BreakpointWidget.ui \
|
|
dialogs/BreakpointsDialog.ui \
|
|
dialogs/AttachProcDialog.ui \
|
|
widgets/RegisterRefsWidget.ui \
|
|
dialogs/SetToDataDialog.ui \
|
|
dialogs/EditVariablesDialog.ui \
|
|
widgets/ColorSchemePrefWidget.ui \
|
|
widgets/CutterTreeView.ui \
|
|
widgets/ComboQuickFilterView.ui \
|
|
dialogs/HexdumpRangeDialog.ui \
|
|
dialogs/WelcomeDialog.ui \
|
|
dialogs/EditMethodDialog.ui \
|
|
dialogs/LoadNewTypesDialog.ui \
|
|
widgets/SdbWidget.ui \
|
|
dialogs/LinkTypeDialog.ui
|
|
|
|
RESOURCES += \
|
|
resources.qrc \
|
|
themes/qdarkstyle/style.qrc
|
|
|
|
|
|
DISTFILES += Cutter.astylerc
|
|
|
|
# 'make install' for AppImage
|
|
unix {
|
|
isEmpty(PREFIX) {
|
|
PREFIX = /usr/local
|
|
}
|
|
|
|
icon_file = img/cutter.svg
|
|
|
|
share_pixmaps.path = $$PREFIX/share/pixmaps
|
|
share_pixmaps.files = $$icon_file
|
|
|
|
|
|
desktop_file = org.radare.Cutter.desktop
|
|
|
|
share_applications.path = $$PREFIX/share/applications
|
|
share_applications.files = $$desktop_file
|
|
|
|
appstream_file = org.radare.Cutter.appdata.xml
|
|
|
|
# Used by ???
|
|
share_appdata.path = $$PREFIX/share/appdata
|
|
share_appdata.files = $$appstream_file
|
|
|
|
# Used by AppImageHub (See https://www.freedesktop.org/software/appstream)
|
|
share_appdata.path = $$PREFIX/share/metainfo
|
|
share_appdata.files = $$appstream_file
|
|
|
|
# built-in no need for files atm
|
|
target.path = $$PREFIX/bin
|
|
|
|
INSTALLS += target share_appdata share_applications share_pixmaps
|
|
|
|
# Triggered for example by 'qmake APPIMAGE=1'
|
|
!isEmpty(APPIMAGE){
|
|
appimage_root.path = /
|
|
appimage_root.files = $$icon_file $$desktop_file
|
|
|
|
INSTALLS += appimage_root
|
|
DEFINES += APPIMAGE
|
|
}
|
|
}
|