Modularize configure.json/.pri

Move the different parts of configure.json/.pri into the libraries where
they belong.

Gui is not yet fully modularized, and contains many things related to
the different QPA plugins.

Done-with: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Change-Id: I6659bb29354ed1f36b95b8c69e7fce58f642053f
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
This commit is contained in:
Lars Knoll 2016-09-09 09:50:08 +02:00
parent fc098de70a
commit 2d3c73fcfe
57 changed files with 2141 additions and 1878 deletions

File diff suppressed because it is too large Load Diff

View File

@ -222,16 +222,6 @@ defineTest(qtConfTest_buildParts) {
return(true) return(true)
} }
defineTest(qtConfLibrary_openssl) {
libs = $$getenv("OPENSSL_LIBS")
!isEmpty(libs) {
$${1}.libs = $$libs
export($${1}.libs)
return(true)
}
return(false)
}
defineTest(qtConfTest_checkCompiler) { defineTest(qtConfTest_checkCompiler) {
contains(QMAKE_CXX, ".*clang.*") { contains(QMAKE_CXX, ".*clang.*") {
qtRunLoggedCommand("$$QMAKE_CXX -v 2>&1", versionstr)|return(false) qtRunLoggedCommand("$$QMAKE_CXX -v 2>&1", versionstr)|return(false)
@ -274,162 +264,6 @@ defineTest(qtConfTest_checkCompiler) {
return(true) return(true)
} }
defineReplace(filterLibraryPath) {
str = $${1}
for (l, QMAKE_DEFAULT_LIBDIRS): \
str -= "-L$$l"
return($$str)
}
defineTest(qtConfLibrary_psqlConfig) {
pg_config = $$config.input.psql_config
isEmpty(pg_config): \
pg_config = $$qtConfFindInPath("pg_config")
!win32:!isEmpty(pg_config) {
qtRunLoggedCommand("$$pg_config --libdir", libdir)|return(false)
qtRunLoggedCommand("$$pg_config --includedir", includedir)|return(false)
libdir -= $$QMAKE_DEFAULT_LIBDIRS
libs =
!isEmpty(libdir): libs += "-L$$libdir"
libs += "-lpq"
$${1}.libs = "$$val_escape(libs)"
includedir -= $$QMAKE_DEFAULT_INCDIRS
$${1}.includedir = "$$val_escape(includedir)"
!isEmpty(includedir): \
$${1}.cflags = "-I$$val_escape(includedir)"
export($${1}.libs)
export($${1}.includedir)
export($${1}.cflags)
return(true)
}
return(false)
}
defineTest(qtConfLibrary_psqlEnv) {
# Respect PSQL_LIBS if set
PSQL_LIBS = $$getenv(PSQL_LIBS)
!isEmpty(PSQL_LIBS) {
$${1}.libs = $$PSQL_LIBS
export($${1}.libs)
}
return(true)
}
defineTest(qtConfLibrary_mysqlConfig) {
mysql_config = $$config.input.mysql_config
isEmpty(mysql_config): \
mysql_config = $$qtConfFindInPath("mysql_config")
!isEmpty(mysql_config) {
qtRunLoggedCommand("$$mysql_config --version", version)|return(false)
version = $$split(version, '.')
version = $$first(version)
isEmpty(version)|lessThan(version, 4): return(false)]
# query is either --libs or --libs_r
query = $$eval($${1}.query)
qtRunLoggedCommand("$$mysql_config $$query", libs)|return(false)
qtRunLoggedCommand("$$mysql_config --include", includedir)|return(false)
eval(libs = $$libs)
libs = $$filterLibraryPath($$libs)
# -rdynamic should not be returned by mysql_config, but is on RHEL 6.6
libs -= -rdynamic
$${1}.libs = "$$val_escape(libs)"
eval(includedir = $$includedir)
includedir ~= s/^-I//g
includedir -= $$QMAKE_DEFAULT_INCDIRS
$${1}.includedir = "$$val_escape(includedir)"
!isEmpty(includedir): \
$${1}.cflags = "-I$$val_escape(includedir)"
export($${1}.libs)
export($${1}.includedir)
export($${1}.cflags)
return(true)
}
return(false)
}
defineTest(qtConfLibrary_sybaseEnv) {
libs =
sybase = $$getenv(SYBASE)
!isEmpty(sybase): \
libs += "-L$${sybase}/lib"
libs += $$getenv(SYBASE_LIBS)
!isEmpty(libs) {
$${1}.libs = "$$val_escape(libs)"
export($${1}.libs)
}
return(true)
}
# Check for Direct X SDK (include, lib, and direct shader compiler 'fxc').
# Up to Direct X SDK June 2010 and for MinGW, this is pointed to by the
# DXSDK_DIR variable. Starting with Windows Kit 8, it is included in
# the Windows SDK. Checking for the header is not sufficient, since it
# is also present in MinGW.
defineTest(qtConfTest_directX) {
dxdir = $$getenv("DXSDK_DIR")
!isEmpty(dxdir) {
EXTRA_INCLUDEPATH += $$dxdir/include
arch = $$qtConfEvaluate("tests.architecture.arch")
equals(arch, x86_64): \
EXTRA_LIBDIR += $$dxdir/lib/x64
else: \
EXTRA_LIBDIR += $$dxdir/lib/x86
EXTRA_PATH += $$dxdir/Utilities/bin/x86
}
$$qtConfEvaluate("features.sse2") {
ky = $$size($${1}.files._KEYS_)
$${1}.files._KEYS_ += $$ky
# Not present on MinGW-32
$${1}.files.$${ky} = "intrin.h"
}
qtConfTest_files($${1}): return(true)
return(false)
}
defineTest(qtConfTest_xkbConfigRoot) {
qtConfTest_getPkgConfigVariable($${1}): return(true)
for (dir, $$list("/usr/share/X11/xkb", "/usr/local/share/X11/xkb")) {
exists($$dir) {
$${1}.value = $$dir
export($${1}.value)
$${1}.cache += value
export($${1}.cache)
return(true)
}
}
return(false)
}
defineTest(qtConfTest_qpaDefaultPlatform) {
name =
!isEmpty(config.input.qpa_default_platform): name = $$config.input.qpa_default_platform
else: !isEmpty(QT_QPA_DEFAULT_PLATFORM): name = $$QT_QPA_DEFAULT_PLATFORM
else: winrt: name = winrt
else: win32: name = windows
else: android: name = android
else: osx: name = cocoa
else: ios: name = ios
else: qnx: name = qnx
else: integrity: name = integrityfb
else: name = xcb
$${1}.value = $$name
$${1}.plugin = q$$name
$${1}.name = "\"$$name\""
export($${1}.value)
export($${1}.plugin)
export($${1}.name)
$${1}.cache += value plugin name
export($${1}.cache)
return(true)
}
# custom outputs # custom outputs
defineTest(qtConfOutput_shared) { defineTest(qtConfOutput_shared) {
@ -477,13 +311,6 @@ defineTest(qtConfOutput_architecture) {
export(QT_ARCH) export(QT_ARCH)
} }
defineTest(qtConfOutput_styles) {
!$${2}: return()
style = $$replace($${1}.feature, "style-", "")
qtConfOutputVar(append, "privatePro", "styles", $$style)
}
defineTest(qtConfOutput_qreal) { defineTest(qtConfOutput_qreal) {
qreal = $$config.input.qreal qreal = $$config.input.qreal
isEmpty(qreal): qreal = "double" isEmpty(qreal): qreal = "double"

View File

@ -1,10 +1,10 @@
requires(qtHaveModule(gui)) requires(qtHaveModule(gui))
TEMPLATE = subdirs TEMPLATE = subdirs
QT_FOR_CONFIG += gui
CONFIG += no_docs_target CONFIG += no_docs_target
SUBDIRS += analogclock SUBDIRS += analogclock
SUBDIRS += rasterwindow SUBDIRS += rasterwindow
qtConfig(opengl(es2)?) { qtConfig(opengl): \
SUBDIRS += openglwindow SUBDIRS += openglwindow
}

View File

@ -1,6 +1,7 @@
requires(qtHaveModule(network)) requires(qtHaveModule(network))
TEMPLATE = subdirs TEMPLATE = subdirs
QT_FOR_CONFIG += network-private
SUBDIRS = \ SUBDIRS = \
download \ download \
downloadmanager downloadmanager

View File

@ -69,6 +69,7 @@ for (dep, dependentmodules): \
mod_deps += $$cmakeModuleName($$dep) mod_deps += $$cmakeModuleName($$dep)
dependentmodules = $$join(mod_deps, ";") dependentmodules = $$join(mod_deps, ";")
QT_FOR_CONFIG += gui-private
qtConfig(angle): CMAKE_GL_DEFINES = -DQT_WITH_ANGLE=True qtConfig(angle): CMAKE_GL_DEFINES = -DQT_WITH_ANGLE=True
!qtConfig(egl): CMAKE_GL_DEFINES += -DNO_EGL=True !qtConfig(egl): CMAKE_GL_DEFINES += -DNO_EGL=True

View File

@ -68,6 +68,8 @@ DEFINES += FT2_BUILD_LIBRARY
DEFINES += FT_CONFIG_OPTION_SYSTEM_ZLIB DEFINES += FT_CONFIG_OPTION_SYSTEM_ZLIB
include(../zlib_dependency.pri) include(../zlib_dependency.pri)
QT_FOR_CONFIG += gui-private
include(../../gui/qtgui-config.pri)
DEFINES += FT_CONFIG_OPTION_USE_PNG DEFINES += FT_CONFIG_OPTION_USE_PNG
include($$PWD/../png_dependency.pri) include($$PWD/../png_dependency.pri)

View File

@ -1,7 +1,7 @@
pcre { qtConfig(system-pcre) {
QMAKE_USE_PRIVATE += pcre
} else {
win32: DEFINES += PCRE_STATIC win32: DEFINES += PCRE_STATIC
INCLUDEPATH += $$PWD/pcre INCLUDEPATH += $$PWD/pcre
LIBS_PRIVATE += -L$$QT_BUILD_TREE/lib -lqtpcre$$qtPlatformTargetSuffix() LIBS_PRIVATE += -L$$QT_BUILD_TREE/lib -lqtpcre$$qtPlatformTargetSuffix()
} else {
QMAKE_USE_PRIVATE += pcre
} }

View File

@ -1,4 +1,5 @@
# static builds should still link ANGLE dynamically when dynamic GL is enabled # static builds should still link ANGLE dynamically when dynamic GL is enabled
include(../../../gui/qtgui-config.pri)
static:qtConfig(dynamicgl) { static:qtConfig(dynamicgl) {
CONFIG -= static CONFIG -= static
CONFIG += shared CONFIG += shared

View File

@ -1,4 +1,5 @@
CONFIG += static CONFIG += static
include(../../../../gui/qtgui-config.pri)
qtConfig(dynamicgl): CONFIG += not_installed qtConfig(dynamicgl): CONFIG += not_installed
include(../../config.pri) include(../../config.pri)

View File

@ -1,4 +1,5 @@
CONFIG += static CONFIG += static
include(../../../gui/qtgui-config.pri)
qtConfig(dynamicgl): CONFIG += not_installed qtConfig(dynamicgl): CONFIG += not_installed
include(../config.pri) include(../config.pri)

434
src/corelib/configure.json Normal file
View File

@ -0,0 +1,434 @@
{
"module": "core",
"testDir": "../../config.tests",
"commandline": {
"options": {
"doubleconversion": { "type": "enum", "values": [ "no", "qt", "system" ] },
"eventfd": "boolean",
"glib": "boolean",
"iconv": { "type": "enum", "values": [ "no", "yes", "posix", "sun", "gnu" ] },
"icu": "boolean",
"inotify": "boolean",
"journald": "boolean",
"pcre": { "type": "enum", "values": [ "qt", "system" ] },
"posix-ipc": { "type": "boolean", "name": "ipc_posix" },
"pps": { "type": "boolean", "name": "qqnx_pps" },
"slog2": "boolean",
"syslog": "boolean"
}
},
"libraries": {
"doubleconversion": {
"description": "DoubleConversion",
"test": "unix/doubleconversion",
"sources": [
"-ldouble-conversion"
]
},
"glib": {
"description": "GLib",
"test": "unix/glib",
"sources": [
{ "type": "pkgConfig", "args": "glib-2.0 gthread-2.0" }
]
},
"gnu_iconv": {
"description": "GNU libiconv",
"export": "iconv",
"test": "unix/gnu-libiconv",
"sources": [
"-liconv"
]
},
"icu": {
"description": "ICU",
"export": "",
"test": "unix/icu",
"sources": [
{
"builds": {
"debug": "-lsicuind -lsicuucd -lsicudtd",
"release": "-lsicuin -lsicuuc -lsicudt"
},
"condition": "config.win32 && !features.shared"
},
{ "libs": "-licuin -licuuc -licudt", "condition": "config.win32 && features.shared" },
{ "libs": "-licui18n -licuuc -licudata", "condition": "!config.win32" }
]
},
"journald": {
"description": "journald",
"test": "unix/journald",
"export": "",
"sources": [
{ "type": "pkgConfig", "args": "libsystemd" },
{ "type": "pkgConfig", "args": "libsystemd-journal" }
]
},
"libatomic": {
"description": "64 bit atomics in libatomic",
"test": "common/atomic64",
"sources": [
"-latomic"
]
},
"libdl": {
"description": "dlopen() in libdl",
"export": "",
"test": "unix/dlopen",
"sources": [
"-ldl"
]
},
"pcre": {
"description": "PCRE",
"test": "unix/pcre",
"sources": [
"-lpcre16"
]
},
"pps": {
"description": "PPS",
"test": "unix/pps",
"sources": [
"-lpps"
]
},
"slog2": {
"description": "slog2",
"test": "unix/slog2",
"export": "",
"sources": [
"-lslog2"
]
}
},
"tests": {
"atomic64": {
"description": "64 bit atomics",
"type": "compile",
"test": "common/atomic64"
},
"atomicfptr": {
"description": "working std::atomic for function pointers",
"type": "compile",
"test": "common/atomicfptr"
},
"clock-gettime": {
"description": "clock_gettime()",
"type": "compile",
"test": "unix/clock-gettime"
},
"clock-monotonic": {
"description": "POSIX monotonic clock",
"type": "compile",
"test": "unix/clock-monotonic"
},
"cloexec": {
"description": "O_CLOEXEC",
"type": "compile",
"test": "unix/cloexec"
},
"dlopen": {
"description": "dlopen() in libc",
"type": "compile",
"test": "unix/dlopen"
},
"eventfd": {
"description": "eventfd",
"type": "compile",
"test": "unix/eventfd"
},
"posix-iconv": {
"description": "POSIX iconv",
"type": "compile",
"test": "unix/iconv"
},
"sun-iconv": {
"description": "SUN libiconv",
"type": "compile",
"test": "unix/sun-libiconv"
},
"inotify": {
"description": "inotify",
"type": "compile",
"test": "unix/inotify"
},
"ipc_sysv": {
"description": "SysV IPC",
"type": "compile",
"test": "unix/ipc_sysv"
},
"ipc_posix": {
"description": "POSIX IPC",
"type": "compile",
"test": "unix/ipc_posix"
},
"journald": {
"description": "journald",
"type": "compile",
"test": "unix/journald"
},
"ppoll": {
"description": "ppoll()",
"type": "compile",
"test": "unix/ppoll"
},
"pollts": {
"description": "pollts()",
"type": "compile",
"test": "unix/pollts"
},
"poll": {
"description": "poll()",
"type": "compile",
"test": "unix/poll"
},
"syslog": {
"description": "syslog",
"type": "compile",
"test": "unix/syslog"
},
"xlocalescanprint": {
"description": "xlocale.h (or equivalents)",
"type": "compile",
"test": "common/xlocalescanprint"
}
},
"features": {
"clock-gettime": {
"description": "clock_gettime()",
"condition": "tests.clock-gettime",
"output": [ "privateFeature" ]
},
"clock-monotonic": {
"description": "POSIX monotonic clock",
"condition": "features.clock-gettime && tests.clock-monotonic",
"output": [ "feature" ]
},
"dlopen": {
"description": "dlopen()",
"condition": "tests.dlopen || libs.libdl",
"output": [ { "type": "define", "negative": true, "name": "QT_NO_DYNAMIC_LIBRARY" } ]
},
"libdl": {
"description": "dlopen() in libdl",
"condition": "!tests.dlopen && libs.libdl",
"output": [ { "type": "privateConfig", "negative": true } ]
},
"doubleconversion": {
"description": "DoubleConversion",
"output": [ "privateFeature", "feature" ]
},
"system-doubleconversion": {
"description": " Using system DoubleConversion",
"enable": "input.doubleconversion == 'system'",
"disable": "input.doubleconversion == 'qt'",
"condition": "features.doubleconversion && libs.doubleconversion",
"output": [ "privateFeature" ]
},
"eventfd": {
"description": "eventfd",
"condition": "tests.eventfd",
"output": [ "feature" ]
},
"glib": {
"description": "GLib",
"autoDetect": "!config.win32",
"condition": "libs.glib",
"output": [ "privateFeature", "feature" ]
},
"iconv": {
"description": "iconv",
"condition": "features.posix-libiconv || features.sun-libiconv || features.gnu-libiconv",
"output": [ "privateFeature", "feature" ]
},
"posix-libiconv": {
"description": "POSIX iconv",
"enable": "input.iconv == 'posix'",
"disable": "input.iconv == 'sun' || input.iconv == 'gnu' || input.iconv == 'no'",
"condition": "!config.win32 && !config.qnx && !config.android && !config.darwin && tests.posix-iconv"
},
"sun-libiconv": {
"description": "SUN iconv",
"enable": "input.iconv == 'sun'",
"disable": "input.iconv == 'posix' || input.iconv == 'gnu' || input.iconv == 'no'",
"condition": "!config.win32 && !config.qnx && !config.android && !config.darwin && !features.posix-libiconv && tests.sun-iconv",
"output": [ "privateFeature", "publicQtConfig" ]
},
"gnu-libiconv": {
"description": "GNU iconv",
"enable": "input.iconv == 'gnu'",
"disable": "input.iconv == 'posix' || input.iconv == 'sun' || input.iconv == 'no'",
"condition": "!config.win32 && !config.qnx && !config.android && !config.darwin && !features.posix-libiconv && !features.sun-libiconv && libs.gnu_iconv",
"output": [ "privateFeature" ]
},
"icu": {
"description": "ICU",
"autoDetect": "!config.win32",
"condition": "libs.icu",
"output": [ "privateFeature" ]
},
"inotify": {
"description": "inotify",
"condition": "tests.inotify",
"output": [ "privateFeature", "feature" ]
},
"ipc_posix": {
"description": "Using POSIX IPC",
"autoDetect": "!config.win32",
"condition": "!tests.ipc_sysv && tests.ipc_posix",
"output": [ { "type": "define", "name": "QT_POSIX_IPC" } ]
},
"journald": {
"description": "journald",
"autoDetect": false,
"condition": "libs.journald",
"output": [ "privateConfig" ]
},
"std-atomic64": {
"description": "64 bit atomic operations",
"condition": "tests.atomic64 || libs.libatomic",
"output": [ { "type": "define", "negative": true, "name": "QT_NO_STD_ATOMIC64" } ]
},
"libatomic": {
"description": "64 bit atomic operations in libatomic",
"condition": "!tests.atomic64 && libs.libatomic",
"output": [ "privateFeature" ]
},
"mimetype": {
"description": "Mimetype handling",
"output": [ "publicFeature", "feature" ]
},
"system-pcre": {
"description": "Using system PCRE",
"disable": "input.pcre == 'qt'",
"enable": "input.pcre == 'system'",
"condition": "libs.pcre",
"output": [
"privateFeature",
{ "type": "privateConfig", "negative": true, "name": "pcre" }
]
},
"poll_ppoll": {
"description": "Native ppoll()",
"emitIf": "!config.win32",
"condition": "tests.ppoll",
"output": [ "privateFeature" ]
},
"poll_pollts": {
"description": "Native pollts()",
"emitIf": "!config.win32",
"condition": "!features.poll_ppoll && tests.pollts",
"output": [ "privateFeature" ]
},
"poll_poll": {
"description": "Native poll()",
"emitIf": "!config.win32",
"condition": "!features.poll_ppoll && !features.poll_pollts && tests.poll",
"output": [ "privateFeature" ]
},
"poll_select": {
"description": "Emulated poll()",
"emitIf": "!config.win32",
"condition": "!features.poll_ppoll && !features.poll_pollts && !features.poll_poll",
"output": [
"privateFeature",
{ "type": "define", "name": "QT_NO_NATIVE_POLL" }
]
},
"qqnx_pps": {
"description": "PPS",
"emitIf": "config.qnx",
"condition": "libs.pps",
"output": [ "privateConfig" ]
},
"qeventtransition": {
"description": "QEventTransition class",
"output": [ "publicFeature" ]
},
"sharedmemory": {
"description": "Enable QSharedMemory",
"condition": "config.android || config.win32 || tests.ipc_sysv || tests.ipc_posix",
"output": [ { "type": "define", "negative": true, "name": "QT_NO_SHAREDMEMORY" } ]
},
"slog2": {
"description": "slog2",
"condition": "libs.slog2",
"emitIf": "config.qnx",
"output": [ "privateConfig" ]
},
"syslog": {
"description": "syslog",
"autoDetect": false,
"condition": "tests.syslog",
"output": [ "privateConfig" ]
},
"systemsemaphore": {
"description": "Enable QSystemSemaphore",
"condition": "config.android || config.win32 || tests.ipc_sysv || tests.ipc_posix",
"output": [ { "type": "define", "negative": true, "name": "QT_NO_SYSTEMSEMAPHORE" } ]
},
"threadsafe-cloexec": {
"description": "Threadsafe pipe creation",
"condition": "tests.cloexec",
"output": [
"publicQtConfig",
{ "type": "define", "name": "QT_THREADSAFE_CLOEXEC", "value": 1 }
]
}
},
"report": [
{
"type": "note",
"condition": "features.journald || features.syslog || (config.qnx && features.slog2)",
"message": "journald, syslog or slog2 integration is enabled.
If your users intend to develop applications against this build,
ensure that the IDEs they use either set QT_LOGGING_TO_CONSOLE to 1
or are able to read the logged output from journald, syslog or slog2."
},
{
"type": "error",
"condition": "input.doubleconversion == 'no' && !tests.xlocalescanprint",
"message": "Your C library does not provide sscanf_l or snprintf_l.
You need to use libdouble-conversion for double/string conversion."
},
{
"type": "error",
"condition": "!tests.atomicfptr",
"message": "detected a std::atomic implementation that fails for function pointers.
Please apply the patch corresponding to your Standard Library vendor, found in
qtbase/config.tests/common/atomicfptr"
}
],
"summary": [
{
"section": "Qt Core",
"entries": [
"doubleconversion",
"system-doubleconversion",
"glib",
"iconv",
"icu",
{
"section": "Logging backends",
"entries": [
"journald", "syslog", "slog2"
]
},
{
"type": "feature",
"args": "qqnx_pps",
"condition": "config.qnx"
},
"system-pcre"
]
}
]
}

View File

@ -58,7 +58,7 @@
#ifndef QT_BOOTSTRAPPED #ifndef QT_BOOTSTRAPPED
#include <QtCore/qconfig.h> #include <QtCore/qconfig.h>
#include <QtCore/qfeatures.h> #include <QtCore/qtcore-config.h>
#endif #endif
// The QT_SUPPORTS macro is deprecated. Don't use it in new code. // The QT_SUPPORTS macro is deprecated. Don't use it in new code.

View File

@ -50,6 +50,7 @@
#ifndef QT_BOOTSTRAPPED #ifndef QT_BOOTSTRAPPED
#include <QtCore/private/qconfig_p.h> #include <QtCore/private/qconfig_p.h>
#include <QtCore/private/qtcore-config_p.h>
#endif #endif
#define QT_LIBRARY_VERSION(lib) QT_LIBRARY_VERSION_##lib #define QT_LIBRARY_VERSION(lib) QT_LIBRARY_VERSION_##lib

905
src/gui/configure.json Normal file
View File

@ -0,0 +1,905 @@
{
"module": "gui",
"depends": [
"core"
],
"testDir": "../../config.tests",
"commandline": {
"options": {
"angle": "boolean",
"directfb": "boolean",
"directwrite": "boolean",
"egl": "boolean",
"eglfs": "boolean",
"evdev": "boolean",
"fontconfig": "boolean",
"freetype": { "type": "enum", "values": [ "no", "qt", "system" ] },
"gbm": "boolean",
"gif": "boolean",
"harfbuzz": { "type": "enum", "values": [ "no", "qt", "system" ] },
"ico": "boolean",
"imf": { "type": "boolean", "name": "qqnx_imf" },
"kms": "boolean",
"lgmon": "boolean",
"libinput": "boolean",
"libjpeg": { "type": "enum", "values": [ "no", "qt", "system" ] },
"libpng": { "type": "enum", "values": [ "no", "qt", "system" ] },
"linuxfb": "boolean",
"mirclient": "boolean",
"mtdev": "boolean",
"opengl": { "type": "optionalString", "values": [ "no", "yes", "desktop", "es2", "dynamic" ] },
"opengl-es-2": { "type": "void", "name": "opengl", "value": "es2" },
"opengles3": "boolean",
"qpa": { "type": "string", "name": "qpa_default_platform" },
"qpa-platform-guard": "boolean",
"sm": { "type": "boolean", "name": "sessionmanager" },
"tslib": "boolean",
"xcb": { "type": "enum", "values": [ "no", "yes", "qt", "system" ] },
"xcb-xlib": "boolean",
"xinput2": "boolean",
"xkb": "boolean",
"xkb-config-root": "string",
"xkbcommon": { "type": "enum", "values": [ "no", "qt", "system" ] },
"xkbcommon-evdev": "boolean",
"xkbcommon-x11": { "type": "enum", "name": "xkbcommon", "values": [ "no", "qt", "system" ] },
"xrender": "boolean"
}
},
"libraries": {
"bcm_host": {
"export": "",
"sources": [
"-lbcm_host"
]
},
"directfb": {
"description": "DirectFB",
"test": "qpa/directfb",
"sources": [
{ "type": "pkgConfig", "args": "directfb" }
]
},
"directwrite": {
"description": "DirectWrite",
"export": "",
"test": "win/directwrite",
"sources": [
"-ldwrite"
]
},
"drm": {
"description": "KMS",
"test": "qpa/kms",
"sources": [
{ "type": "pkgConfig", "args": "libdrm" },
"-ldrm"
]
},
"egl": {
"description": "EGL",
"test": "qpa/egl",
"sources": [
{ "type": "pkgConfig", "args": "egl" },
{ "type": "makeSpec", "spec": "EGL" }
]
},
"freetype": {
"description": "FreeType",
"export": "",
"test": "unix/freetype",
"sources": [
"-lfreetype"
]
},
"fontconfig": {
"description": "Fontconfig",
"test": "unix/fontconfig",
"sources": [
{ "type": "pkgConfig", "args": "fontconfig freetype2" },
"-lfontconfig -lfreetype"
]
},
"gbm": {
"description": "GBM",
"test": "qpa/gbm",
"sources": [
{ "type": "pkgConfig", "args": "gbm" }
]
},
"harfbuzz": {
"description": "HarfBuzz",
"test": "unix/harfbuzz",
"sources": [
"-lharfbuzz"
]
},
"imf": {
"description": "IMF",
"export": "",
"test": "unix/qqnx_imf",
"sources": [
"-linput_client"
]
},
"lgmon": {
"description": "lgmon",
"test": "unix/lgmon",
"sources": [
"-llgmon"
]
},
"libinput": {
"description": "libinput",
"test": "unix/libinput",
"sources": [
{ "type": "pkgConfig", "args": "libinput" }
]
},
"libjpeg": {
"description": "libjpeg",
"test": "unix/libjpeg",
"sources": [
{ "libs": "-llibjpeg", "condition": "config.msvc" },
{ "libs": "-ljpeg", "condition": "!config.msvc" }
]
},
"libpng": {
"description": "libpng",
"test": "unix/libpng",
"sources": [
{ "type": "pkgConfig", "args": "libpng" },
{ "libs": "-llibpng", "condition": "config.msvc" },
{ "libs": "-lpng", "condition": "!config.msvc" }
]
},
"mirclient": {
"description": "Mir client libraries",
"export": "",
"test": "qpa/mirclient",
"sources": [
{ "type": "pkgConfig", "args": "egl mirclient ubuntu-platform-api" }
]
},
"mtdev": {
"description": "mtdev",
"export": "",
"test": "unix/mtdev",
"sources": [
{ "type": "pkgConfig", "args": "mtdev" }
]
},
"opengl": {
"description": "Desktop OpenGL",
"test": "unix/opengldesktop",
"sources": [
{ "type": "pkgConfig", "args": "gl" },
{ "type": "makeSpec", "spec": "OPENGL" }
]
},
"opengl_es2": {
"description": "OpenGL ES 2.0",
"test": "unix/opengles2",
"sources": [
{ "type": "pkgConfig", "args": "glesv2" },
{ "type": "makeSpec", "spec": "OPENGL_ES2" }
]
},
"tslib": {
"description": "tslib",
"test": "unix/tslib",
"sources": [
"-lts"
]
},
"wayland_server": {
"description": "Wayland Server",
"export": "",
"test": "qpa/wayland-server",
"sources": [
{ "type": "pkgConfig", "args": "wayland-server" }
]
},
"x11sm": {
"description": "X11 session management",
"sources": [
{ "type": "pkgConfig", "args": "sm ice" }
]
},
"xcb": {
"description": "XCB >= 1.5 (core)",
"test": "qpa/xcb",
"sources": [
{ "type": "pkgConfig", "args": "xcb >= 1.5" },
"-lxcb"
]
},
"xcb_syslibs": {
"description": "XCB (secondary)",
"test": "qpa/xcb-syslibs",
"sources": [
{ "type": "pkgConfig",
"args": "xcb xcb-shm xcb-sync xcb-xfixes xcb-randr xcb-image xcb-keysyms xcb-icccm xcb-shape" },
"-lxcb -lxcb-shm -lxcb-sync -lxcb-xfixes -lxcb-randr -lxcb-image -lxcb-keysyms -lxcb-icccm -lxcb-shape"
]
},
"xcb_xlib": {
"description": "XCB Xlib",
"test": "qpa/xcb-xlib",
"sources": [
{ "type": "pkgConfig", "args": "X11-xcb x11 xcb" },
"-lxcb -lX11 -lX11-xcb"
]
},
"xcb_xkb": {
"description": "XCB XKB >= 1.10",
"test": "qpa/xcb-xkb",
"sources": [
{ "type": "pkgConfig", "args": "xcb-xkb >= 1.10 xcb" },
"-lxcb-xkb -lxcb"
]
},
"xcb_render": {
"description": "XCB XRender",
"test": "qpa/xcb-render",
"sources": [
{ "type": "pkgConfig", "args": "xcb-renderutil xcb-render xcb" },
"-lxcb-render-util -lxcb-render -lxcb"
]
},
"xcb_glx": {
"description": "XCB GLX",
"test": "qpa/xcb-glx",
"sources": [
{ "type": "pkgConfig", "args": "xcb-glx xcb" },
"-lxcb-glx -lxcb"
]
},
"xinput2": {
"description": "Xinput2",
"test": "x11/xinput2",
"sources": [
{ "type": "pkgConfig", "args": "xi" },
"-lXi"
]
},
"xkbcommon": {
"description": "xkbcommon",
"export": "xkbcommon_evdev",
"test": "unix/xkbcommon",
"sources": [
{ "type": "pkgConfig", "args": "xkbcommon" }
]
},
"xkbcommon_x11": {
"description": "xkbcommon-x11 >= 0.4.1",
"export": "xkbcommon",
"sources": [
{ "type": "pkgConfig", "args": "xkbcommon xkbcommon-x11 >= 0.4.1" }
]
},
"xrender": {
"description": "XRender",
"test": "x11/xrender",
"sources": [
"-lXrender"
]
}
},
"testTypeAliases": {
"files": [ "directX" ],
"getPkgConfigVariable": [ "xkbConfigRoot" ]
},
"tests": {
"direct2d": {
"description": "Direct 2D",
"type": "compile",
"test": "qpa/direct2d",
"use": "direct2d"
},
"directwrite2": {
"description": "DirectWrite 2",
"type": "compile",
"test": "win/directwrite2",
"use": "directwrite"
},
"directx": {
"description": "DirectX SDK",
"type": "directX",
"files": [
"d3dcompiler.h",
"d3d11.lib",
"fxc.exe"
]
},
"egl-x11": {
"description": "EGL on X11",
"type": "compile",
"test": "qpa/egl-x11",
"use": "egl xcb_xlib"
},
"egl-brcm": {
"description": "Broadcom EGL (Rasberry Pi)",
"type": "compile",
"test": "qpa/eglfs-brcm",
"use": "egl bcm_host"
},
"egl-egldevice": {
"description": "EGLDevice",
"type": "compile",
"test": "qpa/eglfs-egldevice",
"use": "egl"
},
"egl-mali": {
"description": "Mali EGL",
"type": "compile",
"test": "qpa/eglfs-mali",
"use": "egl"
},
"egl-mali-2": {
"description": "Mali 2 EGL",
"type": "compile",
"test": "qpa/eglfs-mali-2",
"use": "egl"
},
"egl-viv": {
"description": "i.Mx6 EGL",
"type": "compile",
"test": "qpa/eglfs-viv",
"use": "egl"
},
"evdev": {
"description": "evdev",
"type": "compile",
"test": "unix/evdev"
},
"linuxfb": {
"description": "LinuxFB",
"type": "compile",
"test": "qpa/linuxfb"
},
"opengles3": {
"description": "OpenGL ES 3.0",
"type": "compile",
"test": "unix/opengles3",
"use": "opengl_es2"
},
"opengles31": {
"description": "OpenGL ES 3.1",
"type": "compile",
"test": "unix/opengles31",
"use": "opengl_es2"
},
"qpa_default_platform": {
"description": "default QPA platform",
"type": "qpaDefaultPlatform",
"log": "value"
},
"x11prefix": {
"description": "X11 prefix",
"type": "getPkgConfigVariable",
"pkg-config-args": "x11",
"pkg-config-variable": "prefix",
"value": "/usr",
"log": "value"
},
"xkbconfigroot": {
"description": "XKB config root",
"type": "xkbConfigRoot",
"pkg-config-args": "xkeyboard-config",
"pkg-config-variable": "xkb_base",
"log": "value"
},
"xlib": {
"description": "XLib",
"type": "compile",
"test": "x11/xlib"
}
},
"features": {
"accessibility-atspi-bridge": {
"description": "ATSPI Bridge",
"condition": "features.accessibility && features.xcb && features.dbus",
"output": [ "privateFeature", "feature" ]
},
"angle": {
"description": "ANGLE",
"autoDetect": "features.opengles2 || features.opengl-dynamic",
"condition": "config.win32 && tests.directx",
"output": [
"publicFeature",
{ "type": "define", "name": "QT_OPENGL_ES_2_ANGLE" }
]
},
"directfb": {
"description": "DirectFB",
"autoDetect": false,
"condition": "libs.directfb",
"output": [ "privateFeature" ]
},
"directwrite": {
"description": "DirectWrite",
"emitIf": "config.win32",
"condition": "libs.directwrite",
"output": [ "privateFeature" ]
},
"directwrite2": {
"description": "DirectWrite 2",
"emitIf": "config.win32",
"condition": "features.directwrite && tests.directwrite2",
"output": [ "privateFeature" ]
},
"direct2d": {
"description": "Direct 2D",
"autoDetect": false,
"condition": "tests.direct2d",
"output": [ "privateFeature" ]
},
"evdev": {
"description": "evdev",
"condition": "tests.evdev",
"output": [ "privateFeature" ]
},
"freetype": {
"description": "FreeType",
"output": [ "privateFeature", "feature" ]
},
"system-freetype": {
"description": " Using system FreeType",
"enable": "input.freetype == 'system'",
"disable": "input.freetype == 'qt'",
"autoDetect": "!config.win32",
"condition": "features.freetype && libs.freetype",
"output": [ "privateFeature" ]
},
"fontconfig": {
"description": "Fontconfig",
"condition": "!config.win32 && !config.darwin && features.system-freetype && libs.fontconfig",
"output": [ "privateFeature", "feature" ]
},
"gbm": {
"description": "GBM",
"condition": "libs.gbm",
"output": [ "publicQtConfig" ]
},
"harfbuzz": {
"description": "HarfBuzz",
"output": [ "privateFeature", "feature" ]
},
"system-harfbuzz": {
"description": " Using system HarfBuzz",
"enable": "input.harfbuzz == 'system'",
"disable": "input.harfbuzz == 'qt'",
"autoDetect": "!config.darwin && !config.win32",
"condition": "features.harfbuzz && libs.harfbuzz",
"output": [ "privateFeature" ]
},
"qqnx_imf": {
"description": "IMF",
"emitIf": "config.qnx",
"condition": "libs.imf",
"output": [ "privateConfig" ]
},
"integrityfb": {
"description": "INTEGRITY framebuffer",
"condition": "config.integrity",
"output": [ "privateFeature" ]
},
"kms": {
"description": "KMS",
"condition": "libs.drm",
"output": [ "publicQtConfig" ]
},
"libinput": {
"description": "libinput",
"condition": "features.libudev && libs.libinput",
"output": [ "privateFeature" ]
},
"lgmon": {
"description": "lgmon",
"emitIf": "config.qnx",
"condition": "libs.lgmon",
"output": [ "privateConfig" ]
},
"linuxfb": {
"description": "LinuxFB",
"condition": "tests.linuxfb",
"output": [ "privateFeature" ]
},
"mirclient": {
"description": "Mir client",
"condition": "libs.mirclient",
"output": [ "privateFeature" ]
},
"mtdev": {
"description": "mtdev",
"condition": "libs.mtdev",
"output": [ "privateFeature" ]
},
"opengles2": {
"description": "OpenGL ES 2.0",
"enable": "input.opengl == 'es2'",
"disable": "input.opengl == 'desktop' || input.opengl == 'dynamic' || input.opengl == 'no'",
"condition": "config.win32 || (!config.watchos && !features.opengl-desktop && libs.opengl_es2)",
"output": [
"publicFeature",
"publicQtConfig",
{ "type": "define", "name": "QT_OPENGL_ES" },
{ "type": "define", "name": "QT_OPENGL_ES_2" }
]
},
"opengles3": {
"description": "OpenGL ES 3.0",
"condition": "features.opengles2 && !features.angle && tests.opengles3",
"output": [
"publicFeature",
{ "type": "define", "name": "QT_OPENGL_ES_3" }
]
},
"opengles31": {
"description": "OpenGL ES 3.1",
"condition": "features.opengles3 && tests.opengles31",
"output": [
"publicFeature",
{ "type": "define", "name": "QT_OPENGL_ES_3_1" }
]
},
"opengl-desktop": {
"description": "Desktop OpenGL",
"enable": "input.opengl == 'desktop'",
"disable": "input.opengl == 'es2' || input.opengl == 'dynamic' || input.opengl == 'no'",
"condition": "(config.win32 && !config.winrt && !features.opengles2 && (config.msvc || libs.opengl))
|| (!config.watchos && !config.win32 && libs.opengl)"
},
"opengl-dynamic": {
"description": "Dynamic OpenGL",
"enable": "input.opengl == 'dynamic'",
"autoDetect": false,
"condition": "config.win32 && !config.winrt",
"output": [
{ "type": "publicFeature", "name": "dynamicgl" },
{ "type": "define", "name": "QT_OPENGL_DYNAMIC" }
]
},
"opengl": {
"description": "OpenGL",
"condition": "features.opengl-desktop || features.opengl-dynamic || features.opengles2",
"output": [ "publicFeature", "feature" ]
},
"egl": {
"description": "EGL",
"condition": "features.opengl && (features.angle || libs.egl)",
"output": [ "privateFeature", "feature" ]
},
"egl_x11": {
"description": "EGL on X11",
"condition": "features.egl && tests.egl-x11",
"output": [ "privateFeature" ]
},
"eglfs": {
"description": "EGLFS",
"autoDetect": "!config.android && !config.win32",
"condition": "features.egl",
"output": [ "privateFeature" ]
},
"eglfs_brcm": {
"description": "EGLFS Rasberry Pi",
"condition": "features.eglfs && tests.egl-brcm",
"output": [ "privateFeature" ]
},
"eglfs_egldevice": {
"description": "EGLFS EGLDevice",
"condition": "features.eglfs && tests.egl-egldevice && features.kms",
"output": [ "privateFeature" ]
},
"eglfs_gbm": {
"description": "EGLFS GBM",
"condition": "features.eglfs && features.gbm && features.kms",
"output": [ "privateFeature" ]
},
"eglfs_mali": {
"description": "EGLFS Mali",
"condition": "features.eglfs && (tests.egl-mali || tests.egl-mali-2)",
"output": [ "privateFeature" ]
},
"eglfs_viv": {
"description": "EGLFS i.Mx6",
"condition": "features.eglfs && tests.egl-viv",
"output": [ "privateFeature" ]
},
"eglfs_viv_wl": {
"description": "EGLFS i.Mx6 Wayland",
"condition": "features.eglfs_viv && libs.wayland_server",
"output": [ "privateFeature" ]
},
"gif": {
"description": "GIF",
"output": [
"privateFeature",
{ "type": "define", "negative": true, "name": "QT_NO_IMAGEFORMAT_GIF" }
]
},
"ico": {
"description": "ICO",
"output": [ "privateFeature", "feature" ]
},
"jpeg": {
"description": "JPEG",
"disable": "input.libjpeg == 'no'",
"output": [
"privateFeature",
{ "type": "define", "negative": true, "name": "QT_NO_IMAGEFORMAT_JPEG" }
]
},
"system-jpeg": {
"description": " Using system libjpeg",
"disable": "input.libjpeg == 'qt'",
"enable": "input.libjpeg == 'system'",
"condition": "features.jpeg && libs.libjpeg",
"output": [ "privateFeature" ]
},
"png": {
"description": "PNG",
"disable": "input.libpng == 'no'",
"output": [
"privateFeature",
{ "type": "define", "negative": true, "name": "QT_NO_IMAGEFORMAT_PNG" }
]
},
"system-png": {
"description": " Using system libpng",
"disable": "input.libpng == 'qt'",
"enable": "input.libpng == 'system'",
"condition": "features.png && libs.libpng",
"output": [ "privateFeature" ]
},
"qpa_default_platform": {
"description": "QPA default platform",
"condition": "features.gui",
"output": [
{ "type": "define", "name": "QT_QPA_DEFAULT_PLATFORM_NAME", "value": "tests.qpa_default_platform.name" },
{ "type": "varAssign", "public": true, "name": "QT_DEFAULT_QPA_PLUGIN", "value": "tests.qpa_default_platform.plugin",
"condition": "!features.shared" }
]
},
"sessionmanager": {
"description": "Session Management",
"output": [ "feature" ]
},
"tslib": {
"description": "tslib",
"condition": "libs.tslib",
"output": [ "privateFeature" ]
},
"xcb": {
"description": "XCB",
"autoDetect": "!config.darwin",
"condition": "libs.xcb",
"output": [ "privateFeature" ]
},
"system-xcb": {
"description": "Using system provided XCB libraries",
"enable": "input.xcb == 'system' || input.xcb == 'yes'",
"disable": "input.xcb == 'qt' || input.xcb == 'no'",
"autoDetect": "!config.darwin",
"condition": "libs.xcb && libs.xcb_syslibs",
"output": [ "privateFeature" ]
},
"x11-prefix": {
"description": "X11 prefix",
"emitIf": "features.xcb",
"output": [ { "type": "varAssign", "name": "QMAKE_X11_PREFIX", "value": "tests.x11prefix.value" } ]
},
"xcb-glx": {
"description": "XCB GLX",
"emitIf": "features.xcb",
"condition": "libs.xcb_glx",
"output": [ "privateFeature" ]
},
"xcb-render": {
"description": "XCB render",
"emitIf": "features.system-xcb",
"condition": "libs.xcb_render",
"output": [ "privateFeature" ]
},
"xcb-xlib": {
"description": "XCB Xlib",
"emitIf": "features.xcb",
"condition": "libs.xcb_xlib",
"output": [ "privateFeature" ]
},
"xcb-sm": {
"description": "xcb-sm",
"emitIf": "features.xcb",
"condition": "features.sessionmanager && libs.x11sm",
"output": [ "privateFeature" ]
},
"xinput2": {
"description": "Xinput2",
"condition": "libs.xinput2",
"output": [ "privateFeature" ]
},
"xkbcommon-evdev": {
"description": "xkbcommon-evdev",
"condition": "libs.xkbcommon",
"output": [ "privateFeature" ]
},
"xkbcommon-system": {
"description": "Using system-provided xkbcommon",
"emitIf": "features.xcb",
"enable": "input.xkbcommon == 'system'",
"disable": "input.xkbcommon == 'qt' || input.xkbcommon == 'no'",
"condition": "libs.xkbcommon_x11",
"output": [ "privateFeature" ]
},
"xkb": {
"description": "XCB XKB",
"condition": "features.system-xcb && libs.xcb_xkb",
"output": [ "privateFeature" ]
},
"xkb-config-root": {
"description": "XKB config root",
"emitIf": "features.xcb",
"condition": "features.xcb && !features.xkbcommon-system && tests.xkbconfigroot",
"output": [ { "type": "varAssign", "name": "QMAKE_XKB_CONFIG_ROOT", "value": "tests.xkbconfigroot.value"} ]
},
"xlib": {
"description": "XLib",
"condition": "tests.xlib",
"output": [ "privateFeature" ]
},
"xrender": {
"description": "Xrender",
"condition": "libs.xrender",
"output": [ "privateFeature", "feature" ]
}
},
"earlyReport": [
{
"type": "error",
"condition": "input.xcb != '' && input.xcb != 'no' && input.xkbcommon == 'no'",
"message": "XCB plugin requires libxkbcommon. See -qt-xkbcommon-x11 and -system-xkbcommon-x11."
}
],
"report": [
{
"type": "warning",
"condition": "features.xcb && !features.xkbcommon-system && !features.xkb-config-root",
"message": "Could not find XKB config root, use -xkb-config-root to set a path to
XKB configuration data. This is required for keyboard input support."
},
{
"type": "note",
"condition": "features.accessibility && features.xcb && !features.accessibility-atspi-bridge",
"message": "Disabling Linux Accessibility Bridge: D-Bus is missing."
},
{
"type": "warning",
"condition": "input.qpa-platform-guard != ''",
"message": "The [-no]-qpa-platform-guard argument is deprecated and has no effect."
},
{
"type": "warning",
"condition": "features.gui && config.linux && !features.xcb && !features.eglfs && !features.directfb && !features.linuxfb && !features.mirclient",
"message": "No QPA platform plugin enabled! This will
produce a Qt that cannot run GUI applications.
The dependencies needed for xcb to build are listed in
src/plugins/platforms/xcb/README"
},
{
"type": "warning",
"condition": "config.win32 && (features.opengles2 || features.opengl-dynamic) && !features.angle",
"message": "Using OpenGL ES 2.0 on Windows without ANGLE.
The build will most likely fail.
Specify -opengl desktop to use regular OpenGL."
},
{
"type": "warning",
"condition": "config.darwin && features.system-harfbuzz",
"message": "On OS X, AAT is supported only with -qt-harfbuzz."
},
{
"type": "error",
"condition": "features.gui && !config.watchos && input.opengl != 'no' && !features.opengl-desktop && !features.opengles2 && !features.opengl-dynamic",
"message": "The OpenGL functionality tests failed!
You might need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL[_ES2],
QMAKE_LIBDIR_OPENGL[_ES2] and QMAKE_LIBS_OPENGL[_ES2] in the mkspec for your platform."
}
],
"summary": [
{
"section": "Qt Gui",
"entries": [
"freetype",
"system-freetype",
"harfbuzz",
"system-harfbuzz",
"fontconfig",
{
"section": "Image formats",
"entries": [
"gif", "ico", "jpeg", "system-jpeg", "png", "system-png"
]
},
{
"section": "OpenGL",
"entries": [
{
"type": "feature",
"args": "angle",
"condition": "config.win32"
},
"egl",
"opengl-desktop",
{
"type": "feature",
"args": "opengl-dynamic",
"condition": "config.win32"
},
"opengles2",
"opengles3",
"opengles31"
]
},
"sessionmanager"
]
},
{
"section": "Features used by QPA backends",
"entries": [
"evdev",
"libinput",
"mtdev",
"tslib",
"xkbcommon-evdev"
]
},
{
"section": "QPA backends",
"entries": [
"directfb", "eglfs",
{
"section": "EGLFS details",
"condition": "features.eglfs",
"entries": [
"eglfs_viv", "eglfs_viv_wl", "eglfs_egldevice", "eglfs_gbm", "eglfs_mali", "eglfs_brcm", "egl_x11"
]
},
"linuxfb", "mirclient",
{
"message": "INTEGRITY framebuffer",
"condition": "config.integrity",
"args": "integrityfb"
},
{
"section": "QNX",
"condition": "config.qnx",
"entries": [
"lgmon", "qqnx_imf"
]
},
{
"section": "X11",
"condition": "features.xcb",
"entries": [
"system-xcb", "egl_x11", "xinput2", "xkb", "xlib", "xrender", "xcb-render", "xcb-glx", "xcb-xlib", "xkbcommon-system"
]
},
{
"section": "Windows",
"condition": "config.win32",
"entries": [
"direct2d", "directwrite", "directwrite2"
]
}
]
}
]
}

67
src/gui/configure.pri Normal file
View File

@ -0,0 +1,67 @@
# custom tests
# Check for Direct X SDK (include, lib, and direct shader compiler 'fxc').
# Up to Direct X SDK June 2010 and for MinGW, this is pointed to by the
# DXSDK_DIR variable. Starting with Windows Kit 8, it is included in
# the Windows SDK. Checking for the header is not sufficient, since it
# is also present in MinGW.
defineTest(qtConfTest_directX) {
dxdir = $$getenv("DXSDK_DIR")
!isEmpty(dxdir) {
EXTRA_INCLUDEPATH += $$dxdir/include
equals(QT_ARCH, x86_64): \
EXTRA_LIBDIR += $$dxdir/lib/x64
else: \
EXTRA_LIBDIR += $$dxdir/lib/x86
EXTRA_PATH += $$dxdir/Utilities/bin/x86
}
$$qtConfEvaluate("features.sse2") {
ky = $$size($${1}.files._KEYS_)
$${1}.files._KEYS_ += $$ky
# Not present on MinGW-32
$${1}.files.$${ky} = "intrin.h"
}
qtConfTest_files($${1}): return(true)
return(false)
}
defineTest(qtConfTest_xkbConfigRoot) {
qtConfTest_getPkgConfigVariable($${1}): return(true)
for (dir, $$list("/usr/share/X11/xkb", "/usr/local/share/X11/xkb")) {
exists($$dir) {
$${1}.value = $$dir
export($${1}.value)
$${1}.cache += value
export($${1}.cache)
return(true)
}
}
return(false)
}
defineTest(qtConfTest_qpaDefaultPlatform) {
name =
!isEmpty(config.input.qpa_default_platform): name = $$config.input.qpa_default_platform
else: !isEmpty(QT_QPA_DEFAULT_PLATFORM): name = $$QT_QPA_DEFAULT_PLATFORM
else: winrt: name = winrt
else: win32: name = windows
else: android: name = android
else: macos: name = cocoa
else: ios: name = ios
else: qnx: name = qnx
else: integrity: name = integrityfb
else: name = xcb
$${1}.value = $$name
$${1}.plugin = q$$name
$${1}.name = "\"$$name\""
export($${1}.value)
export($${1}.plugin)
export($${1}.name)
$${1}.cache += value plugin name
export($${1}.cache)
return(true)
}

View File

@ -41,6 +41,7 @@
#define QTGUIGLOBAL_H #define QTGUIGLOBAL_H
#include <QtCore/qglobal.h> #include <QtCore/qglobal.h>
#include <QtGui/qtgui-config.h>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE

View File

@ -53,5 +53,6 @@
#include <QtGui/qtguiglobal.h> #include <QtGui/qtguiglobal.h>
#include <QtCore/private/qglobal_p.h> #include <QtCore/private/qglobal_p.h>
#include <QtGui/private/qtgui-config_p.h>
#endif // QTGUIGLOBAL_P_H #endif // QTGUIGLOBAL_P_H

216
src/network/configure.json Normal file
View File

@ -0,0 +1,216 @@
{
"module": "network",
"depends": [
"core"
],
"testDir": "../../config.tests",
"commandline": {
"assignments": {
"OPENSSL_LIBS": "openssl.libs",
"OPENSSL_LIBS_DEBUG": "openssl.libs.debug",
"OPENSSL_LIBS_RELEASE": "openssl.libs.release",
"OPENSSL_PATH": "openssl.prefix"
},
"options": {
"libproxy": "boolean",
"openssl": { "type": "optionalString", "values": [ "no", "yes", "linked", "runtime" ] },
"openssl-linked": { "type": "void", "name": "openssl", "value": "linked" },
"openssl-runtime": { "type": "void", "name": "openssl", "value": "runtime" },
"sctp": "boolean",
"securetransport": "boolean",
"ssl": "boolean",
"system-proxies": "boolean"
}
},
"libraries": {
"corewlan": {
"description": "CoreWLan",
"export": "",
"test": "mac/corewlan",
"sources": [
"-framework CoreWLAN -framework Foundation"
]
},
"network": {
"export": "",
"sources": [
{ "type": "makeSpec", "spec": "NETWORK" }
]
},
"libproxy": {
"description": "libproxy",
"test": "common/libproxy",
"sources": [
"-lproxy"
]
},
"openssl": {
"description": "OpenSSL Libraries",
"export": "",
"sources": [
{ "type": "openssl" },
{
"comment": "placeholder for OPENSSL_LIBS{,_{DEBUG,RELEASE}}",
"libs": "",
"builds": {
"debug": "",
"release": ""
},
"condition": "config.win32 && !features.shared"
},
{ "libs": "-lssleay32 -llibeay32", "condition": "config.win32 && features.shared" },
{ "libs": "-lssl -lcrypto", "condition": "!config.win32" }
]
}
},
"tests": {
"getaddrinfo": {
"description": "getaddrinfo()",
"type": "compile",
"test": "unix/getaddrinfo",
"use": "network"
},
"getifaddrs": {
"description": "getifaddrs()",
"type": "compile",
"test": "unix/getifaddrs",
"use": "network"
},
"ipv6ifname": {
"description": "IPv6 ifname",
"type": "compile",
"test": "unix/ipv6ifname",
"use": "network"
},
"openssl": {
"description": "OpenSSL",
"type": "compile",
"test": "unix/openssl"
},
"sctp": {
"description": "SCTP support",
"type": "compile",
"test": "unix/sctp",
"use": "network"
}
},
"features": {
"corewlan": {
"description": "CoreWLan",
"condition": "libs.corewlan",
"emitIf": "config.darwin",
"output": [ "feature", "privateFeature" ]
},
"getaddrinfo": {
"description": "getaddrinfo()",
"condition": "tests.getaddrinfo",
"output": [ "feature" ]
},
"getifaddrs": {
"description": "getifaddrs()",
"condition": "tests.getifaddrs",
"output": [ "feature" ]
},
"ipv6ifname": {
"description": "IPv6 ifname",
"condition": "tests.ipv6ifname",
"output": [ "feature" ]
},
"libproxy": {
"description": "libproxy",
"autoDetect": false,
"condition": "libs.libproxy",
"output": [ "privateFeature" ]
},
"openssl": {
"description": "OpenSSL",
"enable": "input.openssl == 'yes' || input.openssl == 'linked' || input.openssl == 'runtime'",
"disable": "input.openssl == 'no' || input.ssl == 'no'",
"autoDetect": "!config.winrt",
"condition": "!features.securetransport && tests.openssl",
"output": [
"privateFeature",
{ "type": "publicQtConfig", "condition": "!features.openssl-linked" },
{ "type": "define", "negative": true, "name": "QT_NO_OPENSSL" }
]
},
"openssl-linked": {
"description": " Qt directly linked to OpenSSL",
"enable": "input.openssl == 'linked'",
"disable": "input.openssl != 'linked'",
"condition": "features.openssl && libs.openssl",
"output": [
"privateFeature",
{ "type": "varAssign", "name": "OPENSSL_LIBS", "value": "libs.openssl.libs", "eval": "true" },
{ "type": "varAssign", "name": "OPENSSL_LIBS_DEBUG", "value": "libs.openssl.builds.debug.libs",
"eval": "true", "condition": "config.win32" },
{ "type": "varAssign", "name": "OPENSSL_LIBS_RELEASE", "value": "libs.openssl.builds.release.libs",
"eval": "true", "condition": "config.win32" },
{ "type": "define", "name": "QT_LINKED_OPENSSL" }
]
},
"securetransport": {
"description": "SecureTransport",
"disable": "input.securetransport == 'no' || input.ssl == 'no'",
"condition": "config.darwin && (input.openssl == '' || input.openssl == 'no')",
"output": [
"privateFeature",
{ "type": "define", "name": "QT_SECURETRANSPORT" }
]
},
"ssl": {
"description": "SSL",
"condition": "config.winrt || features.securetransport || features.openssl",
"output": [ "publicFeature", "feature" ]
},
"sctp": {
"description": "SCTP",
"autoDetect": false,
"condition": "tests.sctp",
"output": [ "publicFeature", "feature" ]
},
"system-proxies": {
"description": "Use system proxies",
"output": [ "privateFeature" ]
}
},
"report": [
{
"type": "note",
"condition": "features.openssl-linked && libs.openssl.source != 0
&& input.openssl.prefix == '' && input.openssl.libs == '' && input.openssl.libs.debug == ''",
"message": "When linking against OpenSSL, you can override the default
library names through OPENSSL_LIBS.
For example:
OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
}
],
"summary": [
{
"section": "Qt Network",
"entries": [
{
"type": "feature",
"args": "corewlan",
"condition": "config.darwin"
},
"getaddrinfo", "getifaddrs", "ipv6ifname", "libproxy",
{
"type": "feature",
"args": "securetransport",
"condition": "config.darwin"
},
"openssl",
"openssl-linked",
"sctp",
"system-proxies"
]
}
]
}

12
src/network/configure.pri Normal file
View File

@ -0,0 +1,12 @@
# custom tests
defineTest(qtConfLibrary_openssl) {
libs = $$getenv("OPENSSL_LIBS")
!isEmpty(libs) {
$${1}.libs = $$libs
export($${1}.libs)
return(true)
}
return(false)
}

View File

@ -41,6 +41,7 @@
#define QTNETWORKGLOBAL_H #define QTNETWORKGLOBAL_H
#include <QtCore/qglobal.h> #include <QtCore/qglobal.h>
#include <QtNetwork/qtnetwork-config.h>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE

View File

@ -53,5 +53,6 @@
#include <QtNetwork/qtnetworkglobal.h> #include <QtNetwork/qtnetworkglobal.h>
#include <QtCore/private/qglobal_p.h> #include <QtCore/private/qglobal_p.h>
#include <QtNetwork/private/qtnetwork-config_p.h>
#endif // QTNETWORKGLOBAL_P_H #endif // QTNETWORKGLOBAL_P_H

View File

@ -111,7 +111,7 @@
\value EmailAddress The email address associated with the certificate \value EmailAddress The email address associated with the certificate
*/ */
#include <QtCore/qglobal.h> #include <QtNetwork/qtnetworkglobal.h>
#ifndef QT_NO_OPENSSL #ifndef QT_NO_OPENSSL
#include "qsslsocket_openssl_symbols_p.h" #include "qsslsocket_openssl_symbols_p.h"
#endif #endif

View File

@ -51,6 +51,7 @@
// We mean it. // We mean it.
// //
#include <QtGui/private/qtguiglobal_p.h>
#include <QObject> #include <QObject>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE

View File

@ -51,6 +51,7 @@
// We mean it. // We mean it.
// //
#include <QtGui/private/qtguiglobal_p.h>
#include <QObject> #include <QObject>
#include <QString> #include <QString>
#include <QList> #include <QList>

View File

@ -1,4 +1,5 @@
TEMPLATE = subdirs TEMPLATE = subdirs
QT_FOR_CONFIG += network-private
!android:linux*:qtHaveModule(dbus) { !android:linux*:qtHaveModule(dbus) {
SUBDIRS += generic SUBDIRS += generic

View File

@ -1,4 +1,5 @@
TEMPLATE = subdirs TEMPLATE = subdirs
QT_FOR_CONFIG += gui-private
load(qfeatures) load(qfeatures)

View File

@ -1,4 +1,5 @@
TEMPLATE = subdirs TEMPLATE = subdirs
QT_FOR_CONFIG += gui-private
qtConfig(ico): SUBDIRS += ico qtConfig(ico): SUBDIRS += ico
qtConfig(jpeg): SUBDIRS += jpeg qtConfig(jpeg): SUBDIRS += jpeg

View File

@ -1,4 +1,5 @@
TEMPLATE = subdirs TEMPLATE = subdirs
QT_FOR_CONFIG += gui-private
qtHaveModule(dbus) { qtHaveModule(dbus) {
!mac:!win32:SUBDIRS += ibus !mac:!win32:SUBDIRS += ibus

View File

@ -1,4 +1,5 @@
TEMPLATE = subdirs TEMPLATE = subdirs
QT_FOR_CONFIG += gui-private
qtConfig(egl_x11): SUBDIRS += eglfs_x11 qtConfig(egl_x11): SUBDIRS += eglfs_x11
qtConfig(eglfs_gbm): SUBDIRS += eglfs_kms_support eglfs_kms qtConfig(eglfs_gbm): SUBDIRS += eglfs_kms_support eglfs_kms

View File

@ -1,4 +1,5 @@
TEMPLATE = subdirs TEMPLATE = subdirs
QT_FOR_CONFIG += gui-private
android: SUBDIRS += android android: SUBDIRS += android

View File

@ -1,4 +1,5 @@
TEMPLATE = subdirs TEMPLATE = subdirs
QT_FOR_CONFIG += gui-private
qtConfig(egl):qtConfig(egl_x11):qtConfig(opengl) { qtConfig(egl):qtConfig(egl_x11):qtConfig(opengl) {
SUBDIRS += xcb_egl SUBDIRS += xcb_egl

View File

@ -43,6 +43,7 @@
#include <xcb/xcb.h> #include <xcb/xcb.h>
#include <xcb/randr.h> #include <xcb/randr.h>
#include <QtGui/private/qtguiglobal_p.h>
#include "qxcbexport.h" #include "qxcbexport.h"
#include <QHash> #include <QHash>
#include <QList> #include <QList>

View File

@ -1,5 +1,6 @@
TEMPLATE = subdirs TEMPLATE = subdirs
CONFIG += ordered CONFIG += ordered
QT_FOR_CONFIG += gui-private
!qtConfig(system-xcb): SUBDIRS += xcb-static !qtConfig(system-xcb): SUBDIRS += xcb-static

View File

@ -1,3 +1,4 @@
TEMPLATE = subdirs TEMPLATE = subdirs
QT_FOR_CONFIG += widgets-private
qtConfig(gtk3): SUBDIRS += gtk3 qtHaveModule(widgets):qtConfig(gtk3): SUBDIRS += gtk3

View File

@ -1,5 +1,5 @@
QT += printsupport
TEMPLATE = subdirs TEMPLATE = subdirs
QT_FOR_CONFIG += printsupport-private
osx: SUBDIRS += cocoa osx: SUBDIRS += cocoa
win32: SUBDIRS += windows win32: SUBDIRS += windows

View File

@ -1,4 +1,5 @@
TEMPLATE = subdirs TEMPLATE = subdirs
QT_FOR_CONFIG += sql
qtConfig(sql-psql) : SUBDIRS += psql qtConfig(sql-psql) : SUBDIRS += psql
qtConfig(sql-mysql) : SUBDIRS += mysql qtConfig(sql-mysql) : SUBDIRS += mysql

View File

@ -0,0 +1,42 @@
{
"module": "printsupport",
"depends": [
"core",
"gui",
"widgets"
],
"testDir": "../../config.tests",
"commandline": {
"options": {
"cups": "boolean"
}
},
"libraries": {
"cups": {
"description": "CUPS",
"test": "unix/cups",
"sources": [
"-lcups"
]
}
},
"features": {
"cups": {
"description": "CUPS",
"condition": "libs.cups",
"output": [ "privateFeature", "feature" ]
}
},
"summary": [
{
"section": "Qt PrintSupport",
"entries": [
"cups"
]
}
]
}

View File

@ -41,6 +41,7 @@
#define QTPRINTSUPPORTGLOBAL_H #define QTPRINTSUPPORTGLOBAL_H
#include <QtWidgets/qtwidgetsglobal.h> #include <QtWidgets/qtwidgetsglobal.h>
#include <QtPrintSupport/qtprintsupport-config.h>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE

201
src/sql/configure.json Normal file
View File

@ -0,0 +1,201 @@
{
"module": "sql",
"depends": [
"core"
],
"testDir": "../../config.tests",
"commandline": {
"assignments": {
"MYSQL_PATH": "mysql.prefix",
"PSQL_LIBS": "psql.libs",
"SYBASE": "tds.prefix",
"SYBASE_LIBS": "tds.libs"
},
"options": {
"mysql_config": "string",
"psql_config": "string",
"sqlite": { "type": "enum", "name": "system-sqlite", "values": { "qt": "no", "system": "yes" } },
"sql-db2": "boolean",
"sql-ibase": "boolean",
"sql-mysql": "boolean",
"sql-oci": "boolean",
"sql-odbc": "boolean",
"sql-psql": "boolean",
"sql-sqlite": "boolean",
"sql-sqlite2": "boolean",
"sql-tds": "boolean",
"plugin-sql-db2": { "type": "void", "name": "sql-db2" },
"plugin-sql-ibase": { "type": "void", "name": "sql-ibase" },
"plugin-sql-mysql": { "type": "void", "name": "sql-mysql" },
"plugin-sql-oci": { "type": "void", "name": "sql-oci" },
"plugin-sql-odbc": { "type": "void", "name": "sql-odbc" },
"plugin-sql-psql": { "type": "void", "name": "sql-psql" },
"plugin-sql-sqlite": { "type": "void", "name": "sql-sqlite" },
"plugin-sql-sqlite2": { "type": "void", "name": "sql-sqlite2" },
"plugin-sql-tds": { "type": "void", "name": "sql-tds" }
}
},
"libraries": {
"db2": {
"description": "DB2 (IBM)",
"test": "unix/db2",
"sources": [
{ "libs": "-ldb2cli", "condition": "config.win32" },
{ "libs": "-ldb2", "condition": "!config.win32" }
]
},
"ibase": {
"description": "InterBase",
"test": "unix/ibase",
"sources": [
{ "libs": "-lgds32_ms", "condition": "config.win32" },
{ "libs": "-lgds", "condition": "!config.win32" }
]
},
"mysql": {
"description": "MySQL",
"test": "unix/mysql",
"sources": [
{ "type": "mysqlConfig", "query": "--libs_r" },
{ "type": "mysqlConfig", "query": "--libs" },
{ "libs": "-lmysqlclient_r", "condition": "!config.win32" },
{ "libs": "-llibmysql", "condition": "config.win32" },
{ "libs": "-lmysqlclient", "condition": "!config.win32" }
]
},
"psql": {
"description": "PostgreSQL",
"test": "unix/psql",
"sources": [
{ "type": "psqlConfig" },
{ "type": "psqlEnv", "libs": "-llibpq -lws2_32 -ladvapi32", "condition": "config.win32" },
{ "type": "psqlEnv", "libs": "-lpq", "condition": "!config.win32" }
]
},
"tds": {
"description": "TDS (Sybase)",
"test": "unix/tds",
"sources": [
{ "type": "sybaseEnv", "libs": "-lNTWDBLIB", "condition": "config.win32" },
{ "type": "sybaseEnv", "libs": "-lsybdb", "condition": "!config.win32" }
]
},
"oci": {
"description": "OCI (Oracle)",
"test": "unix/oci",
"sources": [
{ "libs": "-loci", "condition": "config.win32" },
{ "libs": "-lclntsh", "condition": "!config.win32" }
]
},
"odbc": {
"description": "ODBC",
"test": "unix/odbc",
"sources": [
{ "libs": "-lodbc32", "condition": "config.win32" },
{ "libs": "-liodbc", "condition": "config.darwin" },
{ "libs": "-lodbc", "condition": "!config.win32 && !config.darwin" }
]
},
"sqlite2": {
"description": "SQLite (version 2)",
"test": "unix/sqlite2",
"sources": [
"-lsqlite"
]
},
"sqlite3": {
"description": "SQLite (version 3)",
"export": "sqlite",
"test": "unix/sqlite",
"sources": [
{ "type": "pkgConfig", "args": "sqlite3" },
{ "libs": "-lsqlite3", "condition": "config.win32" },
{ "libs": "-lsqlite3 -lz", "condition": "!config.win32" }
]
}
},
"tests": {
},
"features": {
"sql-db2": {
"description": "DB2 (IBM)",
"condition": "libs.db2",
"output": [ "publicFeature" ]
},
"sql-ibase": {
"description": "InterBase",
"condition": "libs.ibase",
"output": [ "publicFeature" ]
},
"sql-mysql": {
"description": "MySql",
"condition": "libs.mysql",
"output": [ "publicFeature" ]
},
"use_libmysqlclient_r": {
"description": "MySql (threadsafe)",
"condition": "features.sql-mysql && (libs.mysql.source == 0 || libs.mysql.source == 2)",
"output": [ "privateConfig" ]
},
"sql-oci": {
"description": "OCI (Oracle)",
"condition": "libs.oci",
"output": [ "publicFeature" ]
},
"sql-odbc": {
"description": "ODBC",
"condition": "libs.odbc",
"output": [ "publicFeature" ]
},
"sql-psql": {
"description": "PostgreSQL",
"condition": "libs.psql",
"output": [ "publicFeature" ]
},
"sql-sqlite2": {
"description": "SQLite2",
"condition": "libs.sqlite2",
"output": [ "publicFeature" ]
},
"sql-sqlite": {
"description": "SQLite",
"output": [ "publicFeature" ]
},
"system-sqlite": {
"description": " Using system provided SQLite",
"autoDetect": false,
"condition": "features.sql-sqlite && libs.sqlite3",
"output": [ "publicQtConfig" ]
},
"sql-tds": {
"description": "TDS (Sybase)",
"condition": "libs.tds",
"output": [ "publicFeature" ]
}
},
"report": [
{
"type": "warning",
"condition": "config.win32 && !config.msvc && features.sql-oci",
"message": "Qt does not support compiling the Oracle database driver with
MinGW, due to lack of such support from Oracle. Consider disabling the
Oracle driver, as the current build will most likely fail."
}
],
"summary": [
{
"section": "Qt Sql",
"entries": [
"sql-db2", "sql-ibase", "sql-mysql", "sql-oci", "sql-odbc", "sql-psql",
"sql-sqlite2", "sql-sqlite", "system-sqlite", "sql-tds"
]
}
]
}

89
src/sql/configure.pri Normal file
View File

@ -0,0 +1,89 @@
# custom tests
defineReplace(filterLibraryPath) {
str = $${1}
for (l, QMAKE_DEFAULT_LIBDIRS): \
str -= "-L$$l"
return($$str)
}
defineTest(qtConfLibrary_psqlConfig) {
pg_config = $$config.input.psql_config
isEmpty(pg_config): \
pg_config = $$qtConfFindInPath("pg_config")
!win32:!isEmpty(pg_config) {
qtRunLoggedCommand("$$pg_config --libdir", libdir)|return(false)
qtRunLoggedCommand("$$pg_config --includedir", includedir)|return(false)
libdir -= $$QMAKE_DEFAULT_LIBDIRS
libs =
!isEmpty(libdir): libs += "-L$$libdir"
libs += "-lpq"
$${1}.libs = "$$val_escape(libs)"
includedir -= $$QMAKE_DEFAULT_INCDIRS
$${1}.includedir = "$$val_escape(includedir)"
!isEmpty(includedir): \
$${1}.cflags = "-I$$val_escape(includedir)"
export($${1}.libs)
export($${1}.includedir)
export($${1}.cflags)
return(true)
}
return(false)
}
defineTest(qtConfLibrary_psqlEnv) {
# Respect PSQL_LIBS if set
PSQL_LIBS = $$getenv(PSQL_LIBS)
!isEmpty(PSQL_LIBS) {
$${1}.libs = $$PSQL_LIBS
export($${1}.libs)
}
return(true)
}
defineTest(qtConfLibrary_mysqlConfig) {
mysql_config = $$config.input.mysql_config
isEmpty(mysql_config): \
mysql_config = $$qtConfFindInPath("mysql_config")
!isEmpty(mysql_config) {
qtRunLoggedCommand("$$mysql_config --version", version)|return(false)
version = $$split(version, '.')
version = $$first(version)
isEmpty(version)|lessThan(version, 4): return(false)]
# query is either --libs or --libs_r
query = $$eval($${1}.query)
qtRunLoggedCommand("$$mysql_config $$query", libs)|return(false)
qtRunLoggedCommand("$$mysql_config --include", includedir)|return(false)
eval(libs = $$libs)
libs = $$filterLibraryPath($$libs)
# -rdynamic should not be returned by mysql_config, but is on RHEL 6.6
libs -= -rdynamic
$${1}.libs = "$$val_escape(libs)"
eval(includedir = $$includedir)
includedir ~= s/^-I//g
includedir -= $$QMAKE_DEFAULT_INCDIRS
$${1}.includedir = "$$val_escape(includedir)"
!isEmpty(includedir): \
$${1}.cflags = "-I$$val_escape(includedir)"
export($${1}.libs)
export($${1}.includedir)
export($${1}.cflags)
return(true)
}
return(false)
}
defineTest(qtConfLibrary_sybaseEnv) {
libs =
sybase = $$getenv(SYBASE)
!isEmpty(sybase): \
libs += "-L$${sybase}/lib"
libs += $$getenv(SYBASE_LIBS)
!isEmpty(libs) {
$${1}.libs = "$$val_escape(libs)"
export($${1}.libs)
}
return(true)
}

View File

@ -1,5 +1,9 @@
TEMPLATE = subdirs TEMPLATE = subdirs
QT_FOR_CONFIG += gui-private
include($$OUT_PWD/corelib/qtcore-config.pri)
include($$OUT_PWD/gui/qtgui-config.pri)
src_qtzlib.file = $$PWD/corelib/qtzlib.pro src_qtzlib.file = $$PWD/corelib/qtzlib.pro
src_qtzlib.target = sub-zlib src_qtzlib.target = sub-zlib

View File

@ -0,0 +1,97 @@
{
"module": "widgets",
"depends": [
"core-private",
"gui"
],
"testDir": "../../config.tests",
"commandline": {
"options": {
"android-style-assets": "boolean",
"gtk": { "type": "boolean", "name": "gtk3" },
"style-windows": "boolean",
"style-windowsxp": "boolean",
"style-windowsvista": "boolean",
"style-fusion": "boolean",
"style-mac": "boolean",
"style-android": "boolean"
}
},
"libraries": {
"gtk3": {
"description": "GTK+",
"sources": [
{ "type": "pkgConfig", "args": "gtk+-3.0" }
]
}
},
"tests": {
"uxtheme": {
"description": "uxtheme.h",
"type": "files",
"files": [ "uxtheme.h" ]
}
},
"features": {
"gtk3": {
"description": "GTK+",
"autoDetect": "!config.darwin",
"condition": "features.glib && libs.gtk3",
"output": [ "privateFeature" ]
},
"style-fusion": {
"description": "Fusion Style",
"output": [ "styles" ]
},
"style-mac": {
"description": "Mac Style",
"condition": "config.osx",
"output": [ "styles" ]
},
"style-windows": {
"description": "Windows Style",
"output": [ "styles" ]
},
"style-windowsxp": {
"description": "Windows XP Style",
"condition": "features.style-windows && config.win32 && !config.winrt && tests.uxtheme",
"output": [ "styles" ]
},
"style-windowsvista": {
"description": "Windows Vista Style",
"condition": "features.style-windowsxp",
"output": [ "styles" ]
},
"style-android": {
"description": "Android Style",
"autoDetect": "config.android",
"output": [ "styles" ]
},
"android-style-assets": {
"description": "Android Style Assets",
"condition": "features.style-android",
"output": [ "privateConfig" ]
}
},
"report": [
],
"summary": [
{
"section": "Qt Widgets",
"entries": [
"gtk3",
{
"message": "Styles",
"type": "featureList",
"args": "style-fusion style-mac style-windows style-windowsxp style-windowsvista style-android"
}
]
}
]
}

View File

@ -0,0 +1,8 @@
# custom outputs
defineTest(qtConfOutput_styles) {
!$${2}: return()
style = $$replace($${1}.feature, "style-", "")
qtConfOutputVar(append, "privatePro", "styles", $$style)
}

View File

@ -41,6 +41,7 @@
#define QTWIDGETSGLOBAL_H #define QTWIDGETSGLOBAL_H
#include <QtGui/qtguiglobal.h> #include <QtGui/qtguiglobal.h>
#include <QtWidgets/qtwidgets-config.h>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE

View File

@ -53,5 +53,6 @@
#include <QtWidgets/qtwidgetsglobal.h> #include <QtWidgets/qtwidgetsglobal.h>
#include <QtGui/private/qtguiglobal_p.h> #include <QtGui/private/qtguiglobal_p.h>
#include <QtWidgets/private/qtwidgets-config_p.h>
#endif // QTWIDGETSGLOBAL_P_H #endif // QTWIDGETSGLOBAL_P_H

View File

@ -35,6 +35,8 @@ SOURCES += \
RESOURCES += styles/qstyle.qrc RESOURCES += styles/qstyle.qrc
include($$OUT_PWD/qtwidgets-config.pri)
contains( styles, mac ) { contains( styles, mac ) {
HEADERS += \ HEADERS += \
styles/qmacstyle_mac_p.h \ styles/qmacstyle_mac_p.h \

View File

@ -1,5 +1,5 @@
TARGET = tst_json TARGET = tst_json
QT = core testlib QT = core-private testlib
CONFIG -= app_bundle CONFIG -= app_bundle
CONFIG += testcase CONFIG += testcase

View File

@ -1,6 +1,6 @@
CONFIG += testcase CONFIG += testcase
TARGET = tst_qcollator TARGET = tst_qcollator
QT = core testlib QT = core-private testlib
SOURCES = tst_qcollator.cpp SOURCES = tst_qcollator.cpp
DEFINES += QT_NO_CAST_TO_ASCII DEFINES += QT_NO_CAST_TO_ASCII
qtConfig(icu): DEFINES += QT_USE_ICU qtConfig(icu): DEFINES += QT_USE_ICU

View File

@ -1,6 +1,6 @@
CONFIG += testcase CONFIG += testcase
TARGET = tst_qstring TARGET = tst_qstring
QT = core testlib QT = core-private testlib
SOURCES = tst_qstring.cpp SOURCES = tst_qstring.cpp
DEFINES += QT_NO_CAST_TO_ASCII DEFINES += QT_NO_CAST_TO_ASCII
qtConfig(icu): DEFINES += QT_USE_ICU qtConfig(icu): DEFINES += QT_USE_ICU

View File

@ -1,6 +1,7 @@
CONFIG += testcase CONFIG += testcase
TARGET = tst_qmovie TARGET = tst_qmovie
QT += testlib QT += testlib
QT_FOR_CONFIG += gui-private
qtHaveModule(widgets): QT += widgets qtHaveModule(widgets): QT += widgets
SOURCES += tst_qmovie.cpp SOURCES += tst_qmovie.cpp
MOC_DIR=tmp MOC_DIR=tmp

View File

@ -5,6 +5,7 @@ SOURCES += ../tst_qnetworkreply.cpp
TARGET = ../tst_qnetworkreply TARGET = ../tst_qnetworkreply
QT = core-private network-private testlib QT = core-private network-private testlib
QT_FOR_CONFIG += gui-private
RESOURCES += ../qnetworkreply.qrc RESOURCES += ../qnetworkreply.qrc
TESTDATA += ../empty ../rfc3252.txt ../resource ../bigfile ../*.jpg ../certs \ TESTDATA += ../empty ../rfc3252.txt ../resource ../bigfile ../*.jpg ../certs \

View File

@ -1,4 +1,6 @@
TEMPLATE=subdirs TEMPLATE=subdirs
QT_FOR_CONFIG += network
SUBDIRS=\ SUBDIRS=\
qhttpsocketengine \ qhttpsocketengine \
qudpsocket \ qudpsocket \

View File

@ -1,4 +1,6 @@
TEMPLATE=subdirs TEMPLATE=subdirs
QT_FOR_CONFIG += network
SUBDIRS=\ SUBDIRS=\
qsslcertificate \ qsslcertificate \
qsslcipher \ qsslcipher \

View File

@ -1,4 +1,6 @@
TEMPLATE=subdirs TEMPLATE=subdirs
QT_FOR_CONFIG += gui-private
SUBDIRS=\ SUBDIRS=\
# atwrapper \ # QTBUG-19452 # atwrapper \ # QTBUG-19452
compiler \ compiler \

View File

@ -1,6 +1,7 @@
TEMPLATE = app TEMPLATE = app
TARGET = tst_bench_imageConversion TARGET = tst_bench_imageConversion
QT += testlib QT += testlib
QT_FOR_CONFIG += gui-private
SOURCES += tst_qimageconversion.cpp SOURCES += tst_qimageconversion.cpp
qtConfig(gif): DEFINES += QTEST_HAVE_GIF qtConfig(gif): DEFINES += QTEST_HAVE_GIF

View File

@ -1,4 +1,5 @@
QT += testlib QT += testlib
QT_FOR_CONFIG += gui-private
TEMPLATE = app TEMPLATE = app
TARGET = tst_bench_qimagereader TARGET = tst_bench_qimagereader

View File

@ -1,4 +1,6 @@
TEMPLATE = subdirs TEMPLATE = subdirs
QT_FOR_CONFIG += network-private
SUBDIRS = \ SUBDIRS = \
access \ access \
kernel \ kernel \