summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaj Grönholm <kaj.gronholm@qt.io>2019-11-28 10:05:04 +0200
committerKaj Grönholm <kaj.gronholm@qt.io>2019-11-28 12:52:18 +0200
commit2977dfd540f6c2d65053a7da11a49363d7a38184 (patch)
tree7fbc3de8895cacfd892aab86c62efbcc88a4e1da
parent115151c68893ac02e6d4228d18894f4a8fc7217c (diff)
Fix building & running runtime autotests
Building shouldn't change on mingw while enabling QT3DS_AUTOTEST_EXPORT on other platforms like before a06fe05660. Task-number: QT3DS-4014 Change-Id: Ic0f8ba487c3e8843312fa79f3f21d7c519ce71ce Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
-rw-r--r--commoninclude.pri5
-rw-r--r--src/foundation/Qt3DSPreprocessor.h8
-rw-r--r--tests/auto/runtime/shadergenerator/Qt3DSRenderTestDefaultMaterialGenerator.cpp3
-rw-r--r--tests/auto/runtime/shadergenerator/Qt3DSRenderTestEffectGenerator.cpp4
4 files changed, 18 insertions, 2 deletions
diff --git a/commoninclude.pri b/commoninclude.pri
index 2bd555b..93be674 100644
--- a/commoninclude.pri
+++ b/commoninclude.pri
@@ -22,6 +22,11 @@ QT += core gui openglextensions
DEFINES += COMPILED_FROM_DSP QT3DSDM_USE_NVLOG QT3DSDM_META_DATA_NO_SIGNALS
+!mingw {
+ # Enable autotest exports for non-mingw platforms
+ DEFINES += QT3DS_AUTOTESTS_ENABLED
+}
+
INCLUDEPATH += \
$$PWD/src \
$$PWD/src/datamodel \
diff --git a/src/foundation/Qt3DSPreprocessor.h b/src/foundation/Qt3DSPreprocessor.h
index 98b60c6..066a38e 100644
--- a/src/foundation/Qt3DSPreprocessor.h
+++ b/src/foundation/Qt3DSPreprocessor.h
@@ -188,7 +188,15 @@ no definition - this will allow DLLs and libraries to use the exported API from
#define QT3DS_FOUNDATION_API
#endif
+#if defined(QT3DS_AUTOTESTS_ENABLED)
+#if defined(QT3DS_BUILDING_LIBRARY)
+#define QT3DS_AUTOTEST_EXPORT Q_DECL_EXPORT
+#else
+#define QT3DS_AUTOTEST_EXPORT Q_DECL_IMPORT
+#endif
+#else
#define QT3DS_AUTOTEST_EXPORT QT3DS_FOUNDATION_API
+#endif
/**
Calling convention
diff --git a/tests/auto/runtime/shadergenerator/Qt3DSRenderTestDefaultMaterialGenerator.cpp b/tests/auto/runtime/shadergenerator/Qt3DSRenderTestDefaultMaterialGenerator.cpp
index 1e2c07e..145907c 100644
--- a/tests/auto/runtime/shadergenerator/Qt3DSRenderTestDefaultMaterialGenerator.cpp
+++ b/tests/auto/runtime/shadergenerator/Qt3DSRenderTestDefaultMaterialGenerator.cpp
@@ -546,7 +546,8 @@ bool Qt3DSRenderTestDefaultMaterialGenerator::run(NVRenderContext *context,
NVRenderShaderProgram *program
= qt3dsRenderer()->GenerateShader(params->renderable,
toConstDataRef(params->features.data(),
- (QT3DSU32)params->features.size()));
+ (QT3DSU32)params->features.size()),
+ false);
if (!program) {
success = false;
} else {
diff --git a/tests/auto/runtime/shadergenerator/Qt3DSRenderTestEffectGenerator.cpp b/tests/auto/runtime/shadergenerator/Qt3DSRenderTestEffectGenerator.cpp
index 48346e6..b54178b 100644
--- a/tests/auto/runtime/shadergenerator/Qt3DSRenderTestEffectGenerator.cpp
+++ b/tests/auto/runtime/shadergenerator/Qt3DSRenderTestEffectGenerator.cpp
@@ -98,10 +98,12 @@ bool GenShader(IQt3DSRenderContext &qt3dsContext, SEffect &effect, qt3dsdm::SMet
dynamic::SCommand &command = *metaEffect->m_EffectCommands[i];
if (command.m_Type == dynamic::CommandTypes::Enum::BindShader) {
dynamic::SBindShader *bindShader = static_cast<dynamic::SBindShader *>(&command);
+ QString error;
NVRenderShaderProgram *theProgram =
qt3dsContext.GetDynamicObjectSystem()
.GetShaderProgram(bindShader->m_ShaderPath, bindShader->m_ShaderDefine,
- TShaderFeatureSet(), dynamic::SDynamicShaderProgramFlags())
+ TShaderFeatureSet(), dynamic::SDynamicShaderProgramFlags(),
+ error)
.first;
if (!theProgram)
success = false;