1
0
mirror of https://github.com/woo-j/zint.git synced 2024-12-23 13:33:55 +03:00
zint/backend_qt
Schaich 7e3d0f2405 Fix compilation with Qt <= 5.12
The `__has_feature` macro is a clang extension that works like a macro. If
zint is being compiled using a compiler other then clang, `__has_feature`
is not defined. As it is not defined, it cannot be used as a function call
expression. Any environment that doesn't have `__has_feature` should prevent
the preprocessor from "seeing" the invokation of the macro, as invoking
undefined macros is not supported by the C language.

The usual procedure to assure this would be a construction like
  \#if defined(__has_feature)
  \#  if __has_feature(...)
  \#  endif
  \#endif

which, combined with the GCC check we have here, would result in a
3 level nesting of if and elseif expressions .. and that's without
covering microsoft's compiler.

For this purpose, Qt >= 5.13 has been defining the `__has_feature`
macro on non-clang environments, while defining all (clang) features
to not be available. This allows to write feature checks with "less"
nesting, as we have here.

Mimic Qt-5.13's behavior and provide the `__has_feature` macro if
it's not provided otherwise (either by clang or by Qt), allowing the
function-call-like expression to be parsed on those systems.
2021-11-11 15:51:34 +09:00
..
tests Fix compilation with Qt <= 5.12 2021-11-11 15:51:34 +09:00
backend_qt_zintdll.pro Restore backend_qt - static only now; qzint: legacy support for renamed methods 2021-06-24 18:31:08 +01:00
backend_qt.pro PDF417: fix cols/rows calculation to require multiple <= 928 codewords; 2021-10-30 22:00:31 +01:00
backend_vc8.pro PDF417: fix cols/rows calculation to require multiple <= 928 codewords; 2021-10-30 22:00:31 +01:00
CMakeLists.txt Add compliant height, using ZINT_COMPLIANT_HEIGHT flag for back-compatibility 2021-10-09 00:13:39 +01:00
qzint.cpp Add compliant height, using ZINT_COMPLIANT_HEIGHT flag for back-compatibility 2021-10-09 00:13:39 +01:00
qzint.h Add compliant height, using ZINT_COMPLIANT_HEIGHT flag for back-compatibility 2021-10-09 00:13:39 +01:00