1# Copyright 2005-2019 The Mumble Developers. All rights reserved.
2# Use of this source code is governed by a BSD-style license
3# that can be found in the LICENSE file at the root of the
4# Mumble source tree or at <https://www.mumble.info/LICENSE>.
5
6include (../qmake/compiler.pri)
7
8VERSION = 1.3.3
9TARGET_EXT = .dll
10TEMPLATE = lib
11CONFIG -= qt
12CONFIG *= dll shared debug_and_release warn_on
13CONFIG -= embed_manifest_dll
14RC_FILE = mumble_ol.rc
15SOURCES = ancestor.cpp lib.cpp olsettings.cpp excludecheck.cpp d3d9.cpp dxgi.cpp d3d10.cpp d3d11.cpp ods.cpp opengl.cpp HardHook.cpp D11StateBlock.cpp
16HEADERS = ancestor.h lib.h olsettings.h excludecheck.h ods.h HardHook.h overlay_blacklist.h D11StateBlock.h ../3rdparty/GL/glext.h
17EFFECTS = overlay.fx
18DX11_PIXEL_SHADERS = overlay11.ps
19DX11_VERTEX_SHADERS = overlay11.vs
20
21DEFINES -= UNICODE
22
23QMAKE_CXXFLAGS_RELEASE -= -MD
24QMAKE_CXXFLAGS_DEBUG -= -MDd
25
26QMAKE_CXXFLAGS_RELEASE *= -MT
27QMAKE_CXXFLAGS_DEBUG *= -MTd
28
29LIBS *= -ldxguid -luuid -lole32 -luser32 -ladvapi32
30LIBS *= -ld3d9 -ld3d10 -ld3d11 -ld3dcompiler -ldxgi
31
32CONFIG(force-x86_64-toolchain) {
33  DEFINES += USE_MINHOOK
34  INCLUDEPATH *= ../3rdparty/minhook-src/include
35  LIBS *= -lminhook
36}
37
38CONFIG(debug, debug|release) {
39  DEFINES *= DEBUG
40}
41
42QMAKE_LIBDIR = $$DESTDIR $$QMAKE_LIBDIR
43
44# Override fxc binary for the x86 build.
45CONFIG(force-x86-toolchain) {
46  exists($$DXSDK_DIR) {
47    FXC = "\"$$(DXSDK_DIR)\\Utilities\\bin\\x86\\fxc.exe\""
48  } else {
49    FXC = fxc.exe
50  }
51} else {
52  FXC = fxc.exe
53}
54
55fxc.output = ${QMAKE_FILE_BASE}.hex
56fxc.commands = $${FXC} /Tfx_4_0 /O3 /Fh${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
57fxc.input = EFFECTS
58fxc.CONFIG *= no_link target_predeps
59QMAKE_EXTRA_COMPILERS *= fxc
60
61vs11.output = ${QMAKE_FILE_BASE}.ps.h
62vs11.commands = $${FXC} /Tvs_5_0 /O3 /Vng_vertex_shader /Fh${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
63vs11.input = DX11_VERTEX_SHADERS
64vs11.CONFIG *= no_link target_predeps
65QMAKE_EXTRA_COMPILERS *= vs11
66
67ps11.output = ${QMAKE_FILE_BASE}.vs.h
68ps11.commands = $${FXC} /Tps_5_0 /O3 /Vng_pixel_shader /Fh${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
69ps11.input = DX11_PIXEL_SHADERS
70ps11.CONFIG *= no_link target_predeps
71QMAKE_EXTRA_COMPILERS *= ps11
72