Files
qt-creator/qtcreator.pro
Eike Ziller c23d2b6e09 Increase requirement for building Qt Creator from Qt 5.6.2 to Qt 5.9
Qt 5.11 will be released and Qt 5.9 is the new LTS.
Increasing the requirement allows us to remove some baggage and
workarounds like Utils::asConst, special Q_OVERRIDE header, and
deployment target adaptions on macOS, and simplifies pulling in
proparser changes from Qt.

Change-Id: I9faf99336d26dd20bd63e6904ae543c0f351aa4d
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-03-22 10:01:36 +00:00

154 lines
5.7 KiB
Prolog

include(qtcreator.pri)
#version check qt
!minQtVersion(5, 9, 0) {
message("Cannot build $$IDE_DISPLAY_NAME with Qt version $${QT_VERSION}.")
error("Use at least Qt 5.9.0.")
}
include(doc/doc.pri)
TEMPLATE = subdirs
CONFIG += ordered
SUBDIRS = src share
unix:!macx:!isEmpty(copydata):SUBDIRS += bin
!isEmpty(BUILD_TESTS):SUBDIRS += tests
DISTFILES += dist/copyright_template.txt \
README.md \
$$files(dist/changes-*) \
qtcreator.qbs \
qbs/pluginjson/pluginjson.qbs \
$$files(scripts/*.py) \
$$files(scripts/*.sh) \
$$files(scripts/*.pl)
exists(src/shared/qbs/qbs.pro) {
# Make sure the qbs dll ends up alongside the Creator executable.
QBS_DLLDESTDIR = $${IDE_BUILD_TREE}/bin
cache(QBS_DLLDESTDIR)
QBS_DESTDIR = $${IDE_LIBRARY_PATH}
cache(QBS_DESTDIR)
QBSLIBDIR = $${IDE_LIBRARY_PATH}
cache(QBSLIBDIR)
QBS_INSTALL_PREFIX = $${QTC_PREFIX}
cache(QBS_INSTALL_PREFIX)
QBS_LIB_INSTALL_DIR = $$INSTALL_LIBRARY_PATH
cache(QBS_LIB_INSTALL_DIR)
QBS_RESOURCES_BUILD_DIR = $${IDE_DATA_PATH}/qbs
cache(QBS_RESOURCES_BUILD_DIR)
QBS_RESOURCES_INSTALL_DIR = $$INSTALL_DATA_PATH/qbs
cache(QBS_RESOURCES_INSTALL_DIR)
macx {
QBS_PLUGINS_BUILD_DIR = $${IDE_PLUGIN_PATH}
QBS_APPS_RPATH_DIR = @loader_path/../Frameworks
} else {
QBS_PLUGINS_BUILD_DIR = $$IDE_PLUGIN_PATH
QBS_APPS_RPATH_DIR = \$\$ORIGIN/../$$IDE_LIBRARY_BASENAME/qtcreator
}
cache(QBS_PLUGINS_BUILD_DIR)
cache(QBS_APPS_RPATH_DIR)
QBS_PLUGINS_INSTALL_DIR = $$INSTALL_PLUGIN_PATH
cache(QBS_PLUGINS_INSTALL_DIR)
QBS_LIBRARY_DIRNAME = $${IDE_LIBRARY_BASENAME}
cache(QBS_LIBRARY_DIRNAME)
QBS_APPS_DESTDIR = $${IDE_BIN_PATH}
cache(QBS_APPS_DESTDIR)
QBS_APPS_INSTALL_DIR = $$INSTALL_BIN_PATH
cache(QBS_APPS_INSTALL_DIR)
QBS_LIBEXEC_DESTDIR = $${IDE_LIBEXEC_PATH}
cache(QBS_LIBEXEC_DESTDIR)
QBS_LIBEXEC_INSTALL_DIR = $$INSTALL_LIBEXEC_PATH
cache(QBS_LIBEXEC_INSTALL_DIR)
QBS_RELATIVE_LIBEXEC_PATH = $$relative_path($$QBS_LIBEXEC_DESTDIR, $$QBS_APPS_DESTDIR)
isEmpty(QBS_RELATIVE_LIBEXEC_PATH):QBS_RELATIVE_LIBEXEC_PATH = .
cache(QBS_RELATIVE_LIBEXEC_PATH)
QBS_RELATIVE_PLUGINS_PATH = $$relative_path($$QBS_PLUGINS_BUILD_DIR, $$QBS_APPS_DESTDIR$$)
cache(QBS_RELATIVE_PLUGINS_PATH)
QBS_RELATIVE_SEARCH_PATH = $$relative_path($$QBS_RESOURCES_BUILD_DIR, $$QBS_APPS_DESTDIR)
cache(QBS_RELATIVE_SEARCH_PATH)
!qbs_no_dev_install {
QBS_CONFIG_ADDITION = qbs_no_dev_install qbs_enable_project_file_updates
cache(CONFIG, add, QBS_CONFIG_ADDITION)
}
# Create qbs documentation targets.
DOC_FILES =
DOC_TARGET_PREFIX = qbs_
include(src/shared/qbs/doc/doc_shared.pri)
include(src/shared/qbs/doc/doc_targets.pri)
docs.depends += qbs_docs
!build_online_docs {
install_docs.depends += install_qbs_docs
}
unset(DOC_FILES)
unset(DOC_TARGET_PREFIX)
}
contains(QT_ARCH, i386): ARCHITECTURE = x86
else: ARCHITECTURE = $$QT_ARCH
macx: PLATFORM = "mac"
else:win32: PLATFORM = "windows"
else:linux-*: PLATFORM = "linux-$${ARCHITECTURE}"
else: PLATFORM = "unknown"
BASENAME = $$(INSTALL_BASENAME)
isEmpty(BASENAME): BASENAME = qt-creator-$${PLATFORM}$(INSTALL_EDITION)-$${QTCREATOR_VERSION}$(INSTALL_POSTFIX)
linux {
appstream.files = dist/org.qt-project.qtcreator.appdata.xml
appstream.path = $$QTC_PREFIX/share/metainfo/
desktop.files = dist/org.qt-project.qtcreator.desktop
desktop.path = $$QTC_PREFIX/share/applications/
INSTALLS += appstream desktop
}
macx {
APPBUNDLE = "$$OUT_PWD/bin/$${IDE_APP_TARGET}.app"
BINDIST_SOURCE = "$$OUT_PWD/bin/$${IDE_APP_TARGET}.app"
deployqt.commands = $$PWD/scripts/deployqtHelper_mac.sh \"$${APPBUNDLE}\" \"$$[QT_INSTALL_BINS]\" \"$$[QT_INSTALL_TRANSLATIONS]\" \"$$[QT_INSTALL_PLUGINS]\" \"$$[QT_INSTALL_IMPORTS]\" \"$$[QT_INSTALL_QML]\"
codesign.commands = codesign --deep -s \"$(SIGNING_IDENTITY)\" $(SIGNING_FLAGS) \"$${APPBUNDLE}\"
dmg.commands = python -u \"$$PWD/scripts/makedmg.py\" \"$${BASENAME}.dmg\" \"Qt Creator\" \"$$IDE_SOURCE_TREE\" \"$$OUT_PWD/bin\"
#dmg.depends = deployqt
QMAKE_EXTRA_TARGETS += codesign dmg
} else {
BINDIST_SOURCE = "$(INSTALL_ROOT)$$QTC_PREFIX"
BINDIST_EXCLUDE_ARG = "--exclude-toplevel"
deployqt.commands = python -u $$PWD/scripts/deployqt.py -i \"$(INSTALL_ROOT)$$QTC_PREFIX/bin/$${IDE_APP_TARGET}\" \"$(QMAKE)\"
deployqt.depends = install
win32 {
deployartifacts.depends = install
deployartifacts.commands = git clone --depth 1 -b $$BINARY_ARTIFACTS_BRANCH \
"http://code.qt.io/qt-creator/binary-artifacts.git" \
&& xcopy /s /q /y /i "binary-artifacts\\win32" \"$(INSTALL_ROOT)$$QTC_PREFIX\" \
&& rmdir /s /q binary-artifacts
QMAKE_EXTRA_TARGETS += deployartifacts
}
}
INSTALLER_ARCHIVE_FROM_ENV = $$(INSTALLER_ARCHIVE)
isEmpty(INSTALLER_ARCHIVE_FROM_ENV) {
INSTALLER_ARCHIVE = $$OUT_PWD/$${BASENAME}-installer-archive.7z
} else {
INSTALLER_ARCHIVE = $$OUT_PWD/$$(INSTALLER_ARCHIVE)
}
INSTALLER_ARCHIVE_DEBUG = $$INSTALLER_ARCHIVE
INSTALLER_ARCHIVE_DEBUG ~= s/(.*)[.]7z/\1-debug.7z
bindist.commands = python -u $$PWD/scripts/createDistPackage.py $$OUT_PWD/$${BASENAME}.7z \"$$BINDIST_SOURCE\"
bindist_installer.commands = python -u $$PWD/scripts/createDistPackage.py $$BINDIST_EXCLUDE_ARG $${INSTALLER_ARCHIVE} \"$$BINDIST_SOURCE\"
bindist_debug.commands = python -u $$PWD/scripts/createDistPackage.py --debug $$BINDIST_EXCLUDE_ARG $${INSTALLER_ARCHIVE_DEBUG} \"$$BINDIST_SOURCE\"
win32 {
deployqt.commands ~= s,/,\\\\,g
bindist.commands ~= s,/,\\\\,g
bindist_installer.commands ~= s,/,\\\\,g
}
QMAKE_EXTRA_TARGETS += deployqt bindist bindist_installer bindist_debug