summaryrefslogtreecommitdiffstats
path: root/src/shadertools/shadertools.pro
diff options
context:
space:
mode:
Diffstat (limited to 'src/shadertools/shadertools.pro')
-rw-r--r--src/shadertools/shadertools.pro41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/shadertools/shadertools.pro b/src/shadertools/shadertools.pro
new file mode 100644
index 0000000..e9123b3
--- /dev/null
+++ b/src/shadertools/shadertools.pro
@@ -0,0 +1,41 @@
+TARGET = QtShaderTools
+
+QT += gui-private
+
+DEFINES += QT_BUILD_SHADERTOOLS_LIB
+
+HEADERS += \
+ $$PWD/qtshadertoolsglobal.h \
+ $$PWD/qshaderbaker.h \
+ $$PWD/qspirvshader_p.h \
+ $$PWD/qspirvcompiler_p.h \
+ $$PWD/qshaderbatchablerewriter_p.h
+
+SOURCES += \
+ $$PWD/qshaderbaker.cpp \
+ $$PWD/qspirvshader.cpp \
+ $$PWD/qspirvcompiler.cpp \
+ $$PWD/qshaderbatchablerewriter.cpp
+
+INCLUDEPATH += $$PWD/../3rdparty/SPIRV-Cross $$PWD/../3rdparty/glslang
+
+# Exceptions must be enabled since that is the only sane way to get errors reported from SPIRV-Cross.
+# They will not propagate outside of this module though so should be safe enough.
+CONFIG += exceptions
+
+!exists($$[QT_HOST_DATA]/.qmake.cache) {
+ LIBLOC = $$shadowed($$dirname(_QMAKE_CONF_))/lib
+} else {
+ LIBLOC = $$[QT_HOST_LIBS]
+}
+
+STATICLIBS = qtspirv-cross qtglslang-glslang qtglslang-spirv qtglslang-osdependent qtglslang-oglcompiler # qtglslang-hlsl
+for(libname, STATICLIBS) {
+ staticlib = $$LIBLOC/$${QMAKE_PREFIX_STATICLIB}$$qtLibraryTarget($$libname).$${QMAKE_EXTENSION_STATICLIB}
+ LIBS_PRIVATE += $$staticlib
+ PRE_TARGETDEPS += $$staticlib
+}
+
+include($$PWD/doc/doc.pri)
+
+load(qt_module)