Remove old configure-related files
Remove the configure.json and configure.pri files that were used for the qmake-based configure. Remove the .prev_*.cmake files that were a by-product of configurejson2cmake.py. Pick-to: 6.2 Task-number: QTBUG-89536 Change-Id: Ie827562f7fd2513d59f69234d77b8b93124ea78e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
parent
ea7d87b5b5
commit
7155e4f620
File diff suppressed because it is too large
Load Diff
@ -1,128 +0,0 @@
|
||||
qt_commandline_subconfig(src/corelib)
|
||||
qt_commandline_subconfig(src/network)
|
||||
qt_commandline_subconfig(src/gui)
|
||||
qt_commandline_subconfig(src/sql)
|
||||
qt_commandline_subconfig(src/xml)
|
||||
qt_commandline_subconfig(src/widgets)
|
||||
qt_commandline_subconfig(src/printsupport)
|
||||
qt_commandline_subconfig(src/plugins/sqldrivers)
|
||||
qt_commandline_subconfig(src/testlib)
|
||||
qt_commandline_custom(qmakeArgs)
|
||||
qt_commandline_option(prefix TYPE string)
|
||||
qt_commandline_option(hostprefix TYPE optionalString)
|
||||
qt_commandline_option(extprefix TYPE string)
|
||||
qt_commandline_option(archdatadir TYPE string)
|
||||
qt_commandline_option(bindir TYPE string)
|
||||
qt_commandline_option(datadir TYPE string)
|
||||
qt_commandline_option(docdir TYPE string)
|
||||
qt_commandline_option(examplesdir TYPE string)
|
||||
qt_commandline_option(external-hostbindir TYPE string)
|
||||
qt_commandline_option(headerdir TYPE string)
|
||||
qt_commandline_option(hostbindir TYPE string)
|
||||
qt_commandline_option(hostdatadir TYPE string)
|
||||
qt_commandline_option(hostlibdir TYPE string)
|
||||
qt_commandline_option(libdir TYPE string)
|
||||
qt_commandline_option(libexecdir TYPE string)
|
||||
qt_commandline_option(plugindir TYPE string)
|
||||
qt_commandline_option(qmldir TYPE string)
|
||||
qt_commandline_option(settingsdir TYPE string NAME sysconfdir)
|
||||
qt_commandline_option(sysconfdir TYPE string)
|
||||
qt_commandline_option(testsdir TYPE string)
|
||||
qt_commandline_option(translationdir TYPE string)
|
||||
qt_commandline_option(android-arch TYPE string)
|
||||
qt_commandline_option(android-abis TYPE string)
|
||||
qt_commandline_option(android-ndk TYPE string)
|
||||
qt_commandline_option(android-ndk-host TYPE string)
|
||||
qt_commandline_option(android-ndk-platform TYPE string)
|
||||
qt_commandline_option(android-sdk TYPE string)
|
||||
qt_commandline_option(android-javac-target TYPE string)
|
||||
qt_commandline_option(android-javac-source TYPE string)
|
||||
qt_commandline_option(android-style-assets TYPE boolean)
|
||||
qt_commandline_option(appstore-compliant TYPE boolean)
|
||||
qt_commandline_option(avx TYPE boolean)
|
||||
qt_commandline_option(avx2 TYPE boolean)
|
||||
qt_commandline_option(avx512 TYPE boolean NAME avx512f)
|
||||
qt_commandline_option(c++std TYPE cxxstd)
|
||||
qt_commandline_option(ccache TYPE boolean NAME ccache)
|
||||
qt_commandline_option(commercial TYPE void)
|
||||
qt_commandline_option(confirm-license TYPE void)
|
||||
qt_commandline_option(coverage TYPE coverage)
|
||||
qt_commandline_option(dbus TYPE optionalString VALUES no yes linked runtime)
|
||||
qt_commandline_option(dbus-linked TYPE void NAME dbus VALUE linked)
|
||||
qt_commandline_option(dbus-runtime TYPE void NAME dbus VALUE runtime)
|
||||
qt_commandline_option(debug TYPE void)
|
||||
qt_commandline_option(debug-and-release TYPE boolean NAME debug_and_release)
|
||||
qt_commandline_option(developer-build TYPE void)
|
||||
qt_commandline_option(device TYPE string)
|
||||
qt_commandline_option(device-option TYPE addString)
|
||||
qt_commandline_option(f16c TYPE boolean)
|
||||
qt_commandline_option(force-asserts TYPE boolean NAME force_asserts)
|
||||
qt_commandline_option(force-debug-info TYPE boolean NAME force_debug_info)
|
||||
qt_commandline_option(force-pkg-config TYPE void NAME pkg-config)
|
||||
qt_commandline_option(framework TYPE boolean)
|
||||
qt_commandline_option(gc-binaries TYPE boolean NAME gc_binaries)
|
||||
qt_commandline_option(gdb-index TYPE boolean NAME enable_gdb_index)
|
||||
qt_commandline_option(gcc-sysroot TYPE boolean)
|
||||
qt_commandline_option(gcov TYPE boolean)
|
||||
qt_commandline_option(gnumake TYPE boolean NAME GNUmake)
|
||||
qt_commandline_option(gui TYPE boolean)
|
||||
qt_commandline_option(headersclean TYPE boolean)
|
||||
qt_commandline_option(incredibuild-xge TYPE boolean NAME incredibuild_xge)
|
||||
qt_commandline_option(libudev TYPE boolean)
|
||||
qt_commandline_option(linker TYPE optionalString VALUES bfd gold lld)
|
||||
qt_commandline_option(ltcg TYPE boolean)
|
||||
qt_commandline_option(make TYPE addString VALUES examples libs tests tools)
|
||||
qt_commandline_option(make-tool TYPE string)
|
||||
qt_commandline_option(mips_dsp TYPE boolean)
|
||||
qt_commandline_option(mips_dspr2 TYPE boolean)
|
||||
qt_commandline_option(mp TYPE boolean NAME msvc_mp)
|
||||
qt_commandline_option(nomake TYPE addString VALUES examples tests tools)
|
||||
qt_commandline_option(opensource TYPE void NAME commercial VALUE no)
|
||||
qt_commandline_option(optimize-debug TYPE boolean NAME optimize_debug)
|
||||
qt_commandline_option(optimize-size TYPE boolean NAME optimize_size)
|
||||
qt_commandline_option(optimized-qmake TYPE boolean NAME release_tools)
|
||||
qt_commandline_option(optimized-tools TYPE boolean NAME release_tools)
|
||||
qt_commandline_option(pch TYPE boolean NAME precompile_header)
|
||||
qt_commandline_option(pkg-config TYPE boolean)
|
||||
qt_commandline_option(platform TYPE string)
|
||||
qt_commandline_option(plugin-manifests TYPE boolean)
|
||||
qt_commandline_option(profile TYPE boolean)
|
||||
qt_commandline_option(qreal TYPE string)
|
||||
qt_commandline_option(qtlibinfix TYPE string NAME qt_libinfix)
|
||||
qt_commandline_option(qtnamespace TYPE string NAME qt_namespace)
|
||||
qt_commandline_option(reduce-exports TYPE boolean NAME reduce_exports)
|
||||
qt_commandline_option(reduce-relocations TYPE boolean NAME reduce_relocations)
|
||||
qt_commandline_option(release TYPE enum NAME debug MAPPING yes no no yes)
|
||||
qt_commandline_option(rpath TYPE boolean)
|
||||
qt_commandline_option(sanitize TYPE sanitize)
|
||||
qt_commandline_option(sdk TYPE string)
|
||||
qt_commandline_option(separate-debug-info TYPE boolean NAME separate_debug_info)
|
||||
qt_commandline_option(shared TYPE boolean)
|
||||
qt_commandline_option(silent TYPE void)
|
||||
qt_commandline_option(qdbus TYPE boolean NAME dbus)
|
||||
qt_commandline_option(sse2 TYPE boolean)
|
||||
qt_commandline_option(sse3 TYPE boolean)
|
||||
qt_commandline_option(sse4.1 TYPE boolean NAME sse4_1)
|
||||
qt_commandline_option(sse4.2 TYPE boolean NAME sse4_2)
|
||||
qt_commandline_option(ssse3 TYPE boolean)
|
||||
qt_commandline_option(static TYPE enum NAME shared MAPPING yes no no yes)
|
||||
qt_commandline_option(static-runtime TYPE boolean NAME static_runtime)
|
||||
qt_commandline_option(strip TYPE boolean)
|
||||
qt_commandline_option(syncqt TYPE boolean)
|
||||
qt_commandline_option(sysroot TYPE string)
|
||||
qt_commandline_option(testcocoon TYPE boolean)
|
||||
qt_commandline_option(use-gold-linker TYPE boolean NAME use_gold_linker_alias)
|
||||
qt_commandline_option(warnings-are-errors TYPE boolean NAME warnings_are_errors)
|
||||
qt_commandline_option(Werror TYPE boolean NAME warnings_are_errors)
|
||||
qt_commandline_option(widgets TYPE boolean)
|
||||
qt_commandline_option(xplatform TYPE string)
|
||||
qt_commandline_option(zlib TYPE enum NAME system-zlib MAPPING system yes qt no)
|
||||
qt_commandline_option(zstd TYPE boolean)
|
||||
qt_commandline_prefix(D defines)
|
||||
qt_commandline_prefix(F fpaths)
|
||||
qt_commandline_prefix(I includes)
|
||||
qt_commandline_prefix(L lpaths)
|
||||
qt_commandline_prefix(R rpaths)
|
||||
qt_commandline_prefix(W wflags)
|
||||
qt_commandline_assignment(DBUS_HOST_PATH host_dbus.prefix)
|
||||
qt_commandline_assignment(DBUS_PATH dbus.prefix)
|
1704
configure.json
1704
configure.json
File diff suppressed because it is too large
Load Diff
@ -1,991 +0,0 @@
|
||||
|
||||
|
||||
#### Inputs
|
||||
|
||||
# input doubleconversion
|
||||
set(INPUT_doubleconversion "undefined" CACHE STRING "")
|
||||
set_property(CACHE INPUT_doubleconversion PROPERTY STRINGS undefined no qt system)
|
||||
|
||||
# input libb2
|
||||
set(INPUT_libb2 "undefined" CACHE STRING "")
|
||||
set_property(CACHE INPUT_libb2 PROPERTY STRINGS undefined no qt system)
|
||||
|
||||
|
||||
|
||||
#### Libraries
|
||||
|
||||
if((UNIX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
|
||||
qt_find_package(WrapBacktrace PROVIDED_TARGETS WrapBacktrace::WrapBacktrace MODULE_NAME core QMAKE_LIB backtrace)
|
||||
endif()
|
||||
qt_find_package(WrapDoubleConversion PROVIDED_TARGETS WrapDoubleConversion::WrapDoubleConversion MODULE_NAME core QMAKE_LIB doubleconversion)
|
||||
qt_find_package(GLIB2 PROVIDED_TARGETS GLIB2::GLIB2 MODULE_NAME core QMAKE_LIB glib)
|
||||
qt_find_package(ICU COMPONENTS i18n uc data PROVIDED_TARGETS ICU::i18n ICU::uc ICU::data MODULE_NAME core QMAKE_LIB icu)
|
||||
if(QT_FEATURE_dlopen)
|
||||
qt_add_qmake_lib_dependency(icu libdl)
|
||||
endif()
|
||||
qt_find_package(Libsystemd PROVIDED_TARGETS PkgConfig::Libsystemd MODULE_NAME core QMAKE_LIB journald)
|
||||
qt_find_package(WrapAtomic PROVIDED_TARGETS WrapAtomic::WrapAtomic MODULE_NAME core QMAKE_LIB libatomic)
|
||||
qt_find_package(Libb2 PROVIDED_TARGETS Libb2::Libb2 MODULE_NAME core QMAKE_LIB libb2)
|
||||
qt_find_package(WrapRt PROVIDED_TARGETS WrapRt::WrapRt MODULE_NAME core QMAKE_LIB librt)
|
||||
qt_find_package(LTTngUST PROVIDED_TARGETS LTTng::UST MODULE_NAME core QMAKE_LIB lttng-ust)
|
||||
qt_add_qmake_lib_dependency(lttng-ust libdl)
|
||||
qt_find_package(WrapSystemPCRE2 10.20 PROVIDED_TARGETS WrapSystemPCRE2::WrapSystemPCRE2 MODULE_NAME core QMAKE_LIB pcre2)
|
||||
set_package_properties(WrapPCRE2 PROPERTIES TYPE REQUIRED)
|
||||
if((QNX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
|
||||
qt_find_package(PPS PROVIDED_TARGETS PPS::PPS MODULE_NAME core QMAKE_LIB pps)
|
||||
endif()
|
||||
qt_find_package(Slog2 PROVIDED_TARGETS Slog2::Slog2 MODULE_NAME core QMAKE_LIB slog2)
|
||||
|
||||
|
||||
#### Tests
|
||||
|
||||
# atomicfptr
|
||||
qt_config_compile_test(atomicfptr
|
||||
LABEL "working std::atomic for function pointers"
|
||||
CODE
|
||||
"#include <atomic>
|
||||
typedef void (*fptr)(int);
|
||||
typedef std::atomic<fptr> atomicfptr;
|
||||
void testfunction(int) { }
|
||||
void test(volatile atomicfptr &a)
|
||||
{
|
||||
fptr v = a.load(std::memory_order_acquire);
|
||||
while (!a.compare_exchange_strong(v, &testfunction,
|
||||
std::memory_order_acq_rel,
|
||||
std::memory_order_acquire)) {
|
||||
v = a.exchange(&testfunction);
|
||||
}
|
||||
a.store(&testfunction, std::memory_order_release);
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
atomicfptr fptr(testfunction);
|
||||
test(fptr);
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# clock-monotonic
|
||||
qt_config_compile_test(clock_monotonic
|
||||
LABEL "POSIX monotonic clock"
|
||||
LIBRARIES
|
||||
WrapRt::WrapRt
|
||||
CODE
|
||||
"#include <unistd.h>
|
||||
#include <time.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
#if defined(_POSIX_MONOTONIC_CLOCK) && (_POSIX_MONOTONIC_CLOCK-0 >= 0)
|
||||
timespec ts;
|
||||
clock_gettime(CLOCK_MONOTONIC, &ts);
|
||||
#else
|
||||
# error Feature _POSIX_MONOTONIC_CLOCK not available
|
||||
#endif
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# cloexec
|
||||
qt_config_compile_test(cloexec
|
||||
LABEL "O_CLOEXEC"
|
||||
CODE
|
||||
"#define _GNU_SOURCE 1
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
int pipes[2];
|
||||
(void) pipe2(pipes, O_CLOEXEC | O_NONBLOCK);
|
||||
(void) fcntl(0, F_DUPFD_CLOEXEC, 0);
|
||||
(void) dup3(0, 3, O_CLOEXEC);
|
||||
#if defined(__NetBSD__)
|
||||
(void) paccept(0, 0, 0, NULL, SOCK_CLOEXEC | SOCK_NONBLOCK);
|
||||
#else
|
||||
(void) accept4(0, 0, 0, SOCK_CLOEXEC | SOCK_NONBLOCK);
|
||||
#endif
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# cxx11_future
|
||||
qt_config_compile_test(cxx11_future
|
||||
LABEL "C++11 <future>"
|
||||
CODE
|
||||
"#include <future>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
std::future<int> f = std::async([]() { return 42; });
|
||||
(void)f.get();
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
"# FIXME: qmake: unix:!android:LIBS += -lpthread
|
||||
)
|
||||
|
||||
# cxx11_random
|
||||
qt_config_compile_test(cxx11_random
|
||||
LABEL "C++11 <random>"
|
||||
CODE
|
||||
"#include <random>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
std::mt19937 mt(0);
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# cxx17_bm_searcher
|
||||
qt_config_compile_test(cxx17_bm_searcher
|
||||
LABEL "C++17 boyer_moore_searcher"
|
||||
CODE
|
||||
"#include <algorithm>
|
||||
#include <functional>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
const char haystack[] = \"hello\";
|
||||
const char needle[] = \"e\";
|
||||
const auto it =
|
||||
std::search(haystack + 0, haystack + std::size(haystack),
|
||||
std::boyer_moore_searcher(needle + 0, needle + std::size(needle)));
|
||||
(void)it;
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
"# FIXME: qmake: CONFIG += c++17
|
||||
)
|
||||
|
||||
# cxx17_filesystem
|
||||
qt_config_compile_test(cxx17_filesystem
|
||||
LABEL "C++17 <filesystem>"
|
||||
CODE
|
||||
"#include <filesystem>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
std::filesystem::copy(
|
||||
std::filesystem::path(\"./file\"),
|
||||
std::filesystem::path(\"./other\"));
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
"# FIXME: qmake: CONFIG += c++17
|
||||
)
|
||||
|
||||
# eventfd
|
||||
qt_config_compile_test(eventfd
|
||||
LABEL "eventfd"
|
||||
CODE
|
||||
"#include <sys/eventfd.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
eventfd_t value;
|
||||
int fd = eventfd(0, EFD_CLOEXEC);
|
||||
eventfd_read(fd, &value);
|
||||
eventfd_write(fd, value);
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# futimens
|
||||
qt_config_compile_test(futimens
|
||||
LABEL "futimens()"
|
||||
CODE
|
||||
"#include <sys/stat.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
futimens(-1, 0);
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
"# FIXME: qmake: ["# Block futimens() on Apple platforms unless it's available on ALL", '# deployment targets. This simplifies the logic at the call site', "# dramatically, as it isn't strictly needed compared to futimes().", 'darwin: QMAKE_CXXFLAGS += -Werror=unguarded-availability -Werror=unguarded-availability-new', 'CONFIG += warn_on']
|
||||
)
|
||||
|
||||
# futimes
|
||||
qt_config_compile_test(futimes
|
||||
LABEL "futimes()"
|
||||
CODE
|
||||
"#include <sys/time.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
futimes(-1, 0);
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# getauxval
|
||||
qt_config_compile_test(getauxval
|
||||
LABEL "getauxval()"
|
||||
CODE
|
||||
"#include <sys/auxv.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
(void) getauxval(AT_NULL);
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# getentropy
|
||||
qt_config_compile_test(getentropy
|
||||
LABEL "getentropy()"
|
||||
CODE
|
||||
"#include <unistd.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
char buf[32];
|
||||
(void) getentropy(buf, sizeof(buf));
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# glibc
|
||||
qt_config_compile_test(glibc
|
||||
LABEL "GNU libc"
|
||||
CODE
|
||||
"#include <stdlib.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
return __GLIBC__;
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# inotify
|
||||
qt_config_compile_test(inotify
|
||||
LABEL "inotify"
|
||||
CODE
|
||||
"#include <sys/inotify.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
inotify_init();
|
||||
inotify_add_watch(0, \"foobar\", IN_ACCESS);
|
||||
inotify_rm_watch(0, 1);
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# ipc_sysv
|
||||
qt_config_compile_test(ipc_sysv
|
||||
LABEL "SysV IPC"
|
||||
CODE
|
||||
"#include <sys/types.h>
|
||||
#include <sys/ipc.h>
|
||||
#include <sys/sem.h>
|
||||
#include <sys/shm.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
key_t unix_key = ftok(\"test\", 'Q');
|
||||
semctl(semget(unix_key, 1, 0666 | IPC_CREAT | IPC_EXCL), 0, IPC_RMID, 0);
|
||||
shmget(unix_key, 0, 0666 | IPC_CREAT | IPC_EXCL);
|
||||
shmctl(0, 0, (struct shmid_ds *)(0));
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# ipc_posix
|
||||
if (LINUX)
|
||||
set(ipc_posix_TEST_LIBRARIES pthread rt)
|
||||
endif()
|
||||
qt_config_compile_test(ipc_posix
|
||||
LABEL "POSIX IPC"
|
||||
LIBRARIES
|
||||
"${ipc_posix_TEST_LIBRARIES}"
|
||||
CODE
|
||||
"#include <sys/types.h>
|
||||
#include <sys/mman.h>
|
||||
#include <semaphore.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
sem_close(sem_open(\"test\", O_CREAT | O_EXCL, 0666, 0));
|
||||
shm_open(\"test\", O_RDWR | O_CREAT | O_EXCL, 0666);
|
||||
shm_unlink(\"test\");
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# linkat
|
||||
qt_config_compile_test(linkat
|
||||
LABEL "linkat()"
|
||||
CODE
|
||||
"#define _ATFILE_SOURCE 1
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
linkat(AT_FDCWD, \"foo\", AT_FDCWD, \"bar\", AT_SYMLINK_FOLLOW);
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# ppoll
|
||||
qt_config_compile_test(ppoll
|
||||
LABEL "ppoll()"
|
||||
CODE
|
||||
"#include <signal.h>
|
||||
#include <poll.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
struct pollfd pfd;
|
||||
struct timespec ts;
|
||||
sigset_t sig;
|
||||
ppoll(&pfd, 1, &ts, &sig);
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# pollts
|
||||
qt_config_compile_test(pollts
|
||||
LABEL "pollts()"
|
||||
CODE
|
||||
"#include <poll.h>
|
||||
#include <signal.h>
|
||||
#include <time.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
struct pollfd pfd;
|
||||
struct timespec ts;
|
||||
sigset_t sig;
|
||||
pollts(&pfd, 1, &ts, &sig);
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# poll
|
||||
qt_config_compile_test(poll
|
||||
LABEL "poll()"
|
||||
CODE
|
||||
"#include <poll.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
struct pollfd pfd;
|
||||
poll(&pfd, 1, 0);
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# renameat2
|
||||
qt_config_compile_test(renameat2
|
||||
LABEL "renameat2()"
|
||||
CODE
|
||||
"#define _ATFILE_SOURCE 1
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
renameat2(AT_FDCWD, argv[1], AT_FDCWD, argv[2], RENAME_NOREPLACE | RENAME_WHITEOUT);
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# statx
|
||||
qt_config_compile_test(statx
|
||||
LABEL "statx() in libc"
|
||||
CODE
|
||||
"#define _ATFILE_SOURCE 1
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
struct statx statxbuf;
|
||||
unsigned int mask = STATX_BASIC_STATS;
|
||||
return statx(AT_FDCWD, \"\", AT_STATX_SYNC_AS_STAT, mask, &statxbuf);
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# syslog
|
||||
qt_config_compile_test(syslog
|
||||
LABEL "syslog"
|
||||
CODE
|
||||
"#include <syslog.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
openlog(\"qt\", 0, LOG_USER);
|
||||
syslog(LOG_INFO, \"configure\");
|
||||
closelog();
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# xlocalescanprint
|
||||
qt_config_compile_test(xlocalescanprint
|
||||
LABEL "xlocale.h (or equivalents)"
|
||||
CODE
|
||||
"#define QT_BEGIN_NAMESPACE
|
||||
#define QT_END_NAMESPACE
|
||||
|
||||
#ifdef _MSVC_VER
|
||||
#define Q_CC_MSVC _MSVC_VER
|
||||
#endif
|
||||
|
||||
#define QT_NO_DOUBLECONVERSION
|
||||
|
||||
#include QDSP_P_H
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
#ifdef _MSVC_VER
|
||||
_locale_t invalidLocale = NULL;
|
||||
#else
|
||||
locale_t invalidLocale = NULL;
|
||||
#endif
|
||||
double a = 3.4;
|
||||
qDoubleSnprintf(argv[0], 1, invalidLocale, \"invalid format\", a);
|
||||
qDoubleSscanf(argv[0], invalidLocale, \"invalid format\", &a, &argc);
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
"# FIXME: qmake: DEFINES += QDSP_P_H=$$shell_quote(\"@PWD@/text/qdoublescanprint_p.h\")
|
||||
)
|
||||
|
||||
|
||||
|
||||
#### Features
|
||||
|
||||
qt_feature("clock-gettime" PRIVATE
|
||||
LABEL "clock_gettime()"
|
||||
CONDITION UNIX AND WrapRt_FOUND
|
||||
)
|
||||
qt_feature("clock-monotonic" PUBLIC
|
||||
LABEL "POSIX monotonic clock"
|
||||
CONDITION QT_FEATURE_clock_gettime AND TEST_clock_monotonic
|
||||
)
|
||||
qt_feature_definition("clock-monotonic" "QT_NO_CLOCK_MONOTONIC" NEGATE VALUE "1")
|
||||
qt_feature("doubleconversion" PUBLIC PRIVATE
|
||||
LABEL "DoubleConversion"
|
||||
)
|
||||
qt_feature_definition("doubleconversion" "QT_NO_DOUBLECONVERSION" NEGATE VALUE "1")
|
||||
qt_feature("system-doubleconversion" PRIVATE
|
||||
LABEL " Using system DoubleConversion"
|
||||
CONDITION QT_FEATURE_doubleconversion AND WrapDoubleConversion_FOUND
|
||||
ENABLE INPUT_doubleconversion STREQUAL 'system'
|
||||
DISABLE INPUT_doubleconversion STREQUAL 'qt'
|
||||
)
|
||||
qt_feature("cxx11_future" PUBLIC
|
||||
LABEL "C++11 <future>"
|
||||
CONDITION TEST_cxx11_future
|
||||
)
|
||||
qt_feature("cxx17_bm_searcher" PRIVATE
|
||||
LABEL "C++17 boyer_moore_searcher"
|
||||
CONDITION TEST_cxx17_bm_searcher
|
||||
)
|
||||
qt_feature("cxx17_filesystem" PUBLIC
|
||||
LABEL "C++17 <filesystem>"
|
||||
CONDITION TEST_cxx17_filesystem
|
||||
)
|
||||
qt_feature("eventfd" PUBLIC
|
||||
LABEL "eventfd"
|
||||
CONDITION NOT WASM AND TEST_eventfd
|
||||
)
|
||||
qt_feature_definition("eventfd" "QT_NO_EVENTFD" NEGATE VALUE "1")
|
||||
qt_feature("futimens" PRIVATE
|
||||
LABEL "futimens()"
|
||||
CONDITION NOT WIN32 AND TEST_futimens
|
||||
)
|
||||
qt_feature("futimes" PRIVATE
|
||||
LABEL "futimes()"
|
||||
CONDITION NOT WIN32 AND NOT QT_FEATURE_futimens AND TEST_futimes
|
||||
)
|
||||
qt_feature("getauxval" PRIVATE
|
||||
LABEL "getauxval()"
|
||||
CONDITION LINUX AND TEST_getauxval
|
||||
)
|
||||
qt_feature("getentropy" PRIVATE
|
||||
LABEL "getentropy()"
|
||||
CONDITION UNIX AND TEST_getentropy
|
||||
)
|
||||
qt_feature("glib" PUBLIC PRIVATE
|
||||
LABEL "GLib"
|
||||
AUTODETECT NOT WIN32
|
||||
CONDITION GLIB2_FOUND
|
||||
)
|
||||
qt_feature_definition("glib" "QT_NO_GLIB" NEGATE VALUE "1")
|
||||
qt_feature("glibc" PRIVATE
|
||||
LABEL "GNU libc"
|
||||
AUTODETECT LINUX
|
||||
CONDITION TEST_glibc
|
||||
)
|
||||
qt_feature("icu" PRIVATE
|
||||
LABEL "ICU"
|
||||
AUTODETECT NOT WIN32
|
||||
CONDITION ICU_FOUND
|
||||
)
|
||||
qt_feature("inotify" PUBLIC PRIVATE
|
||||
LABEL "inotify"
|
||||
CONDITION TEST_inotify
|
||||
)
|
||||
qt_feature_definition("inotify" "QT_NO_INOTIFY" NEGATE VALUE "1")
|
||||
qt_feature("ipc_posix"
|
||||
LABEL "Using POSIX IPC"
|
||||
AUTODETECT NOT WIN32
|
||||
CONDITION NOT TEST_ipc_sysv AND TEST_ipc_posix
|
||||
)
|
||||
qt_feature_definition("ipc_posix" "QT_POSIX_IPC")
|
||||
qt_feature("journald" PRIVATE
|
||||
LABEL "journald"
|
||||
AUTODETECT OFF
|
||||
CONDITION Libsystemd_FOUND
|
||||
)
|
||||
# Used by QCryptographicHash for the BLAKE2 hashing algorithms
|
||||
qt_feature("system-libb2" PRIVATE
|
||||
LABEL "Using system libb2"
|
||||
CONDITION Libb2_FOUND
|
||||
ENABLE INPUT_libb2 STREQUAL 'system'
|
||||
DISABLE INPUT_libb2 STREQUAL 'no' OR INPUT_libb2 STREQUAL 'qt'
|
||||
)
|
||||
# Currently only used by QTemporaryFile; linkat() exists on Android, but hardlink creation fails due to security rules
|
||||
qt_feature("linkat" PRIVATE
|
||||
LABEL "linkat()"
|
||||
AUTODETECT LINUX AND NOT ANDROID
|
||||
CONDITION TEST_linkat
|
||||
)
|
||||
qt_feature("std-atomic64" PUBLIC
|
||||
LABEL "64 bit atomic operations"
|
||||
CONDITION WrapAtomic_FOUND
|
||||
)
|
||||
qt_feature("mimetype" PUBLIC
|
||||
SECTION "Utilities"
|
||||
LABEL "Mimetype handling"
|
||||
PURPOSE "Provides MIME type handling."
|
||||
)
|
||||
qt_feature_definition("mimetype" "QT_NO_MIMETYPE" NEGATE VALUE "1")
|
||||
qt_feature("mimetype-database" PRIVATE
|
||||
LABEL "Built-in copy of the MIME database"
|
||||
CONDITION QT_FEATURE_mimetype
|
||||
)
|
||||
qt_feature("pcre2"
|
||||
LABEL "PCRE2"
|
||||
ENABLE INPUT_pcre STREQUAL 'qt' OR QT_FEATURE_system_pcre2
|
||||
DISABLE INPUT_pcre STREQUAL 'no'
|
||||
)
|
||||
qt_feature_config("pcre2" QMAKE_PRIVATE_CONFIG)
|
||||
qt_feature("system-pcre2" PRIVATE
|
||||
LABEL " Using system PCRE2"
|
||||
CONDITION WrapSystemPCRE2_FOUND
|
||||
ENABLE INPUT_pcre STREQUAL 'system'
|
||||
DISABLE INPUT_pcre STREQUAL 'no' OR INPUT_pcre STREQUAL 'qt'
|
||||
)
|
||||
qt_feature("poll_ppoll" PRIVATE
|
||||
LABEL "Native ppoll()"
|
||||
CONDITION NOT WASM AND TEST_ppoll
|
||||
EMIT_IF NOT WIN32
|
||||
)
|
||||
qt_feature("poll_pollts" PRIVATE
|
||||
LABEL "Native pollts()"
|
||||
CONDITION NOT QT_FEATURE_poll_ppoll AND TEST_pollts
|
||||
EMIT_IF NOT WIN32
|
||||
)
|
||||
qt_feature("poll_poll" PRIVATE
|
||||
LABEL "Native poll()"
|
||||
CONDITION NOT QT_FEATURE_poll_ppoll AND NOT QT_FEATURE_poll_pollts AND TEST_poll
|
||||
EMIT_IF NOT WIN32
|
||||
)
|
||||
qt_feature("poll_select" PRIVATE
|
||||
LABEL "Emulated poll()"
|
||||
CONDITION NOT QT_FEATURE_poll_ppoll AND NOT QT_FEATURE_poll_pollts AND NOT QT_FEATURE_poll_poll
|
||||
EMIT_IF NOT WIN32
|
||||
)
|
||||
qt_feature_definition("poll_select" "QT_NO_NATIVE_POLL")
|
||||
qt_feature("qqnx_pps" PRIVATE
|
||||
LABEL "PPS"
|
||||
CONDITION PPS_FOUND
|
||||
EMIT_IF QNX
|
||||
)
|
||||
qt_feature("renameat2" PRIVATE
|
||||
LABEL "renameat2()"
|
||||
CONDITION LINUX AND TEST_renameat2
|
||||
)
|
||||
qt_feature("slog2" PRIVATE
|
||||
LABEL "slog2"
|
||||
CONDITION Slog2_FOUND
|
||||
)
|
||||
qt_feature("statx" PRIVATE
|
||||
LABEL "statx() in libc"
|
||||
CONDITION LINUX AND TEST_statx
|
||||
)
|
||||
qt_feature("syslog" PRIVATE
|
||||
LABEL "syslog"
|
||||
AUTODETECT OFF
|
||||
CONDITION TEST_syslog
|
||||
)
|
||||
qt_feature("threadsafe-cloexec"
|
||||
LABEL "Threadsafe pipe creation"
|
||||
CONDITION TEST_cloexec
|
||||
)
|
||||
qt_feature_definition("threadsafe-cloexec" "QT_THREADSAFE_CLOEXEC" VALUE "1")
|
||||
qt_feature_config("threadsafe-cloexec" QMAKE_PUBLIC_QT_CONFIG)
|
||||
qt_feature("properties" PUBLIC
|
||||
SECTION "Kernel"
|
||||
LABEL "Properties"
|
||||
PURPOSE "Supports scripting Qt-based applications."
|
||||
)
|
||||
qt_feature_definition("properties" "QT_NO_PROPERTIES" NEGATE VALUE "1")
|
||||
qt_feature("regularexpression" PUBLIC
|
||||
SECTION "Kernel"
|
||||
LABEL "QRegularExpression"
|
||||
PURPOSE "Provides an API to Perl-compatible regular expressions."
|
||||
CONDITION QT_FEATURE_system_pcre2 OR QT_FEATURE_pcre2
|
||||
)
|
||||
qt_feature_definition("regularexpression" "QT_NO_REGULAREXPRESSION" NEGATE VALUE "1")
|
||||
qt_feature("backtrace" PRIVATE
|
||||
LABEL "backtrace"
|
||||
CONDITION UNIX AND QT_FEATURE_regularexpression AND WrapBacktrace_FOUND
|
||||
)
|
||||
qt_feature("sharedmemory" PUBLIC
|
||||
SECTION "Kernel"
|
||||
LABEL "QSharedMemory"
|
||||
PURPOSE "Provides access to a shared memory segment."
|
||||
CONDITION ( ANDROID OR WIN32 OR ( NOT VXWORKS AND ( TEST_ipc_sysv OR TEST_ipc_posix ) ) )
|
||||
)
|
||||
qt_feature_definition("sharedmemory" "QT_NO_SHAREDMEMORY" NEGATE VALUE "1")
|
||||
qt_feature("shortcut" PUBLIC
|
||||
SECTION "Kernel"
|
||||
LABEL "QShortcut"
|
||||
PURPOSE "Provides keyboard accelerators and shortcuts."
|
||||
)
|
||||
qt_feature_definition("shortcut" "QT_NO_SHORTCUT" NEGATE VALUE "1")
|
||||
qt_feature("systemsemaphore" PUBLIC
|
||||
SECTION "Kernel"
|
||||
LABEL "QSystemSemaphore"
|
||||
PURPOSE "Provides a general counting system semaphore."
|
||||
CONDITION ( NOT INTEGRITY AND NOT VXWORKS AND NOT rtems ) AND ( ANDROID OR WIN32 OR TEST_ipc_sysv OR TEST_ipc_posix )
|
||||
)
|
||||
qt_feature_definition("systemsemaphore" "QT_NO_SYSTEMSEMAPHORE" NEGATE VALUE "1")
|
||||
qt_feature("xmlstream" PUBLIC
|
||||
SECTION "Kernel"
|
||||
LABEL "XML Streaming APIs"
|
||||
PURPOSE "Provides a simple streaming API for XML."
|
||||
)
|
||||
qt_feature_definition("xmlstream" "QT_NO_XMLSTREAM" NEGATE VALUE "1")
|
||||
qt_feature("xmlstreamreader" PUBLIC
|
||||
SECTION "Kernel"
|
||||
LABEL "QXmlStreamReader"
|
||||
PURPOSE "Provides a well-formed XML parser with a simple streaming API."
|
||||
CONDITION QT_FEATURE_xmlstream
|
||||
)
|
||||
qt_feature_definition("xmlstreamreader" "QT_NO_XMLSTREAMREADER" NEGATE VALUE "1")
|
||||
qt_feature("xmlstreamwriter" PUBLIC
|
||||
SECTION "Kernel"
|
||||
LABEL "QXmlStreamWriter"
|
||||
PURPOSE "Provides a XML writer with a simple streaming API."
|
||||
CONDITION QT_FEATURE_xmlstream
|
||||
)
|
||||
qt_feature_definition("xmlstreamwriter" "QT_NO_XMLSTREAMWRITER" NEGATE VALUE "1")
|
||||
qt_feature("textdate" PUBLIC
|
||||
SECTION "Data structures"
|
||||
LABEL "Text Date"
|
||||
PURPOSE "Supports month and day names in dates."
|
||||
)
|
||||
qt_feature_definition("textdate" "QT_NO_TEXTDATE" NEGATE VALUE "1")
|
||||
qt_feature("datestring" PUBLIC
|
||||
SECTION "Data structures"
|
||||
LABEL "QDate/QTime/QDateTime"
|
||||
PURPOSE "Provides conversion between dates and strings."
|
||||
CONDITION QT_FEATURE_textdate
|
||||
)
|
||||
qt_feature_definition("datestring" "QT_NO_DATESTRING" NEGATE VALUE "1")
|
||||
qt_feature("process" PUBLIC
|
||||
SECTION "File I/O"
|
||||
LABEL "QProcess"
|
||||
PURPOSE "Supports external process invocation."
|
||||
CONDITION QT_FEATURE_processenvironment AND ( QT_FEATURE_thread OR NOT UNIX ) AND NOT UIKIT AND NOT INTEGRITY AND NOT VXWORKS AND NOT rtems
|
||||
)
|
||||
qt_feature_definition("process" "QT_NO_PROCESS" NEGATE VALUE "1")
|
||||
qt_feature("processenvironment" PUBLIC
|
||||
SECTION "File I/O"
|
||||
LABEL "QProcessEnvironment"
|
||||
PURPOSE "Provides a higher-level abstraction of environment variables."
|
||||
CONDITION NOT INTEGRITY AND NOT rtems
|
||||
)
|
||||
qt_feature("temporaryfile" PUBLIC
|
||||
SECTION "File I/O"
|
||||
LABEL "QTemporaryFile"
|
||||
PURPOSE "Provides an I/O device that operates on temporary files."
|
||||
)
|
||||
qt_feature_definition("temporaryfile" "QT_NO_TEMPORARYFILE" NEGATE VALUE "1")
|
||||
qt_feature("library" PUBLIC
|
||||
SECTION "File I/O"
|
||||
LABEL "QLibrary"
|
||||
PURPOSE "Provides a wrapper for dynamically loaded libraries."
|
||||
CONDITION WIN32 OR HPUX OR ( NOT NACL AND QT_FEATURE_dlopen )
|
||||
)
|
||||
qt_feature_definition("library" "QT_NO_LIBRARY" NEGATE VALUE "1")
|
||||
qt_feature("settings" PUBLIC
|
||||
SECTION "File I/O"
|
||||
LABEL "QSettings"
|
||||
PURPOSE "Provides persistent application settings."
|
||||
)
|
||||
qt_feature_definition("settings" "QT_NO_SETTINGS" NEGATE VALUE "1")
|
||||
qt_feature("filesystemwatcher" PUBLIC
|
||||
SECTION "File I/O"
|
||||
LABEL "QFileSystemWatcher"
|
||||
PURPOSE "Provides an interface for monitoring files and directories for modifications."
|
||||
)
|
||||
qt_feature_definition("filesystemwatcher" "QT_NO_FILESYSTEMWATCHER" NEGATE VALUE "1")
|
||||
qt_feature("filesystemiterator" PUBLIC
|
||||
SECTION "File I/O"
|
||||
LABEL "QFileSystemIterator"
|
||||
PURPOSE "Provides fast file system iteration."
|
||||
)
|
||||
qt_feature_definition("filesystemiterator" "QT_NO_FILESYSTEMITERATOR" NEGATE VALUE "1")
|
||||
qt_feature("itemmodel" PUBLIC
|
||||
SECTION "ItemViews"
|
||||
LABEL "Qt Item Model"
|
||||
PURPOSE "Provides the item model for item views"
|
||||
)
|
||||
qt_feature_definition("itemmodel" "QT_NO_ITEMMODEL" NEGATE VALUE "1")
|
||||
qt_feature("proxymodel" PUBLIC
|
||||
SECTION "ItemViews"
|
||||
LABEL "QAbstractProxyModel"
|
||||
PURPOSE "Supports processing of data passed between another model and a view."
|
||||
CONDITION QT_FEATURE_itemmodel
|
||||
)
|
||||
qt_feature_definition("proxymodel" "QT_NO_PROXYMODEL" NEGATE VALUE "1")
|
||||
qt_feature("sortfilterproxymodel" PUBLIC
|
||||
SECTION "ItemViews"
|
||||
LABEL "QSortFilterProxyModel"
|
||||
PURPOSE "Supports sorting and filtering of data passed between another model and a view."
|
||||
CONDITION QT_FEATURE_proxymodel AND QT_FEATURE_regularexpression
|
||||
)
|
||||
qt_feature_definition("sortfilterproxymodel" "QT_NO_SORTFILTERPROXYMODEL" NEGATE VALUE "1")
|
||||
qt_feature("identityproxymodel" PUBLIC
|
||||
SECTION "ItemViews"
|
||||
LABEL "QIdentityProxyModel"
|
||||
PURPOSE "Supports proxying a source model unmodified."
|
||||
CONDITION QT_FEATURE_proxymodel
|
||||
)
|
||||
qt_feature_definition("identityproxymodel" "QT_NO_IDENTITYPROXYMODEL" NEGATE VALUE "1")
|
||||
qt_feature("transposeproxymodel" PUBLIC
|
||||
SECTION "ItemViews"
|
||||
LABEL "QTransposeProxyModel"
|
||||
PURPOSE "Provides a proxy to swap rows and columns of a model."
|
||||
CONDITION QT_FEATURE_proxymodel
|
||||
)
|
||||
qt_feature_definition("transposeproxymodel" "QT_NO_TRANSPOSEPROXYMODEL" NEGATE VALUE "1")
|
||||
qt_feature("concatenatetablesproxymodel" PUBLIC
|
||||
SECTION "ItemViews"
|
||||
LABEL "QConcatenateTablesProxyModel"
|
||||
PURPOSE "Supports concatenating source models."
|
||||
CONDITION QT_FEATURE_proxymodel
|
||||
)
|
||||
qt_feature_definition("concatenatetablesproxymodel" "QT_NO_CONCATENATETABLESPROXYMODEL" NEGATE VALUE "1")
|
||||
qt_feature("stringlistmodel" PUBLIC
|
||||
SECTION "ItemViews"
|
||||
LABEL "QStringListModel"
|
||||
PURPOSE "Provides a model that supplies strings to views."
|
||||
CONDITION QT_FEATURE_itemmodel
|
||||
)
|
||||
qt_feature_definition("stringlistmodel" "QT_NO_STRINGLISTMODEL" NEGATE VALUE "1")
|
||||
qt_feature("translation" PUBLIC
|
||||
SECTION "Internationalization"
|
||||
LABEL "Translation"
|
||||
PURPOSE "Supports translations using QObject::tr()."
|
||||
)
|
||||
qt_feature_definition("translation" "QT_NO_TRANSLATION" NEGATE VALUE "1")
|
||||
qt_feature("easingcurve" PUBLIC
|
||||
SECTION "Utilities"
|
||||
LABEL "Easing curve"
|
||||
PURPOSE "Provides easing curve."
|
||||
)
|
||||
qt_feature("animation" PUBLIC
|
||||
SECTION "Utilities"
|
||||
LABEL "Animation"
|
||||
PURPOSE "Provides a framework for animations."
|
||||
CONDITION QT_FEATURE_properties AND QT_FEATURE_easingcurve
|
||||
)
|
||||
qt_feature_definition("animation" "QT_NO_ANIMATION" NEGATE VALUE "1")
|
||||
qt_feature("gestures" PUBLIC
|
||||
SECTION "Utilities"
|
||||
LABEL "Gesture"
|
||||
PURPOSE "Provides a framework for gestures."
|
||||
)
|
||||
qt_feature_definition("gestures" "QT_NO_GESTURES" NEGATE VALUE "1")
|
||||
qt_feature("sha3-fast" PRIVATE
|
||||
SECTION "Utilities"
|
||||
LABEL "Speed optimized SHA3"
|
||||
PURPOSE "Optimizes SHA3 for speed instead of size."
|
||||
)
|
||||
qt_feature("jalalicalendar" PUBLIC
|
||||
SECTION "Utilities"
|
||||
LABEL "QJalaliCalendar"
|
||||
PURPOSE "Support the Jalali (Persian) calendar"
|
||||
)
|
||||
qt_feature("hijricalendar" PRIVATE
|
||||
SECTION "Utilities"
|
||||
LABEL "QHijriCalendar"
|
||||
PURPOSE "Generic basis for Islamic calendars, providing shared locale data"
|
||||
)
|
||||
qt_feature("islamiccivilcalendar" PUBLIC
|
||||
SECTION "Utilities"
|
||||
LABEL "QIslamicCivilCalendar"
|
||||
PURPOSE "Support the Islamic Civil calendar"
|
||||
CONDITION QT_FEATURE_hijricalendar
|
||||
)
|
||||
qt_feature("timezone" PUBLIC
|
||||
SECTION "Utilities"
|
||||
LABEL "QTimeZone"
|
||||
PURPOSE "Provides support for time-zone handling."
|
||||
)
|
||||
qt_feature("datetimeparser" PRIVATE
|
||||
SECTION "Utilities"
|
||||
LABEL "QDateTimeParser"
|
||||
PURPOSE "Provides support for parsing date-time texts."
|
||||
CONDITION QT_FEATURE_datestring
|
||||
)
|
||||
qt_feature("commandlineparser" PUBLIC
|
||||
SECTION "Utilities"
|
||||
LABEL "QCommandlineParser"
|
||||
PURPOSE "Provides support for command line parsing."
|
||||
)
|
||||
qt_feature("lttng" PRIVATE
|
||||
LABEL "LTTNG"
|
||||
AUTODETECT OFF
|
||||
CONDITION LINUX AND LTTNGUST_FOUND
|
||||
ENABLE INPUT_trace STREQUAL 'lttng' OR ( INPUT_trace STREQUAL 'yes' AND LINUX )
|
||||
DISABLE INPUT_trace STREQUAL 'etw' OR INPUT_trace STREQUAL 'no'
|
||||
)
|
||||
qt_feature("etw" PRIVATE
|
||||
LABEL "ETW"
|
||||
AUTODETECT OFF
|
||||
CONDITION WIN32
|
||||
ENABLE INPUT_trace STREQUAL 'etw' OR ( INPUT_trace STREQUAL 'yes' AND WIN32 )
|
||||
DISABLE INPUT_trace STREQUAL 'lttng' OR INPUT_trace STREQUAL 'no'
|
||||
)
|
||||
qt_feature("forkfd_pidfd" PRIVATE
|
||||
LABEL "CLONE_PIDFD support in forkfd"
|
||||
CONDITION LINUX
|
||||
)
|
||||
qt_feature("cborstreamreader" PUBLIC
|
||||
SECTION "Utilities"
|
||||
LABEL "CBOR stream reading"
|
||||
PURPOSE "Provides support for reading the CBOR binary format. Note that this is required for plugin loading. Qt GUI needs QPA plugins for basic operation."
|
||||
)
|
||||
qt_feature("cborstreamwriter" PUBLIC
|
||||
SECTION "Utilities"
|
||||
LABEL "CBOR stream writing"
|
||||
PURPOSE "Provides support for writing the CBOR binary format."
|
||||
)
|
||||
qt_configure_add_summary_section(NAME "Qt Core")
|
||||
qt_configure_add_summary_entry(ARGS "backtrace")
|
||||
qt_configure_add_summary_entry(ARGS "doubleconversion")
|
||||
qt_configure_add_summary_entry(ARGS "system-doubleconversion")
|
||||
qt_configure_add_summary_entry(ARGS "glib")
|
||||
qt_configure_add_summary_entry(ARGS "icu")
|
||||
qt_configure_add_summary_entry(ARGS "system-libb2")
|
||||
qt_configure_add_summary_entry(ARGS "mimetype-database")
|
||||
qt_configure_add_summary_entry(
|
||||
TYPE "firstAvailableFeature"
|
||||
ARGS "etw lttng"
|
||||
MESSAGE "Tracing backend"
|
||||
)
|
||||
qt_configure_add_summary_section(NAME "Logging backends")
|
||||
qt_configure_add_summary_entry(ARGS "journald")
|
||||
qt_configure_add_summary_entry(ARGS "syslog")
|
||||
qt_configure_add_summary_entry(ARGS "slog2")
|
||||
qt_configure_end_summary_section() # end of "Logging backends" section
|
||||
qt_configure_add_summary_entry(
|
||||
ARGS "qqnx_pps"
|
||||
CONDITION QNX
|
||||
)
|
||||
qt_configure_add_summary_entry(ARGS "pcre2")
|
||||
qt_configure_add_summary_entry(ARGS "system-pcre2")
|
||||
qt_configure_add_summary_entry(
|
||||
ARGS "forkfd_pidfd"
|
||||
CONDITION LINUX
|
||||
)
|
||||
qt_configure_end_summary_section() # end of "Qt Core" section
|
||||
qt_configure_add_report_entry(
|
||||
TYPE NOTE
|
||||
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_FORCE_STDERR_LOGGING to 1 or are able to read the logged output from journald, syslog or slog2."
|
||||
CONDITION QT_FEATURE_journald OR QT_FEATURE_syslog OR ( QNX AND QT_FEATURE_slog2 )
|
||||
)
|
||||
qt_configure_add_report_entry(
|
||||
TYPE ERROR
|
||||
MESSAGE "C++11 <random> is required and is missing or failed to compile."
|
||||
CONDITION NOT TEST_cxx11_random
|
||||
)
|
||||
qt_configure_add_report_entry(
|
||||
TYPE ERROR
|
||||
MESSAGE "Your C library does not provide sscanf_l or snprintf_l. You need to use libdouble-conversion for double/string conversion."
|
||||
CONDITION INPUT_doubleconversion STREQUAL 'no' AND NOT TEST_xlocalescanprint
|
||||
)
|
||||
qt_configure_add_report_entry(
|
||||
TYPE ERROR
|
||||
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/atomicfptr"
|
||||
CONDITION NOT TEST_atomicfptr
|
||||
)
|
||||
qt_configure_add_report_entry(
|
||||
TYPE ERROR
|
||||
MESSAGE "Qt requires poll(), ppoll(), poll_ts() or select() on this platform"
|
||||
CONDITION ( UNIX OR INTEGRITY ) AND ( NOT QT_FEATURE_poll_ppoll ) AND ( NOT QT_FEATURE_poll_pollts ) AND ( NOT QT_FEATURE_poll_poll ) AND ( NOT QT_FEATURE_poll_select )
|
||||
)
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,433 +0,0 @@
|
||||
|
||||
|
||||
#### Inputs
|
||||
|
||||
|
||||
|
||||
#### Libraries
|
||||
|
||||
qt_find_package(WrapBrotli PROVIDED_TARGETS WrapBrotli::WrapBrotliDec MODULE_NAME network QMAKE_LIB brotli)
|
||||
qt_find_package(Libproxy PROVIDED_TARGETS PkgConfig::Libproxy MODULE_NAME network QMAKE_LIB libproxy)
|
||||
qt_find_package(WrapOpenSSLHeaders PROVIDED_TARGETS WrapOpenSSLHeaders::WrapOpenSSLHeaders MODULE_NAME network QMAKE_LIB openssl/nolink)
|
||||
# openssl_headers
|
||||
qt_config_compile_test(openssl_headers
|
||||
LIBRARIES
|
||||
WrapOpenSSLHeaders::WrapOpenSSLHeaders
|
||||
CODE
|
||||
"#include <openssl/ssl.h>
|
||||
#include <openssl/opensslv.h>
|
||||
#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10101000L
|
||||
# error OpenSSL >= 1.1.1 is required
|
||||
#endif
|
||||
#if !defined(OPENSSL_NO_EC) && !defined(SSL_CTRL_SET_CURVES)
|
||||
# error OpenSSL was reported as >= 1.1.1 but is missing required features, possibly it is libressl which is unsupported
|
||||
#endif
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
qt_find_package(WrapOpenSSL PROVIDED_TARGETS WrapOpenSSL::WrapOpenSSL MODULE_NAME network QMAKE_LIB openssl)
|
||||
# openssl
|
||||
qt_config_compile_test(openssl
|
||||
LIBRARIES
|
||||
WrapOpenSSL::WrapOpenSSL
|
||||
CODE
|
||||
"#include <openssl/ssl.h>
|
||||
#include <openssl/opensslv.h>
|
||||
#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10101000L
|
||||
# error OpenSSL >= 1.1.1 is required
|
||||
#endif
|
||||
#if !defined(OPENSSL_NO_EC) && !defined(SSL_CTRL_SET_CURVES)
|
||||
# error OpenSSL was reported as >= 1.1.1 but is missing required features, possibly it is libressl which is unsupported
|
||||
#endif
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
SSL_free(SSL_new(0));
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
qt_find_package(GSSAPI PROVIDED_TARGETS GSSAPI::GSSAPI MODULE_NAME network QMAKE_LIB gssapi)
|
||||
|
||||
|
||||
#### Tests
|
||||
|
||||
# getifaddrs
|
||||
qt_config_compile_test(getifaddrs
|
||||
LABEL "getifaddrs()"
|
||||
CODE
|
||||
"#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <net/if.h>
|
||||
#include <ifaddrs.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
ifaddrs *list;
|
||||
getifaddrs(&list);
|
||||
freeifaddrs(list);
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
"# FIXME: use: unmapped library: network
|
||||
)
|
||||
|
||||
# ifr_index
|
||||
qt_config_compile_test(ifr_index
|
||||
LABEL "ifr_index"
|
||||
CODE
|
||||
"#include <net/if.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
struct ifreq req;
|
||||
req.ifr_index = 0;
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# ipv6ifname
|
||||
qt_config_compile_test(ipv6ifname
|
||||
LABEL "IPv6 ifname"
|
||||
CODE
|
||||
"#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <net/if.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
char buf[IFNAMSIZ];
|
||||
if_nametoindex(\"eth0\");
|
||||
if_indextoname(1, buf);
|
||||
if_freenameindex(if_nameindex());
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
"# FIXME: use: unmapped library: network
|
||||
)
|
||||
|
||||
# linux-netlink
|
||||
qt_config_compile_test(linux_netlink
|
||||
LABEL "Linux AF_NETLINK sockets"
|
||||
CODE
|
||||
"#include <asm/types.h>
|
||||
#include <linux/netlink.h>
|
||||
#include <linux/rtnetlink.h>
|
||||
#include <sys/socket.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
struct rtattr rta = { };
|
||||
struct ifinfomsg ifi = {};
|
||||
struct ifaddrmsg ifa = {};
|
||||
struct ifa_cacheinfo ci;
|
||||
ci.ifa_prefered = ci.ifa_valid = 0;
|
||||
(void)RTM_NEWLINK; (void)RTM_NEWADDR;
|
||||
(void)IFLA_ADDRESS; (void)IFLA_IFNAME;
|
||||
(void)IFA_ADDRESS; (void)IFA_LABEL; (void)IFA_CACHEINFO;
|
||||
(void)(IFA_F_SECONDARY | IFA_F_DEPRECATED | IFA_F_PERMANENT | IFA_F_MANAGETEMPADDR);
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# sctp
|
||||
qt_config_compile_test(sctp
|
||||
LABEL "SCTP support"
|
||||
CODE
|
||||
"#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/sctp.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
sctp_initmsg sctpInitMsg;
|
||||
socklen_t sctpInitMsgSize = sizeof(sctpInitMsg);
|
||||
(void) socket(PF_INET, SOCK_STREAM, IPPROTO_SCTP);
|
||||
(void) getsockopt(-1, SOL_SCTP, SCTP_INITMSG, &sctpInitMsg, &sctpInitMsgSize);
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
"# FIXME: use: unmapped library: network
|
||||
)
|
||||
|
||||
# dtls
|
||||
qt_config_compile_test(dtls
|
||||
LABEL "DTLS support in OpenSSL"
|
||||
LIBRARIES
|
||||
WrapOpenSSLHeaders::WrapOpenSSLHeaders
|
||||
CODE
|
||||
"#include <openssl/ssl.h>
|
||||
#if defined(OPENSSL_NO_DTLS) || !defined(DTLS1_2_VERSION)
|
||||
# error OpenSSL without DTLS support
|
||||
#endif
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# ocsp
|
||||
qt_config_compile_test(ocsp
|
||||
LABEL "OCSP stapling support in OpenSSL"
|
||||
LIBRARIES
|
||||
WrapOpenSSLHeaders::WrapOpenSSLHeaders
|
||||
CODE
|
||||
"#include <openssl/ssl.h>
|
||||
#include <openssl/ocsp.h>
|
||||
#if defined(OPENSSL_NO_OCSP) || defined(OPENSSL_NO_TLSEXT)
|
||||
# error OpenSSL without OCSP stapling
|
||||
#endif
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
# networklistmanager
|
||||
qt_config_compile_test(networklistmanager
|
||||
LABEL "Network List Manager"
|
||||
CODE
|
||||
"#include <netlistmgr.h>
|
||||
#include <wrl/client.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* BEGIN TEST: */
|
||||
using namespace Microsoft::WRL;
|
||||
ComPtr<INetworkListManager> networkListManager;
|
||||
ComPtr<IConnectionPoint> connectionPoint;
|
||||
ComPtr<IConnectionPointContainer> connectionPointContainer;
|
||||
networkListManager.As(&connectionPointContainer);
|
||||
connectionPointContainer->FindConnectionPoint(IID_INetworkConnectionEvents, &connectionPoint);
|
||||
/* END TEST: */
|
||||
return 0;
|
||||
}
|
||||
"# FIXME: qmake: LIBS += -lOle32
|
||||
)
|
||||
|
||||
|
||||
|
||||
#### Features
|
||||
|
||||
qt_feature("getifaddrs" PUBLIC
|
||||
LABEL "getifaddrs()"
|
||||
CONDITION TEST_getifaddrs
|
||||
)
|
||||
qt_feature_definition("getifaddrs" "QT_NO_GETIFADDRS" NEGATE VALUE "1")
|
||||
qt_feature("ifr_index" PRIVATE
|
||||
LABEL "ifr_index"
|
||||
CONDITION TEST_ifr_index
|
||||
)
|
||||
qt_feature("ipv6ifname" PUBLIC
|
||||
LABEL "IPv6 ifname"
|
||||
CONDITION TEST_ipv6ifname
|
||||
)
|
||||
qt_feature_definition("ipv6ifname" "QT_NO_IPV6IFNAME" NEGATE VALUE "1")
|
||||
qt_feature("libproxy" PRIVATE
|
||||
LABEL "libproxy"
|
||||
AUTODETECT OFF
|
||||
CONDITION Libproxy_FOUND
|
||||
)
|
||||
qt_feature("linux-netlink" PRIVATE
|
||||
LABEL "Linux AF_NETLINK"
|
||||
CONDITION LINUX AND NOT ANDROID AND TEST_linux_netlink
|
||||
)
|
||||
qt_feature("openssl" PRIVATE
|
||||
LABEL "OpenSSL"
|
||||
CONDITION QT_FEATURE_openssl_runtime OR QT_FEATURE_openssl_linked
|
||||
ENABLE false
|
||||
)
|
||||
qt_feature_definition("openssl" "QT_NO_OPENSSL" NEGATE)
|
||||
qt_feature_config("openssl" QMAKE_PUBLIC_QT_CONFIG)
|
||||
qt_feature("openssl-runtime"
|
||||
AUTODETECT NOT WASM
|
||||
CONDITION TEST_openssl_headers
|
||||
ENABLE INPUT_openssl STREQUAL 'yes' OR INPUT_openssl STREQUAL 'runtime'
|
||||
DISABLE INPUT_openssl STREQUAL 'no' OR INPUT_openssl STREQUAL 'linked' OR INPUT_ssl STREQUAL 'no'
|
||||
)
|
||||
qt_feature("openssl-linked" PRIVATE
|
||||
LABEL " Qt directly linked to OpenSSL"
|
||||
AUTODETECT OFF
|
||||
CONDITION TEST_openssl
|
||||
ENABLE INPUT_openssl STREQUAL 'linked'
|
||||
)
|
||||
qt_feature_definition("openssl-linked" "QT_LINKED_OPENSSL")
|
||||
qt_feature("securetransport" PUBLIC
|
||||
LABEL "SecureTransport"
|
||||
CONDITION APPLE
|
||||
DISABLE INPUT_ssl STREQUAL 'no'
|
||||
)
|
||||
qt_feature_definition("securetransport" "QT_SECURETRANSPORT")
|
||||
qt_feature("schannel" PUBLIC
|
||||
LABEL "Schannel"
|
||||
CONDITION WIN32
|
||||
DISABLE INPUT_ssl STREQUAL 'no'
|
||||
)
|
||||
qt_feature_definition("schannel" "QT_SCHANNEL")
|
||||
qt_feature("ssl" PUBLIC
|
||||
LABEL "SSL"
|
||||
CONDITION QT_FEATURE_securetransport OR QT_FEATURE_openssl OR QT_FEATURE_schannel
|
||||
)
|
||||
qt_feature_definition("ssl" "QT_NO_SSL" NEGATE VALUE "1")
|
||||
qt_feature("dtls" PUBLIC
|
||||
SECTION "Networking"
|
||||
LABEL "DTLS"
|
||||
PURPOSE "Provides a DTLS implementation"
|
||||
CONDITION QT_FEATURE_openssl AND QT_FEATURE_udpsocket AND TEST_dtls
|
||||
)
|
||||
qt_feature("ocsp" PUBLIC
|
||||
SECTION "Networking"
|
||||
LABEL "OCSP-stapling"
|
||||
PURPOSE "Provides OCSP stapling support"
|
||||
CONDITION QT_FEATURE_opensslv11 AND TEST_ocsp
|
||||
)
|
||||
qt_feature("opensslv11" PUBLIC
|
||||
LABEL "OpenSSL 1.1"
|
||||
CONDITION QT_FEATURE_openssl
|
||||
)
|
||||
qt_feature("sctp" PUBLIC
|
||||
LABEL "SCTP"
|
||||
AUTODETECT OFF
|
||||
CONDITION TEST_sctp
|
||||
)
|
||||
qt_feature_definition("sctp" "QT_NO_SCTP" NEGATE VALUE "1")
|
||||
qt_feature("system-proxies" PRIVATE
|
||||
LABEL "Use system proxies"
|
||||
)
|
||||
qt_feature("http" PUBLIC
|
||||
SECTION "Networking"
|
||||
LABEL "HTTP"
|
||||
PURPOSE "Provides support for the Hypertext Transfer Protocol in QNetworkAccessManager."
|
||||
CONDITION QT_FEATURE_thread
|
||||
)
|
||||
qt_feature_definition("http" "QT_NO_HTTP" NEGATE VALUE "1")
|
||||
qt_feature("udpsocket" PUBLIC
|
||||
SECTION "Networking"
|
||||
LABEL "QUdpSocket"
|
||||
PURPOSE "Provides access to UDP sockets."
|
||||
)
|
||||
qt_feature_definition("udpsocket" "QT_NO_UDPSOCKET" NEGATE VALUE "1")
|
||||
qt_feature("networkproxy" PUBLIC
|
||||
SECTION "Networking"
|
||||
LABEL "QNetworkProxy"
|
||||
PURPOSE "Provides network proxy support."
|
||||
)
|
||||
qt_feature_definition("networkproxy" "QT_NO_NETWORKPROXY" NEGATE VALUE "1")
|
||||
qt_feature("socks5" PUBLIC
|
||||
SECTION "Networking"
|
||||
LABEL "SOCKS5"
|
||||
PURPOSE "Provides SOCKS5 support in QNetworkProxy."
|
||||
CONDITION QT_FEATURE_networkproxy
|
||||
)
|
||||
qt_feature_definition("socks5" "QT_NO_SOCKS5" NEGATE VALUE "1")
|
||||
qt_feature("networkinterface" PUBLIC
|
||||
SECTION "Networking"
|
||||
LABEL "QNetworkInterface"
|
||||
PURPOSE "Supports enumerating a host's IP addresses and network interfaces."
|
||||
CONDITION NOT WASM
|
||||
)
|
||||
qt_feature_definition("networkinterface" "QT_NO_NETWORKINTERFACE" NEGATE VALUE "1")
|
||||
qt_feature("networkdiskcache" PUBLIC
|
||||
SECTION "Networking"
|
||||
LABEL "QNetworkDiskCache"
|
||||
PURPOSE "Provides a disk cache for network resources."
|
||||
CONDITION QT_FEATURE_temporaryfile
|
||||
)
|
||||
qt_feature_definition("networkdiskcache" "QT_NO_NETWORKDISKCACHE" NEGATE VALUE "1")
|
||||
qt_feature("brotli" PUBLIC
|
||||
SECTION "Networking"
|
||||
LABEL "Brotli Decompression Support"
|
||||
PURPOSE "Support for downloading and decompressing resources compressed with Brotli through QNetworkAccessManager."
|
||||
CONDITION WrapBrotli_FOUND
|
||||
)
|
||||
qt_feature_definition("brotli" "QT_NO_BROTLI" NEGATE VALUE "1")
|
||||
qt_feature("localserver" PUBLIC
|
||||
SECTION "Networking"
|
||||
LABEL "QLocalServer"
|
||||
PURPOSE "Provides a local socket based server."
|
||||
CONDITION QT_FEATURE_temporaryfile
|
||||
)
|
||||
qt_feature_definition("localserver" "QT_NO_LOCALSERVER" NEGATE VALUE "1")
|
||||
qt_feature("dnslookup" PUBLIC
|
||||
SECTION "Networking"
|
||||
LABEL "QDnsLookup"
|
||||
PURPOSE "Provides API for DNS lookups."
|
||||
)
|
||||
qt_feature("gssapi" PUBLIC
|
||||
SECTION "Networking"
|
||||
LABEL "GSSAPI"
|
||||
PURPOSE "Enable SPNEGO authentication through GSSAPI"
|
||||
CONDITION NOT WIN32 AND GSSAPI_FOUND
|
||||
)
|
||||
qt_feature_definition("gssapi" "QT_NO_GSSAPI" NEGATE VALUE "1")
|
||||
qt_feature("sspi" PUBLIC
|
||||
SECTION "Networking"
|
||||
LABEL "SSPI"
|
||||
PURPOSE "Enable NTLM/SPNEGO authentication through SSPI"
|
||||
CONDITION WIN32
|
||||
)
|
||||
qt_feature_definition("sspi" "QT_NO_SSPI" NEGATE VALUE "1")
|
||||
qt_feature("networklistmanager" PRIVATE
|
||||
SECTION "Networking"
|
||||
LABEL "Network List Manager"
|
||||
PURPOSE "Use Network List Manager to keep track of network connectivity"
|
||||
CONDITION WIN32 AND TEST_networklistmanager
|
||||
)
|
||||
qt_feature("topleveldomain" PUBLIC
|
||||
SECTION "Networking"
|
||||
LABEL "qTopLevelDomain()"
|
||||
PURPOSE "Provides support for extracting the top level domain from URLs. If enabled, a binary dump of the Public Suffix List (http://www.publicsuffix.org, Mozilla License) is included. The data is then also used in QNetworkCookieJar::validateCookie."
|
||||
)
|
||||
qt_configure_add_summary_section(NAME "Qt Network")
|
||||
qt_configure_add_summary_entry(ARGS "getifaddrs")
|
||||
qt_configure_add_summary_entry(ARGS "ipv6ifname")
|
||||
qt_configure_add_summary_entry(ARGS "libproxy")
|
||||
qt_configure_add_summary_entry(
|
||||
ARGS "linux-netlink"
|
||||
CONDITION LINUX
|
||||
)
|
||||
qt_configure_add_summary_entry(
|
||||
ARGS "securetransport"
|
||||
CONDITION APPLE
|
||||
)
|
||||
qt_configure_add_summary_entry(
|
||||
ARGS "schannel"
|
||||
CONDITION WIN32
|
||||
)
|
||||
qt_configure_add_summary_entry(ARGS "openssl")
|
||||
qt_configure_add_summary_entry(ARGS "openssl-linked")
|
||||
qt_configure_add_summary_entry(ARGS "opensslv11")
|
||||
qt_configure_add_summary_entry(ARGS "dtls")
|
||||
qt_configure_add_summary_entry(ARGS "ocsp")
|
||||
qt_configure_add_summary_entry(ARGS "sctp")
|
||||
qt_configure_add_summary_entry(ARGS "system-proxies")
|
||||
qt_configure_add_summary_entry(ARGS "gssapi")
|
||||
qt_configure_add_summary_entry(ARGS "brotli")
|
||||
qt_configure_end_summary_section() # end of "Qt Network" section
|
||||
qt_configure_add_report_entry(
|
||||
TYPE NOTE
|
||||
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"
|
||||
CONDITION QT_FEATURE_openssl_linked AND ( NOT TEST_openssl.source EQUAL 0 ) AND INPUT_openssl.prefix STREQUAL '' AND INPUT_openssl.libs STREQUAL '' AND INPUT_openssl.libs.debug STREQUAL '' OR FIXME
|
||||
)
|
@ -1,484 +0,0 @@
|
||||
{
|
||||
"module": "network",
|
||||
"depends": [
|
||||
"core"
|
||||
],
|
||||
"testDir": "../../config.tests",
|
||||
|
||||
"commandline": {
|
||||
"assignments": {
|
||||
"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" },
|
||||
"dtls": "boolean",
|
||||
"ocsp": "boolean",
|
||||
"sctp": "boolean",
|
||||
"securetransport": "boolean",
|
||||
"schannel": "boolean",
|
||||
"ssl": "boolean",
|
||||
"system-proxies": "boolean"
|
||||
}
|
||||
},
|
||||
|
||||
"libraries": {
|
||||
"brotli": {
|
||||
"label": "Brotli Decompression",
|
||||
"test": {
|
||||
"main": [
|
||||
"BrotliDecoderState *state = BrotliDecoderCreateInstance(nullptr, nullptr, nullptr);"
|
||||
]
|
||||
},
|
||||
"headers": [
|
||||
"brotli/decode.h"
|
||||
],
|
||||
"sources": [
|
||||
{ "type": "pkgConfig", "args": "libbrotlidec" },
|
||||
"-lbrotlidec"
|
||||
]
|
||||
},
|
||||
"network": {
|
||||
"sources": [
|
||||
{ "type": "makeSpec", "spec": "NETWORK" }
|
||||
]
|
||||
},
|
||||
"libproxy": {
|
||||
"label": "libproxy",
|
||||
"test": {
|
||||
"main": [
|
||||
"pxProxyFactory *factory = px_proxy_factory_new();",
|
||||
"px_proxy_factory_get_proxies(factory, \"http://qt-project.org\");",
|
||||
"px_proxy_factory_free(factory);"
|
||||
]
|
||||
},
|
||||
"headers": "proxy.h",
|
||||
"sources": [
|
||||
"-lproxy"
|
||||
]
|
||||
},
|
||||
"openssl_headers": {
|
||||
"label": "OpenSSL Headers",
|
||||
"export": "openssl",
|
||||
"test": {
|
||||
"tail": [
|
||||
"#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10101000L",
|
||||
"# error OpenSSL >= 1.1.1 is required",
|
||||
"#endif",
|
||||
"#if !defined(OPENSSL_NO_EC) && !defined(SSL_CTRL_SET_CURVES)",
|
||||
"# error OpenSSL was reported as >= 1.1.1 but is missing required features, possibly it is libressl which is unsupported",
|
||||
"#endif"
|
||||
]
|
||||
},
|
||||
"headers": [ "openssl/ssl.h", "openssl/opensslv.h" ],
|
||||
"sources": [
|
||||
{
|
||||
"comment": "placeholder for OPENSSL_PATH",
|
||||
"libs": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
"openssl": {
|
||||
"label": "OpenSSL",
|
||||
"test": {
|
||||
"inherit": "openssl_headers",
|
||||
"main": "SSL_free(SSL_new(0));"
|
||||
},
|
||||
"sources": [
|
||||
{ "type": "openssl" },
|
||||
{
|
||||
"libs": "-lssleay32 -llibeay32 -luser32 -lws2_32 -ladvapi32 -lgdi32",
|
||||
"condition": "config.win32"
|
||||
},
|
||||
{
|
||||
"libs": "-llibssl -llibcrypto -luser32 -lws2_32 -ladvapi32 -lcrypt32",
|
||||
"condition": "config.msvc"
|
||||
},
|
||||
{
|
||||
"libs": "-lssl -lcrypto",
|
||||
"condition": "!config.msvc"
|
||||
}
|
||||
]
|
||||
},
|
||||
"gssapi": {
|
||||
"label": "KRB5 GSSAPI Support",
|
||||
"test": {
|
||||
"head": [
|
||||
"#if defined(__APPLE__) && (defined(__GNUC__) || defined(__xlC__) || defined(__xlc__))",
|
||||
"# include <TargetConditionals.h>",
|
||||
"# if defined(TARGET_OS_MAC) && TARGET_OS_MAC",
|
||||
"# include <GSS/GSS.h>",
|
||||
"# endif",
|
||||
"#else",
|
||||
"# include <gssapi/gssapi.h>",
|
||||
"#endif"
|
||||
],
|
||||
"main": [
|
||||
"gss_ctx_id_t ctx;",
|
||||
"gss_context_time(nullptr, ctx, nullptr);"
|
||||
]
|
||||
},
|
||||
"sources": [
|
||||
{ "libs": "-framework GSS", "condition": "config.darwin" },
|
||||
{ "type": "pkgConfig", "args": "krb5-gssapi" },
|
||||
"-lgssapi_krb5"
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
"tests": {
|
||||
"getifaddrs": {
|
||||
"label": "getifaddrs()",
|
||||
"type": "compile",
|
||||
"test": {
|
||||
"include": [ "sys/types.h", "sys/socket.h", "net/if.h", "ifaddrs.h" ],
|
||||
"main": [
|
||||
"ifaddrs *list;",
|
||||
"getifaddrs(&list);",
|
||||
"freeifaddrs(list);"
|
||||
]
|
||||
},
|
||||
"use": "network"
|
||||
},
|
||||
"ifr_index": {
|
||||
"label": "ifr_index",
|
||||
"type": "compile",
|
||||
"test": {
|
||||
"include": "net/if.h",
|
||||
"main": [
|
||||
"struct ifreq req;",
|
||||
"req.ifr_index = 0;"
|
||||
]
|
||||
}
|
||||
},
|
||||
"ipv6ifname": {
|
||||
"label": "IPv6 ifname",
|
||||
"type": "compile",
|
||||
"test": {
|
||||
"include": [ "sys/types.h", "sys/socket.h", "net/if.h" ],
|
||||
"main": [
|
||||
"char buf[IFNAMSIZ];",
|
||||
"if_nametoindex(\"eth0\");",
|
||||
"if_indextoname(1, buf);",
|
||||
"if_freenameindex(if_nameindex());"
|
||||
]
|
||||
},
|
||||
"use": "network"
|
||||
},
|
||||
"linux-netlink": {
|
||||
"label": "Linux AF_NETLINK sockets",
|
||||
"type": "compile",
|
||||
"test": {
|
||||
"include": [ "asm/types.h", "linux/netlink.h", "linux/rtnetlink.h", "sys/socket.h" ],
|
||||
"main": [
|
||||
"struct rtattr rta = { };",
|
||||
"struct ifinfomsg ifi = {};",
|
||||
"struct ifaddrmsg ifa = {};",
|
||||
"struct ifa_cacheinfo ci;",
|
||||
"ci.ifa_prefered = ci.ifa_valid = 0;",
|
||||
"(void)RTM_NEWLINK; (void)RTM_NEWADDR;",
|
||||
"(void)IFLA_ADDRESS; (void)IFLA_IFNAME;",
|
||||
"(void)IFA_ADDRESS; (void)IFA_LABEL; (void)IFA_CACHEINFO;",
|
||||
"(void)(IFA_F_SECONDARY | IFA_F_DEPRECATED | IFA_F_PERMANENT | IFA_F_MANAGETEMPADDR);"
|
||||
]
|
||||
}
|
||||
},
|
||||
"sctp": {
|
||||
"label": "SCTP support",
|
||||
"type": "compile",
|
||||
"test": {
|
||||
"include": [ "sys/types.h", "sys/socket.h", "netinet/in.h", "netinet/sctp.h" ],
|
||||
"main": [
|
||||
"sctp_initmsg sctpInitMsg;",
|
||||
"socklen_t sctpInitMsgSize = sizeof(sctpInitMsg);",
|
||||
"(void) socket(PF_INET, SOCK_STREAM, IPPROTO_SCTP);",
|
||||
"(void) getsockopt(-1, SOL_SCTP, SCTP_INITMSG, &sctpInitMsg, &sctpInitMsgSize);"
|
||||
]
|
||||
},
|
||||
"use": "network"
|
||||
},
|
||||
"dtls": {
|
||||
"label": "DTLS support in OpenSSL",
|
||||
"type": "compile",
|
||||
"test": {
|
||||
"include": "openssl/ssl.h",
|
||||
"tail": [
|
||||
"#if defined(OPENSSL_NO_DTLS) || !defined(DTLS1_2_VERSION)",
|
||||
"# error OpenSSL without DTLS support",
|
||||
"#endif"
|
||||
]
|
||||
},
|
||||
"use": "openssl"
|
||||
},
|
||||
"ocsp": {
|
||||
"label": "OCSP stapling support in OpenSSL",
|
||||
"type": "compile",
|
||||
"test": {
|
||||
"include": ["openssl/ssl.h", "openssl/ocsp.h"],
|
||||
"tail": [
|
||||
"#if defined(OPENSSL_NO_OCSP) || defined(OPENSSL_NO_TLSEXT)",
|
||||
"# error OpenSSL without OCSP stapling",
|
||||
"#endif"
|
||||
]
|
||||
},
|
||||
"use": "openssl"
|
||||
},
|
||||
"networklistmanager": {
|
||||
"label": "Network List Manager",
|
||||
"type": "compile",
|
||||
"test": {
|
||||
"include": [ "netlistmgr.h", "wrl/client.h" ],
|
||||
"main": [
|
||||
"using namespace Microsoft::WRL;",
|
||||
"ComPtr<INetworkListManager> networkListManager;",
|
||||
"ComPtr<IConnectionPoint> connectionPoint;",
|
||||
"ComPtr<IConnectionPointContainer> connectionPointContainer;",
|
||||
"networkListManager.As(&connectionPointContainer);",
|
||||
"connectionPointContainer->FindConnectionPoint(IID_INetworkConnectionEvents, &connectionPoint);"
|
||||
],
|
||||
"qmake": "LIBS += -lOle32"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"features": {
|
||||
"getifaddrs": {
|
||||
"label": "getifaddrs()",
|
||||
"condition": "tests.getifaddrs",
|
||||
"output": [ "feature" ]
|
||||
},
|
||||
"ifr_index": {
|
||||
"label": "ifr_index",
|
||||
"condition": "tests.ifr_index",
|
||||
"output": [ "privateFeature" ]
|
||||
},
|
||||
"ipv6ifname": {
|
||||
"label": "IPv6 ifname",
|
||||
"condition": "tests.ipv6ifname",
|
||||
"output": [ "feature" ]
|
||||
},
|
||||
"libproxy": {
|
||||
"label": "libproxy",
|
||||
"autoDetect": false,
|
||||
"condition": "libs.libproxy",
|
||||
"output": [ "privateFeature" ]
|
||||
},
|
||||
"linux-netlink": {
|
||||
"label": "Linux AF_NETLINK",
|
||||
"condition": "config.linux && !config.android && tests.linux-netlink",
|
||||
"output": [ "privateFeature" ]
|
||||
},
|
||||
"openssl": {
|
||||
"label": "OpenSSL",
|
||||
"enable": "false",
|
||||
"condition": "features.openssl-runtime || features.openssl-linked",
|
||||
"output": [
|
||||
"privateFeature",
|
||||
{ "type": "publicQtConfig", "condition": "!features.openssl-linked" },
|
||||
{ "type": "define", "negative": true, "name": "QT_NO_OPENSSL" }
|
||||
]
|
||||
},
|
||||
"openssl-runtime": {
|
||||
"autoDetect": "!config.wasm",
|
||||
"enable": "input.openssl == 'yes' || input.openssl == 'runtime'",
|
||||
"disable": "input.openssl == 'no' || input.openssl == 'linked' || input.ssl == 'no'",
|
||||
"condition": "libs.openssl_headers"
|
||||
},
|
||||
"openssl-linked": {
|
||||
"label": " Qt directly linked to OpenSSL",
|
||||
"autoDetect": false,
|
||||
"enable": "input.openssl == 'linked'",
|
||||
"condition": "libs.openssl",
|
||||
"output": [
|
||||
"privateFeature",
|
||||
{ "type": "define", "name": "QT_LINKED_OPENSSL" }
|
||||
]
|
||||
},
|
||||
"securetransport": {
|
||||
"label": "SecureTransport",
|
||||
"disable": "input.ssl == 'no'",
|
||||
"condition": "config.darwin",
|
||||
"output": [
|
||||
"publicFeature",
|
||||
{ "type": "define", "name": "QT_SECURETRANSPORT" }
|
||||
]
|
||||
},
|
||||
"schannel": {
|
||||
"label": "Schannel",
|
||||
"disable": "input.ssl == 'no'",
|
||||
"condition": "config.win32",
|
||||
"output": [
|
||||
"publicFeature",
|
||||
{ "type": "define", "name": "QT_SCHANNEL" }
|
||||
]
|
||||
},
|
||||
"ssl": {
|
||||
"label": "SSL",
|
||||
"condition": "features.securetransport || features.openssl || features.schannel",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"dtls": {
|
||||
"label": "DTLS",
|
||||
"purpose": "Provides a DTLS implementation",
|
||||
"section": "Networking",
|
||||
"condition": "features.openssl && features.udpsocket && tests.dtls",
|
||||
"output": [ "publicFeature" ]
|
||||
},
|
||||
"ocsp": {
|
||||
"label": "OCSP-stapling",
|
||||
"purpose": "Provides OCSP stapling support",
|
||||
"section": "Networking",
|
||||
"condition": "features.opensslv11 && tests.ocsp",
|
||||
"output": [ "publicFeature" ]
|
||||
},
|
||||
"opensslv11": {
|
||||
"label": "OpenSSL 1.1",
|
||||
"condition": "features.openssl",
|
||||
"output": [ "publicFeature" ]
|
||||
},
|
||||
"sctp": {
|
||||
"label": "SCTP",
|
||||
"autoDetect": false,
|
||||
"condition": "tests.sctp",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"system-proxies": {
|
||||
"label": "Use system proxies",
|
||||
"output": [ "privateFeature" ]
|
||||
},
|
||||
"http": {
|
||||
"label": "HTTP",
|
||||
"purpose": "Provides support for the Hypertext Transfer Protocol in QNetworkAccessManager.",
|
||||
"section": "Networking",
|
||||
"condition": "features.thread",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"udpsocket": {
|
||||
"label": "QUdpSocket",
|
||||
"purpose": "Provides access to UDP sockets.",
|
||||
"section": "Networking",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"networkproxy": {
|
||||
"label": "QNetworkProxy",
|
||||
"purpose": "Provides network proxy support.",
|
||||
"section": "Networking",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"socks5": {
|
||||
"label": "SOCKS5",
|
||||
"purpose": "Provides SOCKS5 support in QNetworkProxy.",
|
||||
"section": "Networking",
|
||||
"condition": "features.networkproxy",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"networkinterface": {
|
||||
"label": "QNetworkInterface",
|
||||
"purpose": "Supports enumerating a host's IP addresses and network interfaces.",
|
||||
"condition": "!config.wasm",
|
||||
"section": "Networking",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"networkdiskcache": {
|
||||
"label": "QNetworkDiskCache",
|
||||
"purpose": "Provides a disk cache for network resources.",
|
||||
"section": "Networking",
|
||||
"condition": "features.temporaryfile",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"brotli": {
|
||||
"label": "Brotli Decompression Support",
|
||||
"purpose": "Support for downloading and decompressing resources compressed with Brotli through QNetworkAccessManager.",
|
||||
"section": "Networking",
|
||||
"condition": "libs.brotli",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"localserver": {
|
||||
"label": "QLocalServer",
|
||||
"purpose": "Provides a local socket based server.",
|
||||
"section": "Networking",
|
||||
"condition": "features.temporaryfile",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"dnslookup": {
|
||||
"label": "QDnsLookup",
|
||||
"purpose": "Provides API for DNS lookups.",
|
||||
"section": "Networking",
|
||||
"output": [ "publicFeature" ]
|
||||
},
|
||||
"gssapi": {
|
||||
"label": "GSSAPI",
|
||||
"purpose": "Enable SPNEGO authentication through GSSAPI",
|
||||
"section": "Networking",
|
||||
"condition": "!config.win32 && libs.gssapi",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"sspi": {
|
||||
"label": "SSPI",
|
||||
"purpose": "Enable NTLM/SPNEGO authentication through SSPI",
|
||||
"section": "Networking",
|
||||
"condition": "config.win32",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"networklistmanager": {
|
||||
"label": "Network List Manager",
|
||||
"purpose": "Use Network List Manager to keep track of network connectivity",
|
||||
"section": "Networking",
|
||||
"condition": "config.win32 && tests.networklistmanager",
|
||||
"output": [ "privateFeature" ]
|
||||
},
|
||||
"topleveldomain": {
|
||||
"label": "qTopLevelDomain()",
|
||||
"purpose": "Provides support for extracting the top level domain from URLs. If enabled, a binary dump of the Public Suffix List (http://www.publicsuffix.org, Mozilla License) is included. The data is then also used in QNetworkCookieJar::validateCookie.",
|
||||
"section": "Networking",
|
||||
"output": [ "publicFeature" ]
|
||||
}
|
||||
},
|
||||
|
||||
"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": [
|
||||
"getifaddrs", "ipv6ifname", "libproxy",
|
||||
{
|
||||
"type": "feature",
|
||||
"args": "linux-netlink",
|
||||
"condition": "config.linux"
|
||||
},
|
||||
{
|
||||
"type": "feature",
|
||||
"args": "securetransport",
|
||||
"condition": "config.darwin"
|
||||
},
|
||||
{
|
||||
"type": "feature",
|
||||
"args": "schannel",
|
||||
"condition": "config.win32"
|
||||
},
|
||||
"openssl",
|
||||
"openssl-linked",
|
||||
"opensslv11",
|
||||
"dtls",
|
||||
"ocsp",
|
||||
"sctp",
|
||||
"system-proxies",
|
||||
"gssapi",
|
||||
"brotli"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -1,77 +0,0 @@
|
||||
|
||||
|
||||
#### Inputs
|
||||
|
||||
# input sqlite
|
||||
set(INPUT_sqlite "undefined" CACHE STRING "")
|
||||
set_property(CACHE INPUT_sqlite PROPERTY STRINGS undefined qt system)
|
||||
|
||||
|
||||
|
||||
#### Libraries
|
||||
|
||||
qt_find_package(DB2 PROVIDED_TARGETS DB2::DB2 MODULE_NAME sqldrivers QMAKE_LIB db2)
|
||||
qt_find_package(MySQL PROVIDED_TARGETS MySQL::MySQL MODULE_NAME sqldrivers QMAKE_LIB mysql)
|
||||
qt_find_package(PostgreSQL PROVIDED_TARGETS PostgreSQL::PostgreSQL MODULE_NAME sqldrivers QMAKE_LIB psql)
|
||||
qt_find_package(Oracle PROVIDED_TARGETS Oracle::OCI MODULE_NAME sqldrivers QMAKE_LIB oci)
|
||||
qt_find_package(ODBC PROVIDED_TARGETS ODBC::ODBC MODULE_NAME sqldrivers QMAKE_LIB odbc)
|
||||
qt_find_package(SQLite3 PROVIDED_TARGETS SQLite::SQLite3 MODULE_NAME sqldrivers QMAKE_LIB sqlite3)
|
||||
if(NOT WIN32 AND QT_FEATURE_system_zlib)
|
||||
qt_add_qmake_lib_dependency(sqlite3 zlib)
|
||||
endif()
|
||||
|
||||
|
||||
#### Tests
|
||||
|
||||
|
||||
|
||||
#### Features
|
||||
|
||||
qt_feature("sql-db2" PRIVATE
|
||||
LABEL "DB2 (IBM)"
|
||||
CONDITION DB2_FOUND
|
||||
)
|
||||
qt_feature("sql-ibase" PRIVATE
|
||||
LABEL "InterBase"
|
||||
CONDITION libs.ibase OR FIXME
|
||||
)
|
||||
qt_feature("sql-mysql" PRIVATE
|
||||
LABEL "MySql"
|
||||
CONDITION MySQL_FOUND
|
||||
)
|
||||
qt_feature("sql-oci" PRIVATE
|
||||
LABEL "OCI (Oracle)"
|
||||
CONDITION Oracle_FOUND
|
||||
)
|
||||
qt_feature("sql-odbc" PRIVATE
|
||||
LABEL "ODBC"
|
||||
CONDITION QT_FEATURE_datestring AND ODBC_FOUND
|
||||
)
|
||||
qt_feature("sql-psql" PRIVATE
|
||||
LABEL "PostgreSQL"
|
||||
CONDITION PostgreSQL_FOUND
|
||||
)
|
||||
qt_feature("sql-sqlite" PRIVATE
|
||||
LABEL "SQLite"
|
||||
CONDITION QT_FEATURE_datestring
|
||||
)
|
||||
qt_feature("system-sqlite" PRIVATE
|
||||
LABEL " Using system provided SQLite"
|
||||
AUTODETECT OFF
|
||||
CONDITION QT_FEATURE_sql_sqlite AND SQLite3_FOUND
|
||||
)
|
||||
qt_configure_add_summary_section(NAME "Qt Sql Drivers")
|
||||
qt_configure_add_summary_entry(ARGS "sql-db2")
|
||||
qt_configure_add_summary_entry(ARGS "sql-ibase")
|
||||
qt_configure_add_summary_entry(ARGS "sql-mysql")
|
||||
qt_configure_add_summary_entry(ARGS "sql-oci")
|
||||
qt_configure_add_summary_entry(ARGS "sql-odbc")
|
||||
qt_configure_add_summary_entry(ARGS "sql-psql")
|
||||
qt_configure_add_summary_entry(ARGS "sql-sqlite")
|
||||
qt_configure_add_summary_entry(ARGS "system-sqlite")
|
||||
qt_configure_end_summary_section() # end of "Qt Sql Drivers" section
|
||||
qt_configure_add_report_entry(
|
||||
TYPE WARNING
|
||||
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."
|
||||
CONDITION WIN32 AND NOT MSVC AND QT_FEATURE_sql_oci
|
||||
)
|
@ -1,201 +0,0 @@
|
||||
{
|
||||
"module": "sqldrivers",
|
||||
"depends": [
|
||||
"core"
|
||||
],
|
||||
"testDir": "../../../config.tests",
|
||||
|
||||
"commandline": {
|
||||
"assignments": {
|
||||
"MYSQL_PATH": "mysql.prefix"
|
||||
},
|
||||
"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",
|
||||
"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" }
|
||||
}
|
||||
},
|
||||
|
||||
"libraries": {
|
||||
"db2": {
|
||||
"label": "DB2 (IBM)",
|
||||
"test": {},
|
||||
"headers": [ "sqlcli.h", "sqlcli1.h" ],
|
||||
"sources": [
|
||||
{ "libs": "-ldb2cli", "condition": "config.win32" },
|
||||
{ "libs": "-ldb2", "condition": "!config.win32" }
|
||||
]
|
||||
},
|
||||
"ibase": {
|
||||
"label": "InterBase",
|
||||
"test": {},
|
||||
"headers": "ibase.h",
|
||||
"sources": [
|
||||
{ "libs": "-lgds32_ms", "condition": "config.win32" },
|
||||
{ "libs": "-lgds", "condition": "!config.win32" }
|
||||
]
|
||||
},
|
||||
"mysql": {
|
||||
"label": "MySQL",
|
||||
"test": {
|
||||
"head": [
|
||||
"#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(WIN64) || defined(_WIN64) || defined(__WIN64__)",
|
||||
"# include <windows.h>",
|
||||
"#endif"
|
||||
],
|
||||
"main": "mysql_get_client_version();"
|
||||
},
|
||||
"headers": "mysql.h",
|
||||
"sources": [
|
||||
{ "type": "mysqlConfig", "query": "--libs_r", "cleanlibs": true },
|
||||
{ "type": "mysqlConfig", "query": "--libs", "cleanlibs": true },
|
||||
{ "type": "mysqlConfig", "query": "--libs_r", "cleanlibs": false },
|
||||
{ "type": "mysqlConfig", "query": "--libs", "cleanlibs": false },
|
||||
{ "libs": "-lmysqlclient_r", "condition": "!config.win32" },
|
||||
{ "libs": "-llibmariadb", "condition": "config.win32" },
|
||||
{ "libs": "-llibmysql", "condition": "config.win32" },
|
||||
{ "libs": "-lmariadb", "condition": "!config.win32" },
|
||||
{ "libs": "-lmysqlclient", "condition": "!config.win32" }
|
||||
]
|
||||
},
|
||||
"psql": {
|
||||
"label": "PostgreSQL",
|
||||
"test": {
|
||||
"main": [
|
||||
"PQescapeBytea(0, 0, 0);",
|
||||
"PQunescapeBytea(0, 0);"
|
||||
]
|
||||
},
|
||||
"headers": "libpq-fe.h",
|
||||
"sources": [
|
||||
{ "type": "pkgConfig", "args": "libpq" },
|
||||
{ "type": "psqlConfig" },
|
||||
{ "type": "psqlEnv", "libs": "-llibpq -lws2_32 -ladvapi32", "condition": "config.win32" },
|
||||
{ "type": "psqlEnv", "libs": "-lpq", "condition": "!config.win32" }
|
||||
]
|
||||
},
|
||||
"oci": {
|
||||
"label": "OCI (Oracle)",
|
||||
"test": {},
|
||||
"headers": "oci.h",
|
||||
"sources": [
|
||||
{ "libs": "-loci", "condition": "config.win32" },
|
||||
{ "libs": "-lclntsh", "condition": "!config.win32" }
|
||||
]
|
||||
},
|
||||
"odbc": {
|
||||
"label": "ODBC",
|
||||
"test": {
|
||||
"head": [
|
||||
"#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(WIN64) || defined(_WIN64) || defined(__WIN64__)",
|
||||
"# include <windows.h>",
|
||||
"#endif"
|
||||
],
|
||||
"main": [
|
||||
"SQLHANDLE env;",
|
||||
"SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &env);"
|
||||
]
|
||||
},
|
||||
"headers": [ "sql.h", "sqlext.h" ],
|
||||
"sources": [
|
||||
{ "libs": "-lodbc32", "condition": "config.win32" },
|
||||
{ "libs": "-liodbc", "condition": "config.darwin" },
|
||||
{ "libs": "-lodbc", "condition": "!config.win32 && !config.darwin" }
|
||||
]
|
||||
},
|
||||
"sqlite3": {
|
||||
"label": "SQLite (version 3)",
|
||||
"export": "sqlite",
|
||||
"test": {
|
||||
"main": "sqlite3_open_v2(0, 0, 0, 0);"
|
||||
},
|
||||
"headers": "sqlite3.h",
|
||||
"sources": [
|
||||
{ "type": "pkgConfig", "args": "sqlite3" },
|
||||
"-lsqlite3"
|
||||
],
|
||||
"use": [
|
||||
{ "lib": "zlib", "condition": "!config.win32 && features.system-zlib" }
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
"tests": {
|
||||
},
|
||||
|
||||
"features": {
|
||||
"sql-db2": {
|
||||
"label": "DB2 (IBM)",
|
||||
"condition": "libs.db2",
|
||||
"output": [ "privateFeature" ]
|
||||
},
|
||||
"sql-ibase": {
|
||||
"label": "InterBase",
|
||||
"condition": "libs.ibase",
|
||||
"output": [ "privateFeature" ]
|
||||
},
|
||||
"sql-mysql": {
|
||||
"label": "MySql",
|
||||
"condition": "libs.mysql",
|
||||
"output": [ "privateFeature" ]
|
||||
},
|
||||
"sql-oci": {
|
||||
"label": "OCI (Oracle)",
|
||||
"condition": "libs.oci",
|
||||
"output": [ "privateFeature" ]
|
||||
},
|
||||
"sql-odbc": {
|
||||
"label": "ODBC",
|
||||
"condition": "features.datestring && libs.odbc",
|
||||
"output": [ "privateFeature" ]
|
||||
},
|
||||
"sql-psql": {
|
||||
"label": "PostgreSQL",
|
||||
"condition": "libs.psql",
|
||||
"output": [ "privateFeature" ]
|
||||
},
|
||||
"sql-sqlite": {
|
||||
"label": "SQLite",
|
||||
"condition": "features.datestring",
|
||||
"output": [ "privateFeature" ]
|
||||
},
|
||||
"system-sqlite": {
|
||||
"label": " Using system provided SQLite",
|
||||
"autoDetect": false,
|
||||
"condition": "features.sql-sqlite && libs.sqlite3",
|
||||
"output": [ "privateFeature" ]
|
||||
}
|
||||
},
|
||||
|
||||
"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 Drivers",
|
||||
"entries": [
|
||||
"sql-db2", "sql-ibase", "sql-mysql", "sql-oci", "sql-odbc", "sql-psql",
|
||||
"sql-sqlite", "system-sqlite"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -1,102 +0,0 @@
|
||||
{
|
||||
"module": "printsupport",
|
||||
"depends": [
|
||||
"core",
|
||||
"gui",
|
||||
"widgets"
|
||||
],
|
||||
"testDir": "../../config.tests",
|
||||
|
||||
"commandline": {
|
||||
"options": {
|
||||
"cups": "boolean"
|
||||
}
|
||||
},
|
||||
|
||||
"libraries": {
|
||||
"cups": {
|
||||
"label": "CUPS",
|
||||
"test": {
|
||||
"main": "cupsGetNamedDest(CUPS_HTTP_DEFAULT, NULL, NULL); // CUPS 1.4 test"
|
||||
},
|
||||
"headers": "cups/cups.h",
|
||||
"sources": [
|
||||
"-lcups"
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
"features": {
|
||||
"cups": {
|
||||
"label": "CUPS",
|
||||
"purpose": "Provides support for the Common Unix Printing System.",
|
||||
"section": "Painting",
|
||||
"condition": "libs.cups && features.printer && features.datestring",
|
||||
"output": [ "privateFeature", "feature" ]
|
||||
},
|
||||
"cupsjobwidget": {
|
||||
"label": "CUPS job control widget",
|
||||
"section": "Widgets",
|
||||
"condition": [
|
||||
"features.buttongroup",
|
||||
"features.calendarwidget",
|
||||
"features.checkbox",
|
||||
"features.combobox",
|
||||
"features.cups",
|
||||
"features.datetimeedit",
|
||||
"features.groupbox",
|
||||
"features.tablewidget"
|
||||
],
|
||||
"output": [ "privateFeature", "feature" ]
|
||||
},
|
||||
"printer": {
|
||||
"label": "QPrinter",
|
||||
"purpose": "Provides a printer backend of QPainter.",
|
||||
"section": "Painting",
|
||||
"condition": "!config.uikit && features.picture && features.temporaryfile && features.pdf",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"printpreviewwidget": {
|
||||
"label": "QPrintPreviewWidget",
|
||||
"purpose": "Provides a widget for previewing page layouts for printer output.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.graphicsview && features.printer && features.mainwindow",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"printdialog": {
|
||||
"label": "QPrintDialog",
|
||||
"purpose": "Provides a dialog widget for specifying printer configuration.",
|
||||
"section": "Dialogs",
|
||||
"condition": [
|
||||
"features.buttongroup",
|
||||
"features.checkbox",
|
||||
"features.combobox",
|
||||
"features.dialog",
|
||||
"features.datetimeedit",
|
||||
"features.dialogbuttonbox",
|
||||
"features.printer",
|
||||
"features.radiobutton",
|
||||
"features.spinbox",
|
||||
"features.tabwidget",
|
||||
"features.treeview"
|
||||
],
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"printpreviewdialog": {
|
||||
"label": "QPrintPreviewDialog",
|
||||
"purpose": "Provides a dialog for previewing and configuring page layouts for printer output.",
|
||||
"section": "Dialogs",
|
||||
"condition": "features.printpreviewwidget && features.printdialog && features.toolbar && features.formlayout",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
}
|
||||
},
|
||||
|
||||
"summary": [
|
||||
{
|
||||
"section": "Qt PrintSupport",
|
||||
"entries": [
|
||||
"cups"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
{
|
||||
"module": "sql",
|
||||
"depends": [
|
||||
"core"
|
||||
],
|
||||
|
||||
"features": {
|
||||
"sqlmodel": {
|
||||
"label": "SQL item models",
|
||||
"purpose": "Provides item model classes backed by SQL databases.",
|
||||
"condition": "features.itemmodel",
|
||||
"output": [ "publicFeature" ]
|
||||
}
|
||||
},
|
||||
|
||||
"summary": [
|
||||
{
|
||||
"section": "Qt Sql",
|
||||
"entries": [ "sqlmodel" ]
|
||||
}
|
||||
]
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
{
|
||||
"module": "testlib",
|
||||
"depends": [
|
||||
"core"
|
||||
],
|
||||
|
||||
"features": {
|
||||
"testlib_selfcover": {
|
||||
"label": "Coverage testing of testlib itself",
|
||||
"purpose": "Gauges how thoroughly testlib's selftest exercises testlib's code",
|
||||
"autoDetect": false,
|
||||
"output": [ "publicFeature" ]
|
||||
},
|
||||
"itemmodeltester": {
|
||||
"label": "Tester for item models",
|
||||
"purpose": "Provides a utility to test item models.",
|
||||
"condition": "features.itemmodel",
|
||||
"output": [ "publicFeature" ]
|
||||
},
|
||||
"valgrind": {
|
||||
"label": "Valgrind",
|
||||
"purpose": "Profiling support with callgrind.",
|
||||
"condition": "(config.linux || config.darwin) && features.process && features.regularexpression",
|
||||
"output": [ "publicFeature" ]
|
||||
}
|
||||
},
|
||||
|
||||
"summary": [
|
||||
{
|
||||
"section": "Qt Testlib",
|
||||
"entries": [ "itemmodeltester" ]
|
||||
}
|
||||
]
|
||||
}
|
@ -1,647 +0,0 @@
|
||||
{
|
||||
"module": "widgets",
|
||||
"depends": [
|
||||
"core-private",
|
||||
"gui"
|
||||
],
|
||||
"testDir": "../../config.tests",
|
||||
|
||||
"commandline": {
|
||||
"options": {
|
||||
"gtk": { "type": "boolean", "name": "gtk3" },
|
||||
"style-windows": "boolean",
|
||||
"style-windowsvista": "boolean",
|
||||
"style-fusion": "boolean",
|
||||
"style-mac": "boolean",
|
||||
"style-android": "boolean"
|
||||
}
|
||||
},
|
||||
|
||||
"libraries": {
|
||||
"gtk3": {
|
||||
"label": "GTK+ >= 3.6",
|
||||
"sources": [
|
||||
{ "type": "pkgConfig", "args": "gtk+-3.0 >= 3.6" }
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
"features": {
|
||||
"gtk3": {
|
||||
"label": "GTK+",
|
||||
"autoDetect": "!config.darwin",
|
||||
"condition": "features.glib && libs.gtk3",
|
||||
"output": [ "privateFeature" ]
|
||||
},
|
||||
"style-fusion": {
|
||||
"label": "Fusion",
|
||||
"output": [ "privateFeature", "styles" ]
|
||||
},
|
||||
"style-mac": {
|
||||
"label": "macOS",
|
||||
"condition": "config.osx && features.animation",
|
||||
"output": [ "privateFeature", "styles" ]
|
||||
},
|
||||
"style-windows": {
|
||||
"label": "Windows",
|
||||
"output": [ "privateFeature", "styles" ]
|
||||
},
|
||||
"style-windowsvista": {
|
||||
"label": "WindowsVista",
|
||||
"condition": "features.style-windows && features.animation && config.win32",
|
||||
"output": [ "privateFeature", "styles" ]
|
||||
},
|
||||
"style-android": {
|
||||
"label": "Android",
|
||||
"autoDetect": "config.android",
|
||||
"output": [ "privateFeature", "styles" ]
|
||||
},
|
||||
"style-stylesheet": {
|
||||
"label": "QStyleSheetStyle",
|
||||
"purpose": "Provides a widget style which is configurable via CSS.",
|
||||
"section": "Styles",
|
||||
"condition": "features.style-windows && features.properties && features.cssparser",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"effects": {
|
||||
"label": "Effects",
|
||||
"purpose": "Provides special widget effects (e.g. fading and scrolling).",
|
||||
"section": "Kernel",
|
||||
"output": [ "privateFeature" ]
|
||||
},
|
||||
"itemviews": {
|
||||
"label": "The Model/View Framework",
|
||||
"purpose": "Provides the model/view architecture managing the relationship between data and the way it is presented to the user.",
|
||||
"section": "ItemViews",
|
||||
"condition": "features.itemmodel && features.scrollarea",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"treewidget": {
|
||||
"label": "QTreeWidget",
|
||||
"purpose": "Provides views using tree models.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.treeview",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"listwidget": {
|
||||
"label": "QListWidget",
|
||||
"purpose": "Provides item-based list widgets.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.listview",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"tablewidget": {
|
||||
"label": "QTableWidget",
|
||||
"purpose": "Provides item-based table views.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.tableview",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"abstractbutton": {
|
||||
"label": "QAbstractButton",
|
||||
"purpose": "Abstract base class of button widgets, providing functionality common to buttons.",
|
||||
"section": "Widgets",
|
||||
"output": [ "publicFeature" ]
|
||||
},
|
||||
"commandlinkbutton": {
|
||||
"label": "QCommandLinkButton",
|
||||
"purpose": "Provides a Vista style command link button.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.pushbutton",
|
||||
"output": [ "publicFeature" ]
|
||||
},
|
||||
"datetimeedit": {
|
||||
"label": "QDateTimeEdit",
|
||||
"purpose": "Supports editing dates and times.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.calendarwidget && features.datetimeparser",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"stackedwidget": {
|
||||
"label": "QStackedWidget",
|
||||
"purpose": "Provides stacked widgets.",
|
||||
"section": "Widgets",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"textbrowser": {
|
||||
"label": "QTextBrowser",
|
||||
"purpose": "Supports HTML document browsing.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.textedit",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"splashscreen": {
|
||||
"label": "QSplashScreen",
|
||||
"purpose": "Supports splash screens that can be shown during application startup.",
|
||||
"section": "Widgets",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"splitter": {
|
||||
"label": "QSplitter",
|
||||
"purpose": "Provides user controlled splitter widgets.",
|
||||
"section": "Widgets",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"widgettextcontrol": {
|
||||
"label": "QWidgetTextControl",
|
||||
"purpose": "Provides text control functionality to other widgets.",
|
||||
"section": "Widgets",
|
||||
"output": [ "privateFeature" ]
|
||||
},
|
||||
"label": {
|
||||
"label": "QLabel",
|
||||
"purpose": "Provides a text or image display.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.widgettextcontrol",
|
||||
"output": [ "publicFeature" ]
|
||||
},
|
||||
"formlayout": {
|
||||
"label": "QFormLayout",
|
||||
"purpose": "Manages forms of input widgets and their associated labels.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.label",
|
||||
"output": [ "publicFeature" ]
|
||||
},
|
||||
"lcdnumber": {
|
||||
"label": "QLCDNumber",
|
||||
"purpose": "Provides LCD-like digits.",
|
||||
"section": "Widgets",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"menu": {
|
||||
"label": "QMenu",
|
||||
"purpose": "Provides popup-menus.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.action && features.pushbutton",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"lineedit": {
|
||||
"label": "QLineEdit",
|
||||
"purpose": "Provides single-line edits.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.widgettextcontrol",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"radiobutton": {
|
||||
"label": "QRadioButton",
|
||||
"purpose": "Provides a radio button with a text label.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.abstractbutton",
|
||||
"output": [ "publicFeature" ]
|
||||
},
|
||||
"spinbox": {
|
||||
"label": "QSpinBox",
|
||||
"purpose": "Provides spin boxes handling integers and discrete sets of values.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.lineedit && features.validator",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"tabbar": {
|
||||
"label": "QTabBar",
|
||||
"purpose": "Provides tab bars, e.g., for use in tabbed dialogs.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.toolbutton",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"tabwidget": {
|
||||
"label": "QTabWidget",
|
||||
"purpose": "Supports stacking tabbed widgets.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.tabbar && features.stackedwidget",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"combobox": {
|
||||
"label": "QComboBox",
|
||||
"purpose": "Provides drop-down boxes presenting a list of options to the user.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.lineedit && features.standarditemmodel && features.listview",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"fontcombobox": {
|
||||
"label": "QFontComboBox",
|
||||
"purpose": "Provides a combobox that lets the user select a font family.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.combobox && features.stringlistmodel",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"checkbox": {
|
||||
"label": "QCheckBox(",
|
||||
"purpose": "Provides a checkbox with a text label.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.abstractbutton",
|
||||
"output": [ "publicFeature" ]
|
||||
},
|
||||
"pushbutton": {
|
||||
"label": "QPushButton",
|
||||
"purpose": "Provides a command button.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.abstractbutton && features.action",
|
||||
"output": [ "publicFeature" ]
|
||||
},
|
||||
"toolbutton": {
|
||||
"label": "QToolButton",
|
||||
"purpose": "Provides quick-access buttons to commands and options.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.abstractbutton && features.action",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"toolbar": {
|
||||
"label": "QToolBar",
|
||||
"purpose": "Provides movable panels containing a set of controls.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.mainwindow",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"toolbox": {
|
||||
"label": "QToolBox",
|
||||
"purpose": "Provides columns of tabbed widget items.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.toolbutton && features.scrollarea",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"groupbox": {
|
||||
"label": "QGroupBox",
|
||||
"purpose": "Provides widget grouping boxes with frames.",
|
||||
"section": "Widgets",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"buttongroup": {
|
||||
"label": "QButtonGroup",
|
||||
"purpose": "Supports organizing groups of button widgets.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.abstractbutton && features.groupbox",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"mainwindow": {
|
||||
"label": "QMainWindow",
|
||||
"purpose": "Provides main application windows.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.menu && features.resizehandler && features.toolbutton",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"dockwidget": {
|
||||
"label": "QDockwidget",
|
||||
"purpose": "Supports docking widgets inside a QMainWindow or floated as a top-level window on the desktop.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.mainwindow",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"mdiarea": {
|
||||
"label": "QMdiArea",
|
||||
"purpose": "Provides an area in which MDI windows are displayed.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.scrollarea",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"resizehandler": {
|
||||
"label": "QWidgetResizeHandler",
|
||||
"purpose": "Provides an internal resize handler for dock widgets.",
|
||||
"section": "Widgets",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"statusbar": {
|
||||
"label": "QStatusBar",
|
||||
"purpose": "Supports presentation of status information.",
|
||||
"section": "Widgets",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"menubar": {
|
||||
"label": "QMenuBar",
|
||||
"purpose": "Provides pull-down menu items.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.menu && features.toolbutton",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"contextmenu": {
|
||||
"label": "Context menus",
|
||||
"purpose": "Adds pop-up menus on right mouse click to numerous widgets.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.menu",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"progressbar": {
|
||||
"label": "QProgressBar",
|
||||
"purpose": "Supports presentation of operation progress.",
|
||||
"section": "Widgets",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"abstractslider": {
|
||||
"label": "QAbstractSlider",
|
||||
"purpose": "Common super class for widgets like QScrollBar, QSlider and QDial.",
|
||||
"section": "Widgets",
|
||||
"output": [ "publicFeature" ]
|
||||
},
|
||||
"slider": {
|
||||
"label": "QSlider",
|
||||
"purpose": "Provides sliders controlling a bounded value.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.abstractslider",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"scrollbar": {
|
||||
"label": "QScrollBar",
|
||||
"purpose": "Provides scrollbars allowing the user access parts of a document that is larger than the widget used to display it.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.slider",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"dial": {
|
||||
"label": "QDial",
|
||||
"purpose": "Provides a rounded range control, e.g., like a speedometer.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.slider",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"scrollarea": {
|
||||
"label": "QScrollArea",
|
||||
"purpose": "Supports scrolling views onto widgets.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.scrollbar",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"scroller": {
|
||||
"label": "QScroller",
|
||||
"purpose": "Enables kinetic scrolling for any scrolling widget or graphics item.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.easingcurve",
|
||||
"output": [ "publicFeature" ]
|
||||
},
|
||||
"graphicsview": {
|
||||
"label": "QGraphicsView",
|
||||
"purpose": "Provides a canvas/sprite framework.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.scrollarea && features.widgettextcontrol",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"graphicseffect": {
|
||||
"label": "QGraphicsEffect",
|
||||
"purpose": "Provides various graphics effects.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.graphicsview",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"textedit": {
|
||||
"label": "QTextEdit",
|
||||
"purpose": "Supports rich text editing.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.scrollarea && features.properties && features.widgettextcontrol",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"syntaxhighlighter": {
|
||||
"label": "QSyntaxHighlighter",
|
||||
"purpose": "Supports custom syntax highlighting.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.textedit",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"rubberband": {
|
||||
"label": "QRubberBand",
|
||||
"purpose": "Supports using rubberbands to indicate selections and boundaries.",
|
||||
"section": "Widgets",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"tooltip": {
|
||||
"label": "QToolTip",
|
||||
"purpose": "Supports presentation of tooltips.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.label",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"statustip": {
|
||||
"label": "Status Tip",
|
||||
"purpose": "Supports status tip functionality and events.",
|
||||
"section": "Widgets",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"sizegrip": {
|
||||
"label": "QSizeGrip",
|
||||
"purpose": "Provides corner-grips for resizing top-level windows.",
|
||||
"section": "Widgets",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"calendarwidget": {
|
||||
"label": "QCalendarWidget",
|
||||
"purpose": "Provides a monthly based calendar widget allowing the user to select a date.",
|
||||
"section": "Widgets",
|
||||
"condition": [
|
||||
"features.label",
|
||||
"features.menu",
|
||||
"features.pushbutton",
|
||||
"features.spinbox",
|
||||
"features.tableview",
|
||||
"features.textdate",
|
||||
"features.toolbutton"
|
||||
],
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"keysequenceedit": {
|
||||
"label": "QKeySequenceEdit",
|
||||
"purpose": "Provides a widget for editing QKeySequences.",
|
||||
"section": "Widgets",
|
||||
"condition": "features.lineedit && features.shortcut",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"dialog" : {
|
||||
"label": "QDialog",
|
||||
"purpose": "Base class of dialog windows.",
|
||||
"section": "Dialogs",
|
||||
"output": [ "publicFeature" ]
|
||||
},
|
||||
"dialogbuttonbox": {
|
||||
"label": "QDialogButtonBox",
|
||||
"purpose": "Presents buttons in a layout that is appropriate for the current widget style.",
|
||||
"section": "Dialogs",
|
||||
"condition": "features.dialog && features.pushbutton",
|
||||
"output": [ "publicFeature" ]
|
||||
},
|
||||
"messagebox": {
|
||||
"label": "QMessageBox",
|
||||
"purpose": "Provides message boxes displaying informative messages and simple questions.",
|
||||
"section": "Dialogs",
|
||||
"condition" : [
|
||||
"features.checkbox",
|
||||
"features.dialog",
|
||||
"features.dialogbuttonbox",
|
||||
"features.label",
|
||||
"features.pushbutton"
|
||||
],
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"colordialog": {
|
||||
"label": "QColorDialog",
|
||||
"purpose": "Provides a dialog widget for specifying colors.",
|
||||
"section": "Dialogs",
|
||||
"condition": [
|
||||
"features.dialog",
|
||||
"features.dialogbuttonbox",
|
||||
"features.label",
|
||||
"features.pushbutton",
|
||||
"features.spinbox"
|
||||
],
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"filedialog": {
|
||||
"label": "QFileDialog",
|
||||
"purpose": "Provides a dialog widget for selecting files or directories.",
|
||||
"section": "Dialogs",
|
||||
"condition": [
|
||||
"features.buttongroup",
|
||||
"features.combobox",
|
||||
"features.dialog",
|
||||
"features.dialogbuttonbox",
|
||||
"features.filesystemmodel",
|
||||
"features.label",
|
||||
"features.proxymodel",
|
||||
"features.splitter",
|
||||
"features.stackedwidget",
|
||||
"features.treeview",
|
||||
"features.toolbutton"
|
||||
],
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"fontdialog": {
|
||||
"label": "QFontDialog",
|
||||
"purpose": "Provides a dialog widget for selecting fonts.",
|
||||
"section": "Dialogs",
|
||||
"condition": [
|
||||
"features.checkbox",
|
||||
"features.combobox",
|
||||
"features.dialog",
|
||||
"features.dialogbuttonbox",
|
||||
"features.groupbox",
|
||||
"features.label",
|
||||
"features.pushbutton",
|
||||
"features.stringlistmodel",
|
||||
"features.validator"
|
||||
],
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"progressdialog": {
|
||||
"label": "QProgressDialog",
|
||||
"purpose": "Provides feedback on the progress of a slow operation.",
|
||||
"section": "Dialogs",
|
||||
"condition": [
|
||||
"features.dialog",
|
||||
"features.label",
|
||||
"features.pushbutton",
|
||||
"features.progressbar"
|
||||
],
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"inputdialog": {
|
||||
"label": "QInputDialog",
|
||||
"purpose": "Provides a simple convenience dialog to get a single value from the user.",
|
||||
"section": "Dialogs",
|
||||
"condition": [
|
||||
"features.combobox",
|
||||
"features.dialog",
|
||||
"features.dialogbuttonbox",
|
||||
"features.label",
|
||||
"features.pushbutton",
|
||||
"features.spinbox",
|
||||
"features.stackedwidget",
|
||||
"features.textedit"
|
||||
],
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"errormessage": {
|
||||
"label": "QErrorMessage",
|
||||
"purpose": "Provides an error message display dialog.",
|
||||
"section": "Dialogs",
|
||||
"condition": [
|
||||
"features.checkbox",
|
||||
"features.dialog",
|
||||
"features.textedit",
|
||||
"features.label",
|
||||
"features.pushbutton",
|
||||
"features.textedit"
|
||||
],
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"wizard": {
|
||||
"label": "QWizard",
|
||||
"purpose": "Provides a framework for multi-page click-through dialogs.",
|
||||
"section": "Dialogs",
|
||||
"condition": [
|
||||
"features.dialog",
|
||||
"features.pushbutton",
|
||||
"features.properties",
|
||||
"features.label"
|
||||
],
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"listview": {
|
||||
"label": "QListView",
|
||||
"purpose": "Provides a list or icon view onto a model.",
|
||||
"section": "ItemViews",
|
||||
"condition": "features.itemviews",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"tableview": {
|
||||
"label": "QTableView",
|
||||
"purpose": "Provides a default model/view implementation of a table view.",
|
||||
"section": "ItemViews",
|
||||
"condition": "features.itemviews",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"treeview": {
|
||||
"label": "QTreeView",
|
||||
"purpose": "Provides a default model/view implementation of a tree view.",
|
||||
"section": "ItemViews",
|
||||
"condition": "features.itemviews",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"datawidgetmapper": {
|
||||
"label": "QDataWidgetMapper",
|
||||
"purpose": "Provides mapping between a section of a data model to widgets.",
|
||||
"section": "ItemViews",
|
||||
"condition": "features.itemviews && features.properties",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"columnview": {
|
||||
"label": "QColumnView",
|
||||
"purpose": "Provides a model/view implementation of a column view.",
|
||||
"section": "ItemViews",
|
||||
"condition": "features.listview",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"completer": {
|
||||
"label": "QCompleter",
|
||||
"purpose": "Provides completions based on an item model.",
|
||||
"section": "Utilities",
|
||||
"condition": "features.proxymodel && features.itemviews",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"fscompleter": {
|
||||
"label": "QFSCompleter",
|
||||
"purpose": "Provides file name completion in QFileDialog.",
|
||||
"section": "Utilities",
|
||||
"condition": "features.filesystemmodel && features.completer",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
},
|
||||
"undoview": {
|
||||
"label": "QUndoView",
|
||||
"purpose": "Provides a widget which shows the contents of an undo stack.",
|
||||
"section": "Utilities",
|
||||
"condition": "features.undostack && features.listview",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
}
|
||||
},
|
||||
|
||||
"report": [
|
||||
],
|
||||
|
||||
"summary": [
|
||||
{
|
||||
"section": "Qt Widgets",
|
||||
"entries": [
|
||||
"gtk3",
|
||||
{
|
||||
"message": "Styles",
|
||||
"type": "featureList",
|
||||
"args": "style-fusion style-mac style-windows style-windowsvista style-android"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
{
|
||||
"module": "xml",
|
||||
"depends": [
|
||||
"core"
|
||||
],
|
||||
"testDir": "../../config.tests",
|
||||
|
||||
"features": {
|
||||
"dom": {
|
||||
"label": "DOM",
|
||||
"purpose": "Supports the Document Object Model.",
|
||||
"section": "File I/O",
|
||||
"output": [ "publicFeature", "feature" ]
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user