diff options
-rw-r--r-- | src/angle/src/common/common.pri | 16 | ||||
-rw-r--r-- | src/gui/configure.json | 11 | ||||
-rw-r--r-- | src/gui/configure.pri | 31 |
3 files changed, 31 insertions, 27 deletions
diff --git a/src/angle/src/common/common.pri b/src/angle/src/common/common.pri index b64dbd3e36..df29269786 100644 --- a/src/angle/src/common/common.pri +++ b/src/angle/src/common/common.pri @@ -22,21 +22,7 @@ lib_replace.replace = \$\$\$\$[QT_INSTALL_LIBS] lib_replace.CONFIG = path QMAKE_PRL_INSTALL_REPLACE += lib_replace -# DirectX is included in the Windows 8 Kit, but everything else requires the DX SDK. -winrt|msvc { - FXC = fxc.exe -} else { - DX_DIR = $$(DXSDK_DIR) - isEmpty(DX_DIR) { - error("Cannot determine DirectX SDK location. Please set DXSDK_DIR environment variable.") - } - - equals(QMAKE_TARGET.arch, x86_64) { - FXC = \"$${DX_DIR}Utilities\\bin\\x64\\fxc.exe\" - } else { - FXC = \"$${DX_DIR}Utilities\\bin\\x86\\fxc.exe\" - } -} +FXC = $$shell_quote($$shell_path($$QMAKE_FXC_LOCATION)) win32 { VERSION = $$MODULE_VERSION diff --git a/src/gui/configure.json b/src/gui/configure.json index dd48567cb9..db78c7900c 100644 --- a/src/gui/configure.json +++ b/src/gui/configure.json @@ -728,10 +728,6 @@ } }, - "testTypeAliases": { - "files": [ "fxc" ] - }, - "tests": { "angle_d3d11_qdtd": { "label": "D3D11_QUERY_DATA_TIMESTAMP_DISJOINT", @@ -747,9 +743,7 @@ "fxc": { "label": "Direct3D Shader Compiler", "type": "fxc", - "files": [ - "fxc.exe" - ] + "log": "value" }, "drm_atomic": { "label": "DRM Atomic API", @@ -1010,7 +1004,8 @@ "condition": "features.dxguid && tests.fxc && (features.direct3d9 || (config.winrt && features.direct3d11 && libs.d3dcompiler))", "output": [ "publicFeature", - { "type": "define", "name": "QT_OPENGL_ES_2_ANGLE" } + { "type": "define", "name": "QT_OPENGL_ES_2_ANGLE" }, + { "type": "varAssign", "name": "QMAKE_FXC_LOCATION", "value": "tests.fxc.value" } ] }, "angle_d3d11_qdtd": { diff --git a/src/gui/configure.pri b/src/gui/configure.pri index c264b387fc..1b95449a10 100644 --- a/src/gui/configure.pri +++ b/src/gui/configure.pri @@ -20,12 +20,35 @@ defineTest(qtConfLibrary_freetype) { # DXSDK_DIR variable. Starting with Windows Kit 8, it is included in # the Windows SDK. defineTest(qtConfTest_fxc) { - dxdir = $$getenv("DXSDK_DIR") - !isEmpty(dxdir) { - EXTRA_PATH += $$dxdir/Utilities/bin/x86 + !mingw { + fxc = $$qtConfFindInPath("fxc.exe") + } else { + equals(QMAKE_HOST.arch, x86_64): \ + fns = x64/fxc.exe + else: \ + fns = x86/fxc.exe + dxdir = $$(DXSDK_DIR) + !isEmpty(dxdir) { + fxc = $$dxdir/Utilities/bin/$$fns + } else { + winkitbindir = $$(WindowsSdkVerBinPath) + !isEmpty(winkitbindir) { + fxc = $$winkitbindir/$$fns + } else { + winkitdir = $$(WindowsSdkDir) + !isEmpty(winkitdir): \ + fxc = $$winkitdir/bin/$$fns + } + } } - qtConfTest_files($${1}): return(true) + !isEmpty(fxc):exists($$fxc) { + $${1}.value = $$clean_path($$fxc) + export($${1}.value) + $${1}.cache += value + export($${1}.cache) + return(true) + } return(false) } |