diff --git a/BuildBotLib/cmake.py b/BuildBotLib/cmake.py
index 7bb534a..1ee9c9e 100644
--- a/BuildBotLib/cmake.py
+++ b/BuildBotLib/cmake.py
@@ -2,6 +2,7 @@
 
 from BuildBotLib.make import Make
 from BuildBotLib.secretManager import SecretManager
+from buildbot.plugins import steps, util
 import multiprocessing
 import os
 
@@ -95,8 +96,9 @@ class CMake(Make):
 
         return ' '.join(options)
 
-    def getQtMajorVersion(self):
-        qtDir = os.getenv('QTDIR', "")
+    def getQtMajorVersion(self, props):
+        qtDir = str(props.getProperty('QTDIR', ''))
+
         if "5." in qtDir :
             return "5"
         elif "6." in qtDir:
@@ -156,3 +158,17 @@ class CMake(Make):
         options += defines
 
         return ' '.join(options)
+
+    def getFactory(self):
+        factory = super().getFactory()
+
+        factory.insertToBegin(
+            steps.SetPropertiesFromEnv(
+                variables=["QTDIR", "QTDIR"])
+                name='git QTDIR',
+                description='QTDIR',
+            )
+        )
+
+        return factory
+
diff --git a/BuildBotLib/stepfactory.py b/BuildBotLib/stepfactory.py
index f266638..c2516a8 100644
--- a/BuildBotLib/stepfactory.py
+++ b/BuildBotLib/stepfactory.py
@@ -4,18 +4,27 @@ from buildbot.plugins import util
 
 class StepFactory:
     def __init__(self, pwd):
-        self.factory = util.BuildFactory()
-        self.factory.workdir = pwd
         self.pwd = pwd
+        self.array = []
+
+    def insertToBegin(self, step):
+        step.workdir = self.pwd
+        self.array = [step] + self.array
 
     def addStep(self, step):
         step.workdir = self.pwd
 
-        self.factory.addStep(step)
+        self.array += step
 
     def addSteps(self, steps):
         for step in steps:
             self.addStep(step)
 
     def source(self):
-        return self.factory
+        factory = util.BuildFactory()
+        for step in array:
+            factory.addStep(step)
+
+        factory.workdir = self.pwd
+
+        return factory