Fix simplification of conditions involving apple

Previously a condition like APPLE AND (NOT APPLE_OSX) got simplified
to APPLE, which is wrong.

This happened by accident due to some sub-family simplifications
involving BSD, which APPLE was part of.

Technically APPLE is BSD derived, but for the purposes of the
conversion script consider APPLE not to be a BSD (hopefully there
should be no cases of using the bsd scope for apple machines in
qmake files.

Also regenerate the fontdatabase project, where the issue was found.

Change-Id: I18dcf4f29ffbff48c183ba95ca2a2e5cd5325d86
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
Alexandru Croitor 2019-04-02 14:13:27 +02:00
parent 72e0f74e31
commit e2e4525f78
2 changed files with 6 additions and 2 deletions

View File

@ -32,7 +32,6 @@ extend_target(FontDatabaseSupport CONDITION APPLE
${FWCoreGraphics}
${FWCoreText}
${FWFoundation}
${FWUIKit}
)
#### Keys ignored in scope 2:.:fontdatabases.pro:APPLE:
@ -50,6 +49,11 @@ extend_target(FontDatabaseSupport CONDITION APPLE_OSX
${FWAppKit}
)
extend_target(FontDatabaseSupport CONDITION APPLE AND NOT APPLE_OSX
LIBRARIES
${FWUIKit}
)
extend_target(FontDatabaseSupport CONDITION QT_FEATURE_freetype
SOURCES
freetype/qfontengine_ft.cpp freetype/qfontengine_ft_p.h

View File

@ -1069,7 +1069,7 @@ def _recursive_simplify(expr):
windowses = ('WIN32', 'WINRT')
apples = ('APPLE_OSX', 'APPLE_UIKIT', 'APPLE_IOS',
'APPLE_TVOS', 'APPLE_WATCHOS',)
bsds = ('APPLE', 'FREEBSD', 'OPENBSD', 'NETBSD',)
bsds = ('FREEBSD', 'OPENBSD', 'NETBSD',)
androids = ('ANDROID', 'ANDROID_EMBEDDED')
unixes = ('APPLE', *apples, 'BSD', *bsds, 'LINUX',
*androids, 'HAIKU',