519 lines
16 KiB
Prolog
519 lines
16 KiB
Prolog
QT += core gui printsupport network svg
|
|
|
|
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
|
|
|
CONFIG += c++17
|
|
CONFIG += nokey
|
|
|
|
isEmpty(APP_NAME) {
|
|
APP_NAME = RedPandaCPP
|
|
}
|
|
|
|
isEmpty(APP_VERSION) {
|
|
APP_VERSION=1.1.2
|
|
}
|
|
|
|
macos: {
|
|
# This package needs to be installed via homebrew before we can compile it
|
|
INCLUDEPATH += \
|
|
/opt/homebrew/opt/icu4c/include
|
|
|
|
QT += gui-private
|
|
|
|
ICON = ../macos/RedPandaIDE.icns
|
|
}
|
|
|
|
win32: VERSION = $${APP_VERSION}.0
|
|
else: VERSION = $${APP_VERSION}
|
|
|
|
isEmpty(PREFIX) {
|
|
PREFIX = /usr/local
|
|
}
|
|
|
|
DEFINES += PREFIX=\\\"$${PREFIX}\\\"
|
|
DEFINES += APP_NAME=\\\"$${APP_NAME}\\\"
|
|
DEFINES += REDPANDA_CPP_VERSION=\\\"$${APP_VERSION}\\\"
|
|
|
|
gcc {
|
|
QMAKE_CXXFLAGS_RELEASE += -Werror=return-type
|
|
QMAKE_CXXFLAGS_DEBUG += -Werror=return-type
|
|
}
|
|
|
|
msvc {
|
|
DEFINES += NOMINMAX
|
|
}
|
|
|
|
# You can make your code fail to compile if it uses deprecated APIs.
|
|
# In order to do so, uncomment the following line.
|
|
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
|
|
|
SOURCES += \
|
|
HighlighterManager.cpp \
|
|
autolinkmanager.cpp \
|
|
caretlist.cpp \
|
|
codeformatter.cpp \
|
|
codesnippetsmanager.cpp \
|
|
colorscheme.cpp \
|
|
compiler/compilerinfo.cpp \
|
|
compiler/ojproblemcasesrunner.cpp \
|
|
compiler/projectcompiler.cpp \
|
|
compiler/runner.cpp \
|
|
customfileiconprovider.cpp \
|
|
gdbmiresultparser.cpp \
|
|
platform.cpp \
|
|
compiler/compiler.cpp \
|
|
compiler/compilermanager.cpp \
|
|
compiler/executablerunner.cpp \
|
|
compiler/filecompiler.cpp \
|
|
compiler/stdincompiler.cpp \
|
|
cpprefacter.cpp \
|
|
parser/cppparser.cpp \
|
|
parser/cpppreprocessor.cpp \
|
|
parser/cpptokenizer.cpp \
|
|
parser/parserutils.cpp \
|
|
parser/statementmodel.cpp \
|
|
problems/ojproblemset.cpp \
|
|
problems/problemcasevalidator.cpp \
|
|
project.cpp \
|
|
projectoptions.cpp \
|
|
projecttemplate.cpp \
|
|
qsynedit/Search.cpp \
|
|
qsynedit/SearchBase.cpp \
|
|
qsynedit/SearchRegex.cpp \
|
|
qsynedit/Types.cpp \
|
|
settingsdialog/compilerautolinkwidget.cpp \
|
|
settingsdialog/debuggeneralwidget.cpp \
|
|
settingsdialog/editorautosavewidget.cpp \
|
|
settingsdialog/editorcodecompletionwidget.cpp \
|
|
settingsdialog/editormiscwidget.cpp \
|
|
settingsdialog/editorsnippetwidget.cpp \
|
|
settingsdialog/editortooltipswidget.cpp \
|
|
settingsdialog/environmentfolderswidget.cpp \
|
|
settingsdialog/environmentperformancewidget.cpp \
|
|
settingsdialog/environmentshortcutwidget.cpp \
|
|
settingsdialog/executorproblemsetwidget.cpp \
|
|
settingsdialog/formattergeneralwidget.cpp \
|
|
settingsdialog/projectcompileparamaterswidget.cpp \
|
|
settingsdialog/projectcompilerwidget.cpp \
|
|
settingsdialog/projectdirectorieswidget.cpp \
|
|
settingsdialog/projectdllhostwidget.cpp \
|
|
settingsdialog/projectfileswidget.cpp \
|
|
settingsdialog/projectgeneralwidget.cpp \
|
|
settingsdialog/projectmakefilewidget.cpp \
|
|
settingsdialog/projectoutputwidget.cpp \
|
|
settingsdialog/projectprecompilewidget.cpp \
|
|
settingsdialog/toolsgeneralwidget.cpp \
|
|
settingsdialog/toolsgitwidget.cpp \
|
|
shortcutmanager.cpp \
|
|
symbolusagemanager.cpp \
|
|
thememanager.cpp \
|
|
todoparser.cpp \
|
|
toolsmanager.cpp \
|
|
vcs/gitbranchdialog.cpp \
|
|
vcs/gitfetchdialog.cpp \
|
|
vcs/gitlogdialog.cpp \
|
|
vcs/gitmanager.cpp \
|
|
vcs/gitmergedialog.cpp \
|
|
vcs/gitpulldialog.cpp \
|
|
vcs/gitpushdialog.cpp \
|
|
vcs/gitremotedialog.cpp \
|
|
vcs/gitrepository.cpp \
|
|
vcs/gitresetdialog.cpp \
|
|
vcs/gituserconfigdialog.cpp \
|
|
vcs/gitutils.cpp \
|
|
widgets/aboutdialog.cpp \
|
|
widgets/bookmarkmodel.cpp \
|
|
widgets/choosethemedialog.cpp \
|
|
widgets/classbrowser.cpp \
|
|
widgets/codecompletionlistview.cpp \
|
|
widgets/codecompletionpopup.cpp \
|
|
widgets/cpudialog.cpp \
|
|
debugger.cpp \
|
|
editor.cpp \
|
|
editorlist.cpp \
|
|
iconsmanager.cpp \
|
|
main.cpp \
|
|
mainwindow.cpp \
|
|
qsynedit/CodeFolding.cpp \
|
|
qsynedit/Constants.cpp \
|
|
qsynedit/KeyStrokes.cpp \
|
|
qsynedit/MiscClasses.cpp \
|
|
qsynedit/MiscProcs.cpp \
|
|
qsynedit/SynEdit.cpp \
|
|
qsynedit/TextBuffer.cpp \
|
|
qsynedit/TextPainter.cpp \
|
|
qsynedit/exporter/synexporter.cpp \
|
|
qsynedit/exporter/synhtmlexporter.cpp \
|
|
qsynedit/exporter/synrtfexporter.cpp \
|
|
qsynedit/highlighter/asm.cpp \
|
|
qsynedit/highlighter/base.cpp \
|
|
qsynedit/highlighter/composition.cpp \
|
|
qsynedit/highlighter/cpp.cpp \
|
|
qsynedit/highlighter/glsl.cpp \
|
|
settingsdialog/compilersetdirectorieswidget.cpp \
|
|
settingsdialog/compilersetoptionwidget.cpp \
|
|
settings.cpp \
|
|
settingsdialog/editorclipboardwidget.cpp \
|
|
settingsdialog/editorcolorschemewidget.cpp \
|
|
settingsdialog/editorfontwidget.cpp \
|
|
settingsdialog/editorgeneralwidget.cpp \
|
|
settingsdialog/editorsymbolcompletionwidget.cpp \
|
|
settingsdialog/editorsyntaxcheckwidget.cpp \
|
|
settingsdialog/environmentappearencewidget.cpp \
|
|
settingsdialog/executorgeneralwidget.cpp \
|
|
settingsdialog/settingsdialog.cpp \
|
|
settingsdialog/settingswidget.cpp \
|
|
systemconsts.cpp \
|
|
utils.cpp \
|
|
widgets/coloredit.cpp \
|
|
widgets/compileargumentswidget.cpp \
|
|
widgets/consolewidget.cpp \
|
|
widgets/customdisablediconengine.cpp \
|
|
widgets/customfilesystemmodel.cpp \
|
|
widgets/custommakefileinfodialog.cpp \
|
|
widgets/darkfusionstyle.cpp \
|
|
widgets/editorstabwidget.cpp \
|
|
widgets/filepropertiesdialog.cpp \
|
|
widgets/functiontooltipwidget.cpp \
|
|
widgets/headercompletionpopup.cpp \
|
|
widgets/infomessagebox.cpp \
|
|
widgets/issuestable.cpp \
|
|
widgets/labelwithmenu.cpp \
|
|
widgets/lightfusionstyle.cpp \
|
|
widgets/linenumbertexteditor.cpp \
|
|
widgets/macroinfomodel.cpp \
|
|
widgets/newclassdialog.cpp \
|
|
widgets/newheaderdialog.cpp \
|
|
widgets/newprojectdialog.cpp \
|
|
widgets/newprojectunitdialog.cpp \
|
|
widgets/ojproblempropertywidget.cpp \
|
|
widgets/ojproblemsetmodel.cpp \
|
|
widgets/qconsole.cpp \
|
|
widgets/qpatchedcombobox.cpp \
|
|
widgets/searchdialog.cpp \
|
|
widgets/searchresultview.cpp \
|
|
widgets/shortcutinputedit.cpp \
|
|
widgets/shrinkabletabwidget.cpp \
|
|
widgets/signalmessagedialog.cpp
|
|
|
|
HEADERS += \
|
|
HighlighterManager.h \
|
|
SimpleIni.h \
|
|
autolinkmanager.h \
|
|
caretlist.h \
|
|
codeformatter.h \
|
|
codesnippetsmanager.h \
|
|
colorscheme.h \
|
|
compiler/compiler.h \
|
|
compiler/compilerinfo.h \
|
|
compiler/compilermanager.h \
|
|
compiler/executablerunner.h \
|
|
compiler/filecompiler.h \
|
|
compiler/ojproblemcasesrunner.h \
|
|
compiler/projectcompiler.h \
|
|
compiler/runner.h \
|
|
compiler/stdincompiler.h \
|
|
cpprefacter.h \
|
|
customfileiconprovider.h \
|
|
gdbmiresultparser.h \
|
|
parser/cppparser.h \
|
|
parser/cpppreprocessor.h \
|
|
parser/cpptokenizer.h \
|
|
parser/parserutils.h \
|
|
parser/statementmodel.h \
|
|
platform.h \
|
|
problems/ojproblemset.h \
|
|
problems/problemcasevalidator.h \
|
|
project.h \
|
|
projectoptions.h \
|
|
projecttemplate.h \
|
|
qsynedit/Search.h \
|
|
qsynedit/SearchBase.h \
|
|
qsynedit/SearchRegex.h \
|
|
settingsdialog/compilerautolinkwidget.h \
|
|
settingsdialog/debuggeneralwidget.h \
|
|
settingsdialog/editorautosavewidget.h \
|
|
settingsdialog/editorcodecompletionwidget.h \
|
|
settingsdialog/editormiscwidget.h \
|
|
settingsdialog/editorsnippetwidget.h \
|
|
settingsdialog/editortooltipswidget.h \
|
|
settingsdialog/environmentfolderswidget.h \
|
|
settingsdialog/environmentperformancewidget.h \
|
|
settingsdialog/environmentshortcutwidget.h \
|
|
settingsdialog/executorproblemsetwidget.h \
|
|
settingsdialog/formattergeneralwidget.h \
|
|
settingsdialog/projectcompileparamaterswidget.h \
|
|
settingsdialog/projectcompilerwidget.h \
|
|
settingsdialog/projectdirectorieswidget.h \
|
|
settingsdialog/projectdllhostwidget.h \
|
|
settingsdialog/projectfileswidget.h \
|
|
settingsdialog/projectgeneralwidget.h \
|
|
settingsdialog/projectmakefilewidget.h \
|
|
settingsdialog/projectoutputwidget.h \
|
|
settingsdialog/projectprecompilewidget.h \
|
|
settingsdialog/toolsgeneralwidget.h \
|
|
settingsdialog/toolsgitwidget.h \
|
|
shortcutmanager.h \
|
|
symbolusagemanager.h \
|
|
thememanager.h \
|
|
todoparser.h \
|
|
toolsmanager.h \
|
|
vcs/gitbranchdialog.h \
|
|
vcs/gitfetchdialog.h \
|
|
vcs/gitlogdialog.h \
|
|
vcs/gitmanager.h \
|
|
vcs/gitmergedialog.h \
|
|
vcs/gitpulldialog.h \
|
|
vcs/gitpushdialog.h \
|
|
vcs/gitremotedialog.h \
|
|
vcs/gitrepository.h \
|
|
vcs/gitresetdialog.h \
|
|
vcs/gituserconfigdialog.h \
|
|
vcs/gitutils.h \
|
|
widgets/aboutdialog.h \
|
|
widgets/bookmarkmodel.h \
|
|
widgets/choosethemedialog.h \
|
|
widgets/classbrowser.h \
|
|
widgets/codecompletionlistview.h \
|
|
widgets/codecompletionpopup.h \
|
|
widgets/cpudialog.h \
|
|
debugger.h \
|
|
editor.h \
|
|
editorlist.h \
|
|
iconsmanager.h \
|
|
mainwindow.h \
|
|
qsynedit/CodeFolding.h \
|
|
qsynedit/Constants.h \
|
|
qsynedit/KeyStrokes.h \
|
|
qsynedit/MiscClasses.h \
|
|
qsynedit/MiscProcs.h \
|
|
qsynedit/SynEdit.h \
|
|
qsynedit/TextBuffer.h \
|
|
qsynedit/TextPainter.h \
|
|
qsynedit/Types.h \
|
|
qsynedit/exporter/synexporter.h \
|
|
qsynedit/exporter/synhtmlexporter.h \
|
|
qsynedit/exporter/synrtfexporter.h \
|
|
qsynedit/highlighter/asm.h \
|
|
qsynedit/highlighter/base.h \
|
|
qsynedit/highlighter/composition.h \
|
|
qsynedit/highlighter/cpp.h \
|
|
qsynedit/highlighter/glsl.h \
|
|
settingsdialog/compilersetdirectorieswidget.h \
|
|
settingsdialog/compilersetoptionwidget.h \
|
|
settings.h \
|
|
settingsdialog/editorclipboardwidget.h \
|
|
settingsdialog/editorcolorschemewidget.h \
|
|
settingsdialog/editorfontwidget.h \
|
|
settingsdialog/editorgeneralwidget.h \
|
|
settingsdialog/editorsymbolcompletionwidget.h \
|
|
settingsdialog/editorsyntaxcheckwidget.h \
|
|
settingsdialog/environmentappearencewidget.h \
|
|
settingsdialog/executorgeneralwidget.h \
|
|
settingsdialog/settingsdialog.h \
|
|
settingsdialog/settingswidget.h \
|
|
systemconsts.h \
|
|
utils.h \
|
|
common.h \
|
|
widgets/coloredit.h \
|
|
widgets/compileargumentswidget.h \
|
|
widgets/consolewidget.h \
|
|
widgets/customdisablediconengine.h \
|
|
widgets/customfilesystemmodel.h \
|
|
widgets/custommakefileinfodialog.h \
|
|
widgets/darkfusionstyle.h \
|
|
widgets/editorstabwidget.h \
|
|
widgets/filepropertiesdialog.h \
|
|
widgets/functiontooltipwidget.h \
|
|
widgets/headercompletionpopup.h \
|
|
widgets/infomessagebox.h \
|
|
widgets/issuestable.h \
|
|
widgets/labelwithmenu.h \
|
|
widgets/lightfusionstyle.h \
|
|
widgets/linenumbertexteditor.h \
|
|
widgets/macroinfomodel.h \
|
|
widgets/newclassdialog.h \
|
|
widgets/newheaderdialog.h \
|
|
widgets/newprojectdialog.h \
|
|
widgets/newprojectunitdialog.h \
|
|
widgets/ojproblempropertywidget.h \
|
|
widgets/ojproblemsetmodel.h \
|
|
widgets/qconsole.h \
|
|
widgets/qpatchedcombobox.h \
|
|
widgets/searchdialog.h \
|
|
widgets/searchresultview.h \
|
|
widgets/shortcutinputedit.h \
|
|
widgets/shrinkabletabwidget.h \
|
|
widgets/signalmessagedialog.h
|
|
|
|
FORMS += \
|
|
settingsdialog/compilerautolinkwidget.ui \
|
|
settingsdialog/debuggeneralwidget.ui \
|
|
settingsdialog/editorautosavewidget.ui \
|
|
settingsdialog/editorcodecompletionwidget.ui \
|
|
settingsdialog/editormiscwidget.ui \
|
|
settingsdialog/editorsnippetwidget.ui \
|
|
settingsdialog/editortooltipswidget.ui \
|
|
settingsdialog/environmentfolderswidget.ui \
|
|
settingsdialog/environmentperformancewidget.ui \
|
|
settingsdialog/environmentshortcutwidget.ui \
|
|
settingsdialog/executorproblemsetwidget.ui \
|
|
settingsdialog/formattergeneralwidget.ui \
|
|
settingsdialog/projectcompileparamaterswidget.ui \
|
|
settingsdialog/projectcompilerwidget.ui \
|
|
settingsdialog/projectdirectorieswidget.ui \
|
|
settingsdialog/projectdllhostwidget.ui \
|
|
settingsdialog/projectfileswidget.ui \
|
|
settingsdialog/projectgeneralwidget.ui \
|
|
settingsdialog/projectmakefilewidget.ui \
|
|
settingsdialog/projectoutputwidget.ui \
|
|
settingsdialog/projectprecompilewidget.ui \
|
|
settingsdialog/toolsgeneralwidget.ui \
|
|
settingsdialog/toolsgitwidget.ui \
|
|
vcs/gitbranchdialog.ui \
|
|
vcs/gitfetchdialog.ui \
|
|
vcs/gitlogdialog.ui \
|
|
vcs/gitmergedialog.ui \
|
|
vcs/gitpulldialog.ui \
|
|
vcs/gitpushdialog.ui \
|
|
vcs/gitremotedialog.ui \
|
|
vcs/gitresetdialog.ui \
|
|
vcs/gituserconfigdialog.ui \
|
|
widgets/aboutdialog.ui \
|
|
widgets/choosethemedialog.ui \
|
|
widgets/cpudialog.ui \
|
|
mainwindow.ui \
|
|
settingsdialog/compilersetdirectorieswidget.ui \
|
|
settingsdialog/compilersetoptionwidget.ui \
|
|
settingsdialog/editorclipboardwidget.ui \
|
|
settingsdialog/editorcolorschemewidget.ui \
|
|
settingsdialog/editorfontwidget.ui \
|
|
settingsdialog/editorgeneralwidget.ui \
|
|
settingsdialog/editorsymbolcompletionwidget.ui \
|
|
settingsdialog/editorsyntaxcheckwidget.ui \
|
|
settingsdialog/environmentappearencewidget.ui \
|
|
settingsdialog/executorgeneralwidget.ui \
|
|
settingsdialog/settingsdialog.ui \
|
|
widgets/custommakefileinfodialog.ui \
|
|
widgets/filepropertiesdialog.ui \
|
|
widgets/infomessagebox.ui \
|
|
widgets/newclassdialog.ui \
|
|
widgets/newheaderdialog.ui \
|
|
widgets/newprojectdialog.ui \
|
|
widgets/newprojectunitdialog.ui \
|
|
widgets/ojproblempropertywidget.ui \
|
|
widgets/searchdialog.ui \
|
|
widgets/signalmessagedialog.ui
|
|
|
|
win32: {
|
|
FORMS += \
|
|
settingsdialog/projectversioninfowidget.ui \
|
|
settingsdialog/environmentfileassociationwidget.ui
|
|
|
|
HEADERS += \
|
|
settingsdialog/projectversioninfowidget.h \
|
|
settingsdialog/environmentfileassociationwidget.h
|
|
|
|
SOURCES += \
|
|
settingsdialog/environmentfileassociationwidget.cpp \
|
|
settingsdialog/projectversioninfowidget.cpp
|
|
}
|
|
|
|
unix: {
|
|
HEADERS += \
|
|
settingsdialog/formatterpathwidget.h \
|
|
settingsdialog/environmentprogramswidget.h
|
|
|
|
SOURCES += \
|
|
settingsdialog/formatterpathwidget.cpp \
|
|
settingsdialog/environmentprogramswidget.cpp
|
|
|
|
FORMS += \
|
|
settingsdialog/formatterpathwidget.ui \
|
|
settingsdialog/environmentprogramswidget.ui
|
|
}
|
|
|
|
linux: {
|
|
LIBS+= \
|
|
-lrt
|
|
}
|
|
|
|
TRANSLATIONS += \
|
|
RedPandaIDE_zh_CN.ts \
|
|
RedPandaIDE_zh_TW.ts \
|
|
RedPandaIDE_pt.ts
|
|
|
|
#CONFIG += lrelease embed_translations
|
|
|
|
win32: {
|
|
!isEmpty(PREFIX) {
|
|
target.path = $${PREFIX}
|
|
}
|
|
}
|
|
|
|
# Default rules for deployment.
|
|
qnx: target.path = $${PREFIX}/bin
|
|
else: unix:!android: target.path = $${PREFIX}/bin
|
|
!isEmpty(target.path): INSTALLS += target
|
|
|
|
RESOURCES += \
|
|
codes.qrc \
|
|
defaultconfigs.qrc \
|
|
icons.qrc \
|
|
projecttemplates.qrc \
|
|
translations.qrc
|
|
|
|
RC_ICONS = images/devcpp.ico images/associations/c.ico images/associations/cpp.ico images/associations/dev.ico images/associations/c.ico images/associations/cpp.ico images/associations/h.ico images/associations/hpp.ico
|
|
|
|
# fixed lrelease.prf
|
|
qtPrepareTool(QMAKE_LRELEASE, lrelease)
|
|
|
|
isEmpty(LRELEASE_DIR): LRELEASE_DIR = .qm
|
|
isEmpty(QM_FILES_RESOURCE_PREFIX): QM_FILES_RESOURCE_PREFIX = i18n
|
|
|
|
lrelease.name = lrelease
|
|
lrelease.input = TRANSLATIONS EXTRA_TRANSLATIONS
|
|
lrelease.output = $$LRELEASE_DIR/${QMAKE_FILE_IN_BASE}.qm
|
|
lrelease.commands = $$QMAKE_LRELEASE ${QMAKE_FILE_IN} $$QMAKE_LRELEASE_FLAGS -qm ${QMAKE_FILE_OUT}
|
|
silent: lrelease.commands = @echo lrelease ${QMAKE_FILE_IN} && $$lrelease.commands
|
|
lrelease.CONFIG = no_link target_predeps
|
|
QMAKE_EXTRA_COMPILERS += lrelease
|
|
|
|
all_translations = $$TRANSLATIONS $$EXTRA_TRANSLATIONS
|
|
for (translation, all_translations) {
|
|
# mirrors $$LRELEASE_DIR/${QMAKE_FILE_IN_BASE}.qm above
|
|
translation = $$basename(translation)
|
|
QM_FILES += $$OUT_PWD/$$LRELEASE_DIR/$$replace(translation, \\..*$, .qm)
|
|
}
|
|
|
|
qmake_qm_files.files = $$QM_FILES
|
|
qmake_qm_files.base = $$OUT_PWD/$$LRELEASE_DIR
|
|
qmake_qm_files.prefix = $$QM_FILES_RESOURCE_PREFIX
|
|
|
|
iconsets_files.files += $$files(resources/iconsets/*.svg, true)
|
|
iconsets_files.files += $$files(resources/iconsets/*.json, true)
|
|
|
|
theme_files.files += $$files(themes/*.json, false)
|
|
theme_files.files += $$files(themes/*.png, false)
|
|
|
|
colorscheme_files.files += $$files(colorschemes/*.scheme, false)
|
|
colorscheme_files.prefix = /colorschemes
|
|
|
|
RESOURCES += qmake_qm_files
|
|
RESOURCES += iconsets_files
|
|
RESOURCES += theme_files
|
|
RESOURCES += colorscheme_files
|
|
|
|
macos: {
|
|
# Add needed executables into the main app bundle
|
|
bundled_executable.files = \
|
|
$$OUT_PWD/../astyle/astyle \
|
|
$$OUT_PWD/../consolepauser/consolepauser \
|
|
$$OUT_PWD/../redpanda-git-askpass/redpanda-git-askpass.app/Contents/MacOS/redpanda-git-askpass
|
|
bundled_executable.path = Contents/MacOS
|
|
|
|
# Also bundled templates
|
|
|
|
QMAKE_BUNDLE_DATA += bundled_executable
|
|
}
|