diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2019-04-25 12:51:49 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2019-04-27 07:32:53 +0000 |
commit | bbfc95914fa21f2025bb29ae17103502265e2cf6 (patch) | |
tree | 633460072061936db62b373844cb68befaf9a36b | |
parent | a3acf568d1785d15ebf4d9973df6f9c277d5158a (diff) |
Fix determination of OpenGL include paths on macOS, take 3
The sysrootification of QMAKE_INCDIR_OPENGL on macOS must happen only
once. Commit 49ef3773 addressed this but stored the sysrootified
QMAKE_INCDIR_OPENGL in qt_lib_gui_private.pri. For installer packages,
these paths are the paths of the build machine and most likely wrong
on the user's machine.
This reverts commit 4949ef377349ba4dae840c2d5caa36e2d516707baa and
restores the sysrootification in sdk.prf. The original include paths
are assigned to QMAKE_EXPORT_INCDIR_OPENGL and stored as
QMAKE_INCDIR_OPENGL in qt_lib_gui_private.pri.
Fixes: QTBUG-75374
Task-number: QTBUG-73736
Change-Id: I4c0f65866d60660c632363dba3adc7ea2e344bfc
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
-rw-r--r-- | mkspecs/common/mac.conf | 2 | ||||
-rw-r--r-- | mkspecs/features/mac/sdk.prf | 7 | ||||
-rw-r--r-- | mkspecs/features/qt_configure.prf | 8 | ||||
-rw-r--r-- | src/gui/configure.json | 2 | ||||
-rw-r--r-- | src/gui/configure.pri | 11 |
5 files changed, 16 insertions, 14 deletions
diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf index f21ba5ec51..b77494ec9b 100644 --- a/mkspecs/common/mac.conf +++ b/mkspecs/common/mac.conf @@ -17,7 +17,7 @@ QMAKE_EXTENSION_SHLIB = dylib QMAKE_EXTENSIONS_AUX_SHLIB = tbd QMAKE_LIBDIR = -# qtConfLibrary_openglMakeSpec will prefix the proper SDK sysroot +# sdk.prf will prefix the proper SDK sysroot QMAKE_INCDIR_OPENGL = \ /System/Library/Frameworks/OpenGL.framework/Headers \ /System/Library/Frameworks/AGL.framework/Headers/ diff --git a/mkspecs/features/mac/sdk.prf b/mkspecs/features/mac/sdk.prf index 50a41657d8..3a9c2778bb 100644 --- a/mkspecs/features/mac/sdk.prf +++ b/mkspecs/features/mac/sdk.prf @@ -33,6 +33,13 @@ QMAKE_MAC_SDK_PATH = $$xcodeSDKInfo(Path) QMAKE_MAC_SDK_PLATFORM_PATH = $$xcodeSDKInfo(PlatformPath) QMAKE_MAC_SDK_VERSION = $$xcodeSDKInfo(SDKVersion) +isEmpty(QMAKE_EXPORT_INCDIR_OPENGL) { + QMAKE_EXPORT_INCDIR_OPENGL = $$QMAKE_INCDIR_OPENGL + sysrootified = + for(val, QMAKE_INCDIR_OPENGL): sysrootified += $${QMAKE_MAC_SDK_PATH}$$val + QMAKE_INCDIR_OPENGL = $$sysrootified +} + QMAKESPEC_NAME = $$basename(QMAKESPEC) # Resolve SDK version of various tools diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf index aa4348235e..b2dd846b11 100644 --- a/mkspecs/features/qt_configure.prf +++ b/mkspecs/features/qt_configure.prf @@ -786,6 +786,11 @@ defineTest(qtConfLibrary_makeSpec) { !qtConfResolvePathIncs($${1}.includedir, $$eval(QMAKE_INCDIR_$$spec), $$2): \ return(false) + !isEmpty(QMAKE_EXPORT_INCDIR_$$spec) { + $${1}.exportincludedir = $$eval(QMAKE_EXPORT_INCDIR_$$spec) + export($${1}.exportincludedir) + } + # note that the object is re-exported, because we resolve the libraries. return(true) @@ -953,7 +958,8 @@ defineTest(qtConfExportLibrary) { } defines = $$eval($${spfx}.defines) !isEmpty(defines): qtConfOutputVar(assign, $$output, QMAKE_DEFINES_$$NAME, $$defines) - includes = $$eval($${spfx}.includedir) + includes = $$eval($${spfx}.exportincludedir) + isEmpty(includes): includes = $$eval($${spfx}.includedir) !isEmpty(includes): qtConfOutputVar(assign, $$output, QMAKE_INCDIR_$$NAME, $$includes) uses = $$eval($${lpfx}.dependencies) !isEmpty(uses) { diff --git a/src/gui/configure.json b/src/gui/configure.json index 6fdcd562a7..5039934c26 100644 --- a/src/gui/configure.json +++ b/src/gui/configure.json @@ -448,7 +448,7 @@ ], "sources": [ { "type": "pkgConfig", "args": "gl", "condition": "!config.darwin" }, - { "type": "openglMakeSpec" } + { "type": "makeSpec", "spec": "OPENGL" } ] }, "opengl_es2": { diff --git a/src/gui/configure.pri b/src/gui/configure.pri index 0db106597e..1b95449a10 100644 --- a/src/gui/configure.pri +++ b/src/gui/configure.pri @@ -15,17 +15,6 @@ defineTest(qtConfLibrary_freetype) { return(true) } -defineTest(qtConfLibrary_openglMakeSpec) { - darwin:sdk { - sysrootified = - for(val, QMAKE_INCDIR_OPENGL): sysrootified += $${QMAKE_MAC_SDK_PATH}$$val - QMAKE_INCDIR_OPENGL = $$sysrootified - } - $${1}.spec = OPENGL - !qtConfLibrary_makeSpec($$1, $$2): return(false) - return(true) -} - # Check for Direct X shader compiler 'fxc'. # Up to Direct X SDK June 2010 and for MinGW, this is pointed to by the # DXSDK_DIR variable. Starting with Windows Kit 8, it is included in |