diff options
Diffstat (limited to 'src/gui/configure.cmake')
-rw-r--r-- | src/gui/configure.cmake | 83 |
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( |