forked from qt-creator/qt-creator
Some environments include the project directory by default, and some don't (e.g. qbs). In order to avoid compilation errors on the environments that don't, unconditionally exclude the project directory. Change-Id: I8552a269735b42efff1839fb18ce863eed711b7a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
189 lines
5.3 KiB
Plaintext
189 lines
5.3 KiB
Plaintext
!isEmpty(QTCREATOR_PRI_INCLUDED):error("qtcreator.pri already included")
|
|
QTCREATOR_PRI_INCLUDED = 1
|
|
|
|
QTCREATOR_VERSION = 3.3.81
|
|
QTCREATOR_COMPAT_VERSION = 3.3.81
|
|
BINARY_ARTIFACTS_BRANCH = 3.4
|
|
|
|
# enable c++11
|
|
CONFIG += c++11
|
|
|
|
defineReplace(qtLibraryName) {
|
|
unset(LIBRARY_NAME)
|
|
LIBRARY_NAME = $$1
|
|
CONFIG(debug, debug|release) {
|
|
!debug_and_release|build_pass {
|
|
mac:RET = $$member(LIBRARY_NAME, 0)_debug
|
|
else:win32:RET = $$member(LIBRARY_NAME, 0)d
|
|
}
|
|
}
|
|
isEmpty(RET):RET = $$LIBRARY_NAME
|
|
return($$RET)
|
|
}
|
|
|
|
defineTest(minQtVersion) {
|
|
maj = $$1
|
|
min = $$2
|
|
patch = $$3
|
|
isEqual(QT_MAJOR_VERSION, $$maj) {
|
|
isEqual(QT_MINOR_VERSION, $$min) {
|
|
isEqual(QT_PATCH_VERSION, $$patch) {
|
|
return(true)
|
|
}
|
|
greaterThan(QT_PATCH_VERSION, $$patch) {
|
|
return(true)
|
|
}
|
|
}
|
|
greaterThan(QT_MINOR_VERSION, $$min) {
|
|
return(true)
|
|
}
|
|
}
|
|
greaterThan(QT_MAJOR_VERSION, $$maj) {
|
|
return(true)
|
|
}
|
|
return(false)
|
|
}
|
|
|
|
# For use in custom compilers which just copy files
|
|
defineReplace(stripSrcDir) {
|
|
return($$relative_path($$absolute_path($$1, $$OUT_PWD), $$_PRO_FILE_PWD_))
|
|
}
|
|
|
|
!isEmpty(BUILD_TESTS):TEST = 1
|
|
|
|
isEmpty(TEST):CONFIG(debug, debug|release) {
|
|
!debug_and_release|build_pass {
|
|
TEST = 1
|
|
}
|
|
}
|
|
|
|
isEmpty(IDE_LIBRARY_BASENAME) {
|
|
IDE_LIBRARY_BASENAME = lib
|
|
}
|
|
|
|
equals(TEST, 1) {
|
|
QT +=testlib
|
|
DEFINES += WITH_TESTS
|
|
}
|
|
|
|
IDE_SOURCE_TREE = $$PWD
|
|
isEmpty(IDE_BUILD_TREE) {
|
|
sub_dir = $$_PRO_FILE_PWD_
|
|
sub_dir ~= s,^$$re_escape($$PWD),,
|
|
IDE_BUILD_TREE = $$clean_path($$OUT_PWD)
|
|
IDE_BUILD_TREE ~= s,$$re_escape($$sub_dir)$,,
|
|
}
|
|
IDE_APP_PATH = $$IDE_BUILD_TREE/bin
|
|
macx {
|
|
IDE_APP_TARGET = "Qt Creator"
|
|
IDE_LIBRARY_PATH = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app/Contents/Frameworks
|
|
IDE_PLUGIN_PATH = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app/Contents/PlugIns
|
|
IDE_LIBEXEC_PATH = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app/Contents/Resources
|
|
IDE_DATA_PATH = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app/Contents/Resources
|
|
IDE_DOC_PATH = $$IDE_DATA_PATH/doc
|
|
IDE_BIN_PATH = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app/Contents/MacOS
|
|
copydata = 1
|
|
} else {
|
|
contains(TEMPLATE, vc.*):vcproj = 1
|
|
IDE_APP_TARGET = qtcreator
|
|
IDE_LIBRARY_PATH = $$IDE_BUILD_TREE/$$IDE_LIBRARY_BASENAME/qtcreator
|
|
IDE_PLUGIN_PATH = $$IDE_LIBRARY_PATH/plugins
|
|
IDE_LIBEXEC_PATH = $$IDE_APP_PATH # FIXME
|
|
IDE_DATA_PATH = $$IDE_BUILD_TREE/share/qtcreator
|
|
IDE_DOC_PATH = $$IDE_BUILD_TREE/share/doc/qtcreator
|
|
IDE_BIN_PATH = $$IDE_APP_PATH
|
|
!isEqual(IDE_SOURCE_TREE, $$IDE_BUILD_TREE):copydata = 1
|
|
}
|
|
|
|
INCLUDEPATH += \
|
|
$$IDE_BUILD_TREE/src \ # for <app/app_version.h>
|
|
$$IDE_SOURCE_TREE/src/libs \
|
|
$$IDE_SOURCE_TREE/tools
|
|
|
|
QTC_PLUGIN_DIRS_FROM_ENVIRONMENT = $$(QTC_PLUGIN_DIRS)
|
|
QTC_PLUGIN_DIRS += $$split(QTC_PLUGIN_DIRS_FROM_ENVIRONMENT, $$QMAKE_DIRLIST_SEP)
|
|
QTC_PLUGIN_DIRS += $$IDE_SOURCE_TREE/src/plugins
|
|
for(dir, QTC_PLUGIN_DIRS) {
|
|
INCLUDEPATH += $$dir
|
|
}
|
|
|
|
CONFIG += \
|
|
depend_includepath \
|
|
no_include_pwd
|
|
|
|
LIBS += -L$$IDE_LIBRARY_PATH
|
|
|
|
!isEmpty(vcproj) {
|
|
DEFINES += IDE_LIBRARY_BASENAME=\"$$IDE_LIBRARY_BASENAME\"
|
|
} else {
|
|
DEFINES += IDE_LIBRARY_BASENAME=\\\"$$IDE_LIBRARY_BASENAME\\\"
|
|
}
|
|
|
|
DEFINES += QT_CREATOR QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
|
|
!macx:DEFINES += QT_USE_FAST_OPERATOR_PLUS QT_USE_FAST_CONCATENATION
|
|
|
|
unix {
|
|
CONFIG(debug, debug|release):OBJECTS_DIR = $${OUT_PWD}/.obj/debug-shared
|
|
CONFIG(release, debug|release):OBJECTS_DIR = $${OUT_PWD}/.obj/release-shared
|
|
|
|
CONFIG(debug, debug|release):MOC_DIR = $${OUT_PWD}/.moc/debug-shared
|
|
CONFIG(release, debug|release):MOC_DIR = $${OUT_PWD}/.moc/release-shared
|
|
|
|
RCC_DIR = $${OUT_PWD}/.rcc
|
|
UI_DIR = $${OUT_PWD}/.uic
|
|
}
|
|
|
|
win32-msvc* {
|
|
#Don't warn about sprintf, fopen etc being 'unsafe'
|
|
DEFINES += _CRT_SECURE_NO_WARNINGS
|
|
QMAKE_CXXFLAGS_WARN_ON *= -w44996
|
|
# Speed up startup time when debugging with cdb
|
|
QMAKE_LFLAGS_DEBUG += /INCREMENTAL:NO
|
|
}
|
|
|
|
qt {
|
|
contains(QT, core): QT += concurrent
|
|
contains(QT, gui): QT += widgets
|
|
}
|
|
|
|
QBSFILE = $$replace(_PRO_FILE_, \\.pro$, .qbs)
|
|
exists($$QBSFILE):DISTFILES += $$QBSFILE
|
|
|
|
!isEmpty(QTC_PLUGIN_DEPENDS):LIBS *= -L$$IDE_PLUGIN_PATH
|
|
# recursively resolve plugin deps
|
|
done_plugins =
|
|
for(ever) {
|
|
isEmpty(QTC_PLUGIN_DEPENDS): \
|
|
break()
|
|
done_plugins += $$QTC_PLUGIN_DEPENDS
|
|
for(dep, QTC_PLUGIN_DEPENDS) {
|
|
dependencies_file =
|
|
for(dir, QTC_PLUGIN_DIRS) {
|
|
exists($$dir/$$dep/$${dep}_dependencies.pri) {
|
|
dependencies_file = $$dir/$$dep/$${dep}_dependencies.pri
|
|
break()
|
|
}
|
|
}
|
|
isEmpty(dependencies_file): \
|
|
error("Plugin dependency $$dep not found")
|
|
include($$dependencies_file)
|
|
LIBS += -l$$qtLibraryName($$QTC_PLUGIN_NAME)
|
|
}
|
|
QTC_PLUGIN_DEPENDS = $$unique(QTC_PLUGIN_DEPENDS)
|
|
QTC_PLUGIN_DEPENDS -= $$unique(done_plugins)
|
|
}
|
|
|
|
# recursively resolve library deps
|
|
done_libs =
|
|
for(ever) {
|
|
isEmpty(QTC_LIB_DEPENDS): \
|
|
break()
|
|
done_libs += $$QTC_LIB_DEPENDS
|
|
for(dep, QTC_LIB_DEPENDS) {
|
|
include($$PWD/src/libs/$$dep/$${dep}_dependencies.pri)
|
|
LIBS += -l$$qtLibraryName($$QTC_LIB_NAME)
|
|
}
|
|
QTC_LIB_DEPENDS = $$unique(QTC_LIB_DEPENDS)
|
|
QTC_LIB_DEPENDS -= $$unique(done_libs)
|
|
}
|