2017-03-29 10:18:37 +00:00
|
|
|
TEMPLATE = app
|
|
|
|
|
2018-02-01 15:07:51 +00:00
|
|
|
TARGET = Cutter
|
2017-04-06 08:29:36 +00:00
|
|
|
|
2017-03-29 10:18:37 +00:00
|
|
|
# The application version
|
2018-01-30 21:49:43 +00:00
|
|
|
VERSION = 1.2
|
2017-03-29 10:18:37 +00:00
|
|
|
|
2017-11-05 14:19:47 +00:00
|
|
|
ICON = img/cutter.icns
|
2017-03-29 10:18:37 +00:00
|
|
|
|
2018-03-02 20:00:16 +00:00
|
|
|
QT += core gui widgets svg
|
2017-03-29 10:18:37 +00:00
|
|
|
QT_CONFIG -= no-pkg-config
|
2017-10-08 06:23:22 +00:00
|
|
|
CONFIG += c++11
|
2017-03-29 10:18:37 +00:00
|
|
|
|
2018-03-02 20:00:16 +00:00
|
|
|
# You can spawn qmake with qmake "CONFIG+=CUTTER_ENABLE_JUPYTER" to set a variable
|
|
|
|
# Or manually edit this file
|
|
|
|
#CONFIG += CUTTER_ENABLE_JUPYTER
|
|
|
|
#CONFIG += CUTTER_ENABLE_QTWEBENGINE
|
|
|
|
|
2017-04-06 08:29:36 +00:00
|
|
|
# Define the preprocessor macro to get the application version in our application.
|
|
|
|
DEFINES += APP_VERSION=\\\"$$VERSION\\\"
|
2018-03-05 20:39:36 +00:00
|
|
|
CUTTER_ENABLE_JUPYTER {
|
2018-03-02 20:00:16 +00:00
|
|
|
message("Jupyter support enabled.")
|
|
|
|
DEFINES += CUTTER_ENABLE_JUPYTER
|
2018-03-06 16:50:09 +00:00
|
|
|
} else {
|
|
|
|
message("Jupyter support disabled.")
|
2018-03-02 20:00:16 +00:00
|
|
|
}
|
2017-03-29 10:18:37 +00:00
|
|
|
|
2018-03-02 20:00:16 +00:00
|
|
|
CUTTER_ENABLE_QTWEBENGINE {
|
|
|
|
message("QtWebEngine support enabled.")
|
|
|
|
DEFINES += CUTTER_ENABLE_QTWEBENGINE
|
|
|
|
QT += webenginewidgets
|
2018-03-06 16:50:09 +00:00
|
|
|
} else {
|
|
|
|
message("QtWebEngine support disabled.")
|
2018-03-02 20:00:16 +00:00
|
|
|
}
|
2018-03-02 13:15:53 +00:00
|
|
|
|
2017-10-08 06:23:22 +00:00
|
|
|
INCLUDEPATH *= .
|
|
|
|
|
|
|
|
win32 {
|
|
|
|
# Generate debug symbols in release mode
|
|
|
|
QMAKE_CXXFLAGS_RELEASE += -Zi # Compiler
|
|
|
|
QMAKE_LFLAGS_RELEASE += /DEBUG # Linker
|
|
|
|
}
|
|
|
|
|
2017-04-06 08:29:36 +00:00
|
|
|
macx {
|
|
|
|
QMAKE_CXXFLAGS = -mmacosx-version-min=10.7 -std=gnu0x -stdlib=libc++
|
2018-02-10 18:04:31 +00:00
|
|
|
QMAKE_INFO_PLIST = apple/Info.plist
|
2017-04-06 08:29:36 +00:00
|
|
|
}
|
2017-03-29 10:18:37 +00:00
|
|
|
|
2017-08-31 17:51:45 +00:00
|
|
|
unix:exists(/usr/local/include/libr) {
|
|
|
|
INCLUDEPATH += /usr/local/include/libr
|
|
|
|
}
|
|
|
|
|
2018-02-11 17:59:23 +00:00
|
|
|
# Libraries
|
|
|
|
include(lib_radare2.pri)
|
2018-03-02 20:42:27 +00:00
|
|
|
win32:CUTTER_ENABLE_JUPYTER {
|
2018-02-25 19:17:03 +00:00
|
|
|
pythonpath = $$quote($$system("where python"))
|
|
|
|
pythonpath = $$replace(pythonpath, ".exe ", ".exe;")
|
|
|
|
pythonpath = $$section(pythonpath, ";", 0, 0)
|
|
|
|
pythonpath = $$clean_path($$dirname(pythonpath))
|
|
|
|
LIBS += -L$${pythonpath} -L$${pythonpath}/libs -lpython3
|
|
|
|
INCLUDEPATH += $${pythonpath}/include
|
|
|
|
}
|
|
|
|
|
2018-03-02 20:42:27 +00:00
|
|
|
unix:CUTTER_ENABLE_JUPYTER|macx:CUTTER_ENABLE_JUPYTER {
|
2018-03-05 20:39:36 +00:00
|
|
|
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 {
|
|
|
|
CONFIG += link_pkgconfig
|
|
|
|
!packagesExist(python3) {
|
|
|
|
error("ERROR: Python 3 could not be found. Make sure it is available to pkg-config.")
|
|
|
|
}
|
|
|
|
PKGCONFIG += python3
|
2018-02-25 19:17:03 +00:00
|
|
|
}
|
|
|
|
}
|
2018-02-11 17:59:23 +00:00
|
|
|
|
2017-04-06 08:29:36 +00:00
|
|
|
SOURCES += \
|
2018-03-04 17:42:02 +00:00
|
|
|
Main.cpp \
|
|
|
|
Cutter.cpp \
|
2017-09-28 21:53:59 +00:00
|
|
|
widgets/DisassemblerGraphView.cpp \
|
2017-10-01 14:36:40 +00:00
|
|
|
utils/RichTextPainter.cpp \
|
2017-10-01 19:09:42 +00:00
|
|
|
dialogs/OptionsDialog.cpp \
|
|
|
|
dialogs/AboutDialog.cpp \
|
|
|
|
dialogs/CommentsDialog.cpp \
|
2018-02-12 20:12:13 +00:00
|
|
|
dialogs/EditInstructionDialog.cpp \
|
2017-10-01 19:09:42 +00:00
|
|
|
dialogs/FlagDialog.cpp \
|
|
|
|
dialogs/RenameDialog.cpp \
|
|
|
|
dialogs/XrefsDialog.cpp \
|
|
|
|
MainWindow.cpp \
|
|
|
|
utils/Helpers.cpp \
|
|
|
|
utils/HexAsciiHighlighter.cpp \
|
|
|
|
utils/HexHighlighter.cpp \
|
|
|
|
utils/Highlighter.cpp \
|
2017-10-02 09:41:28 +00:00
|
|
|
utils/MdHighlighter.cpp \
|
2017-12-14 13:42:24 +00:00
|
|
|
dialogs/preferences/AsmOptionsWidget.cpp \
|
2017-10-02 16:18:40 +00:00
|
|
|
dialogs/NewFileDialog.cpp \
|
|
|
|
AnalThread.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/PieView.cpp \
|
|
|
|
widgets/RelocsWidget.cpp \
|
|
|
|
widgets/SdbDock.cpp \
|
|
|
|
widgets/SectionsDock.cpp \
|
|
|
|
widgets/SectionsWidget.cpp \
|
|
|
|
widgets/Sidebar.cpp \
|
|
|
|
widgets/StringsWidget.cpp \
|
2017-10-10 10:17:05 +00:00
|
|
|
widgets/SymbolsWidget.cpp \
|
2017-10-11 21:07:32 +00:00
|
|
|
menus/DisassemblyContextMenu.cpp \
|
2017-10-12 19:55:15 +00:00
|
|
|
widgets/DisassemblyWidget.cpp \
|
|
|
|
widgets/SidebarWidget.cpp \
|
2017-10-14 09:35:49 +00:00
|
|
|
widgets/HexdumpWidget.cpp \
|
2017-10-15 07:14:05 +00:00
|
|
|
utils/Configuration.cpp \
|
2017-10-21 19:20:10 +00:00
|
|
|
utils/Colors.cpp \
|
2017-11-20 20:11:56 +00:00
|
|
|
dialogs/SaveProjectDialog.cpp \
|
2017-12-03 16:26:01 +00:00
|
|
|
utils/TempConfig.cpp \
|
2017-12-06 23:19:14 +00:00
|
|
|
utils/SvgIconEngine.cpp \
|
2017-12-15 10:52:47 +00:00
|
|
|
utils/SyntaxHighlighter.cpp \
|
2017-12-08 15:00:52 +00:00
|
|
|
widgets/PseudocodeWidget.cpp \
|
2017-12-13 22:38:46 +00:00
|
|
|
widgets/VisualNavbar.cpp \
|
2017-12-14 13:42:24 +00:00
|
|
|
widgets/GraphView.cpp \
|
2017-12-14 15:14:33 +00:00
|
|
|
dialogs/preferences/PreferencesDialog.cpp \
|
2017-12-19 16:13:44 +00:00
|
|
|
dialogs/preferences/GeneralOptionsWidget.cpp \
|
2017-12-19 18:38:06 +00:00
|
|
|
dialogs/preferences/GraphOptionsWidget.cpp \
|
2017-12-23 16:42:42 +00:00
|
|
|
widgets/QuickFilterView.cpp \
|
2018-02-04 14:32:18 +00:00
|
|
|
widgets/ClassesWidget.cpp \
|
2018-02-10 18:04:31 +00:00
|
|
|
widgets/ResourcesWidget.cpp \
|
2018-02-26 22:26:18 +00:00
|
|
|
widgets/VTablesWidget.cpp \
|
2018-03-06 17:21:48 +00:00
|
|
|
widgets/TypesWidget.cpp \
|
2018-03-08 12:24:15 +00:00
|
|
|
widgets/SearchWidget.cpp \
|
2017-12-13 17:36:00 +00:00
|
|
|
CutterApplication.cpp \
|
|
|
|
utils/JupyterConnection.cpp \
|
2018-02-11 17:59:23 +00:00
|
|
|
widgets/JupyterWidget.cpp \
|
2018-02-22 21:08:06 +00:00
|
|
|
utils/PythonAPI.cpp \
|
2018-03-09 15:05:40 +00:00
|
|
|
utils/NestedIPyKernel.cpp \
|
|
|
|
dialogs/R2PluginsDialog.cpp
|
2017-03-29 10:18:37 +00:00
|
|
|
|
2017-04-06 08:29:36 +00:00
|
|
|
HEADERS += \
|
2018-03-04 17:42:02 +00:00
|
|
|
Cutter.h \
|
2017-09-28 21:53:59 +00:00
|
|
|
widgets/DisassemblerGraphView.h \
|
|
|
|
utils/RichTextPainter.h \
|
2017-10-01 14:36:40 +00:00
|
|
|
utils/CachedFontMetrics.h \
|
2017-10-01 19:09:42 +00:00
|
|
|
dialogs/AboutDialog.h \
|
2017-12-14 13:42:24 +00:00
|
|
|
dialogs/preferences/AsmOptionsWidget.h \
|
2017-10-01 19:09:42 +00:00
|
|
|
dialogs/CommentsDialog.h \
|
2018-02-12 20:12:13 +00:00
|
|
|
dialogs/EditInstructionDialog.h \
|
2017-10-01 19:09:42 +00:00
|
|
|
dialogs/FlagDialog.h \
|
|
|
|
dialogs/RenameDialog.h \
|
|
|
|
dialogs/XrefsDialog.h \
|
|
|
|
utils/Helpers.h \
|
|
|
|
utils/HexAsciiHighlighter.h \
|
|
|
|
utils/HexHighlighter.h \
|
|
|
|
MainWindow.h \
|
|
|
|
utils/Highlighter.h \
|
|
|
|
utils/MdHighlighter.h \
|
2017-10-02 09:41:28 +00:00
|
|
|
dialogs/OptionsDialog.h \
|
2017-10-02 16:18:40 +00:00
|
|
|
dialogs/NewFileDialog.h \
|
|
|
|
AnalThread.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/PieView.h \
|
|
|
|
widgets/RelocsWidget.h \
|
|
|
|
widgets/SdbDock.h \
|
|
|
|
widgets/SectionsDock.h \
|
|
|
|
widgets/SectionsWidget.h \
|
|
|
|
widgets/Sidebar.h \
|
|
|
|
widgets/StringsWidget.h \
|
2017-10-10 10:17:05 +00:00
|
|
|
widgets/SymbolsWidget.h \
|
2017-10-11 21:07:32 +00:00
|
|
|
menus/DisassemblyContextMenu.h \
|
2017-10-12 19:55:15 +00:00
|
|
|
widgets/DisassemblyWidget.h \
|
|
|
|
widgets/SidebarWidget.h \
|
2017-10-14 09:35:49 +00:00
|
|
|
widgets/HexdumpWidget.h \
|
2017-10-15 07:14:05 +00:00
|
|
|
utils/Configuration.h \
|
2017-10-21 19:20:10 +00:00
|
|
|
utils/Colors.h \
|
2017-11-20 20:11:56 +00:00
|
|
|
dialogs/SaveProjectDialog.h \
|
2017-12-03 16:26:01 +00:00
|
|
|
utils/TempConfig.h \
|
2017-12-06 23:19:14 +00:00
|
|
|
utils/SvgIconEngine.h \
|
2017-12-15 10:52:47 +00:00
|
|
|
utils/SyntaxHighlighter.h \
|
2017-12-08 15:00:52 +00:00
|
|
|
widgets/PseudocodeWidget.h \
|
2017-12-13 22:38:46 +00:00
|
|
|
widgets/VisualNavbar.h \
|
2017-12-14 13:42:24 +00:00
|
|
|
widgets/GraphView.h \
|
2017-12-14 15:14:33 +00:00
|
|
|
dialogs/preferences/PreferencesDialog.h \
|
2017-12-19 16:13:44 +00:00
|
|
|
dialogs/preferences/GeneralOptionsWidget.h \
|
2017-12-19 18:38:06 +00:00
|
|
|
dialogs/preferences/GraphOptionsWidget.h \
|
2017-12-23 16:42:42 +00:00
|
|
|
widgets/QuickFilterView.h \
|
2018-02-04 14:32:18 +00:00
|
|
|
widgets/ClassesWidget.h \
|
2018-02-10 18:04:31 +00:00
|
|
|
widgets/ResourcesWidget.h \
|
2018-02-26 22:26:18 +00:00
|
|
|
CutterApplication.h \
|
2017-12-13 17:36:00 +00:00
|
|
|
widgets/VTablesWidget.h \
|
2018-03-06 17:21:48 +00:00
|
|
|
widgets/TypesWidget.h \
|
2018-03-08 12:24:15 +00:00
|
|
|
widgets/SearchWidget.h \
|
2017-12-13 17:36:00 +00:00
|
|
|
utils/JupyterConnection.h \
|
2018-02-11 17:59:23 +00:00
|
|
|
widgets/JupyterWidget.h \
|
2018-02-22 21:08:06 +00:00
|
|
|
utils/PythonAPI.h \
|
2018-03-09 15:05:40 +00:00
|
|
|
utils/NestedIPyKernel.h \
|
|
|
|
dialogs/R2PluginsDialog.h
|
2017-10-01 14:36:40 +00:00
|
|
|
|
2017-04-06 08:29:36 +00:00
|
|
|
FORMS += \
|
2017-10-01 19:09:42 +00:00
|
|
|
dialogs/AboutDialog.ui \
|
2017-12-14 13:42:24 +00:00
|
|
|
dialogs/preferences/AsmOptionsWidget.ui \
|
2017-10-01 19:09:42 +00:00
|
|
|
dialogs/CommentsDialog.ui \
|
2018-02-12 20:12:13 +00:00
|
|
|
dialogs/EditInstructionDialog.ui \
|
2017-10-01 19:09:42 +00:00
|
|
|
dialogs/FlagDialog.ui \
|
|
|
|
dialogs/RenameDialog.ui \
|
|
|
|
dialogs/XrefsDialog.ui \
|
|
|
|
dialogs/NewfileDialog.ui \
|
|
|
|
dialogs/OptionsDialog.ui \
|
2017-10-02 09:41:28 +00:00
|
|
|
MainWindow.ui \
|
2017-10-02 16:18:40 +00:00
|
|
|
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/SdbDock.ui \
|
|
|
|
widgets/RelocsWidget.ui \
|
|
|
|
widgets/SectionsDock.ui \
|
|
|
|
widgets/Sidebar.ui \
|
|
|
|
widgets/StringsWidget.ui \
|
2017-10-12 19:55:15 +00:00
|
|
|
widgets/SymbolsWidget.ui \
|
|
|
|
widgets/SidebarWidget.ui \
|
2017-10-21 19:20:10 +00:00
|
|
|
widgets/HexdumpWidget.ui \
|
2017-12-06 23:19:14 +00:00
|
|
|
dialogs/SaveProjectDialog.ui \
|
2017-12-14 15:14:33 +00:00
|
|
|
dialogs/preferences/PreferencesDialog.ui \
|
2017-12-19 16:13:44 +00:00
|
|
|
dialogs/preferences/GeneralOptionsWidget.ui \
|
2017-12-19 18:38:06 +00:00
|
|
|
dialogs/preferences/GraphOptionsWidget.ui \
|
2017-12-21 15:00:18 +00:00
|
|
|
widgets/QuickFilterView.ui \
|
2017-12-23 16:42:42 +00:00
|
|
|
widgets/PseudocodeWidget.ui \
|
2018-02-26 22:26:18 +00:00
|
|
|
widgets/ClassesWidget.ui \
|
2017-12-13 17:36:00 +00:00
|
|
|
widgets/VTablesWidget.ui \
|
2018-03-06 17:21:48 +00:00
|
|
|
widgets/TypesWidget.ui \
|
2018-03-08 12:24:15 +00:00
|
|
|
widgets/SearchWidget.ui \
|
2018-03-09 15:05:40 +00:00
|
|
|
widgets/JupyterWidget.ui \
|
|
|
|
dialogs/R2PluginsDialog.ui
|
2017-03-29 10:18:37 +00:00
|
|
|
|
|
|
|
RESOURCES += \
|
2018-01-09 11:03:07 +00:00
|
|
|
resources.qrc \
|
|
|
|
themes/qdarkstyle/style.qrc
|
|
|
|
|
2017-03-29 10:18:37 +00:00
|
|
|
|
2018-03-04 17:42:02 +00:00
|
|
|
DISTFILES += Cutter.astylerc
|
2017-04-13 16:56:12 +00:00
|
|
|
|
2017-04-06 08:29:36 +00:00
|
|
|
# 'make install' for AppImage
|
|
|
|
unix {
|
|
|
|
isEmpty(PREFIX) {
|
|
|
|
PREFIX = /usr/local
|
2017-03-30 03:07:34 +00:00
|
|
|
}
|
|
|
|
|
2017-12-06 15:52:59 +00:00
|
|
|
icon_file = img/cutter.svg
|
2017-09-02 20:48:41 +00:00
|
|
|
|
|
|
|
share_pixmaps.path = $$PREFIX/share/pixmaps
|
|
|
|
share_pixmaps.files = $$icon_file
|
|
|
|
|
|
|
|
|
2018-03-04 17:42:02 +00:00
|
|
|
desktop_file = Cutter.desktop
|
2017-04-06 08:29:36 +00:00
|
|
|
|
|
|
|
# built-in no need for files atm
|
|
|
|
target.path = $$PREFIX/bin
|
|
|
|
|
|
|
|
share_applications.path = $$PREFIX/share/applications
|
|
|
|
share_applications.files = $$desktop_file
|
|
|
|
|
2017-09-02 20:48:41 +00:00
|
|
|
INSTALLS += target share_applications share_pixmaps
|
2017-04-06 08:29:36 +00:00
|
|
|
|
2017-05-22 21:43:13 +00:00
|
|
|
# Triggered for example by 'qmake APPIMAGE=1'
|
|
|
|
!isEmpty(APPIMAGE){
|
2017-04-06 08:29:36 +00:00
|
|
|
appimage_root.path = /
|
2017-12-06 15:52:59 +00:00
|
|
|
appimage_root.files = $$icon_file $$desktop_file
|
2017-04-06 08:29:36 +00:00
|
|
|
|
|
|
|
INSTALLS += appimage_root
|
2017-12-09 22:01:30 +00:00
|
|
|
DEFINES += APPIMAGE
|
2017-04-06 08:29:36 +00:00
|
|
|
}
|
|
|
|
}
|