summaryrefslogtreecommitdiffstats
path: root/src/gui/configure.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/configure.cmake')
-rw-r--r--src/gui/configure.cmake83
1 files changed, 68 insertions, 15 deletions
diff --git a/src/gui/configure.cmake b/src/gui/configure.cmake
index 51acfaf6f3..a4554791cf 100644
--- a/src/gui/configure.cmake
+++ b/src/gui/configure.cmake
@@ -532,6 +532,68 @@ xcb_xkb_get_kbd_by_name_replies_key_names_value_list_sizeof(nullptr, 0, 0, 0, 0,
}
")
+# special case begin
+# directwrite (assumes DirectWrite2)
+qt_config_compile_test(directwrite
+ LABEL "WINDOWS directwrite"
+ LIBRARIES
+ dwrite
+ CODE
+"#include <dwrite_2.h>
+int main(int, char **)
+{
+ IUnknown *factory = nullptr;
+ DWriteCreateFactory(DWRITE_FACTORY_TYPE_SHARED, __uuidof(IDWriteFactory2),
+ &factory);
+ return 0;
+}
+")
+
+# directwrite3 (not present in MinGW)
+qt_config_compile_test(directwrite3
+ LABEL "WINDOWS directwrite3"
+ LIBRARIES
+ dwrite
+ CODE
+"#include <dwrite_3.h>
+int main(int, char **)
+{
+ IUnknown *factory = nullptr;
+ DWriteCreateFactory(DWRITE_FACTORY_TYPE_SHARED, __uuidof(IDWriteFactory3),
+ &factory);
+ return 0;
+}
+")
+
+qt_config_compile_test(d2d1
+ LABEL "WINDOWS Direct2D"
+ LIBRARIES
+ d2d1
+ CODE
+"#include <d2d1.h>
+int main(int, char **)
+{
+ void *factory = nullptr;
+ D2D1_FACTORY_OPTIONS options{0};
+ D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, GUID{}, &options, &factory);
+ return 0;
+}
+")
+
+qt_config_compile_test(d2d1_1
+ LABEL "WINDOWS Direct2D 1.1"
+ LIBRARIES
+ d2d1
+ CODE
+"#include <d2d1_1.h>
+int main(int, char **)
+{
+ ID2D1Factory1 *d2dFactory;
+ D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, &d2dFactory);
+ return 0;
+}
+")
+# special case end
#### Features
@@ -549,31 +611,21 @@ qt_feature("directfb" PRIVATE
)
qt_feature("directwrite" PRIVATE
LABEL "DirectWrite"
- CONDITION libs.dwrite OR FIXME
- EMIT_IF WIN32
-)
-qt_feature("directwrite1" PRIVATE
- LABEL "DirectWrite 1"
- CONDITION libs.dwrite_1 OR FIXME
+ CONDITION TEST_directwrite # special case
EMIT_IF WIN32
)
qt_feature("directwrite3" PRIVATE
LABEL "DirectWrite 3"
- CONDITION QT_FEATURE_directwrite1 AND libs.dwrite_3 OR FIXME
- EMIT_IF WIN32
-)
-qt_feature("directwrite2" PRIVATE
- LABEL "DirectWrite 2"
- CONDITION QT_FEATURE_directwrite1 AND libs.dwrite_2 OR FIXME
+ CONDITION QT_FEATURE_directwrite AND TEST_directwrite3 # special case
EMIT_IF WIN32
)
qt_feature("direct2d" PRIVATE
LABEL "Direct 2D"
- CONDITION WIN32 AND libs.d2d1 OR FIXME
+ CONDITION WIN32 AND NOT WINRT AND TEST_d2d1 # special case
)
qt_feature("direct2d1_1" PRIVATE
LABEL "Direct 2D 1.1"
- CONDITION QT_FEATURE_direct2d AND libs.d2d1_1 OR FIXME
+ CONDITION QT_FEATURE_direct2d AND TEST_d2d1_1 # special case
)
qt_feature("evdev" PRIVATE
LABEL "evdev"
@@ -1219,8 +1271,9 @@ qt_configure_end_summary_section() # end of "GL integrations" section
qt_configure_end_summary_section() # end of "XCB" section
qt_configure_add_summary_section(NAME "Windows")
qt_configure_add_summary_entry(ARGS "direct2d")
+qt_configure_add_summary_entry(ARGS "direct2d1_1") ### special case
qt_configure_add_summary_entry(ARGS "directwrite")
-qt_configure_add_summary_entry(ARGS "directwrite2")
+qt_configure_add_summary_entry(ARGS "directwrite3")
qt_configure_end_summary_section() # end of "Windows" section
qt_configure_end_summary_section() # end of "QPA backends" section
qt_configure_add_report_entry(