Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorj.spijker@ultimaker.com <jelle spijker>2022-08-03 09:50:53 +0300
committerjspijker <j.spijker@ultimaker.com>2022-08-03 09:51:41 +0300
commitcf548613ca733d410e61b545e1104e3c1ea58415 (patch)
tree04449e1845cd6b6d79172a66a8aa64dc28366b38
parentf95b22404ad6b6b56ea156433c0dca8b4b04d2f0 (diff)
Add cura env to Run environments
Contributes to CURA-8831
-rw-r--r--conanfile.py37
1 files changed, 36 insertions, 1 deletions
diff --git a/conanfile.py b/conanfile.py
index a43cea1977..4c9111fb9a 100644
--- a/conanfile.py
+++ b/conanfile.py
@@ -11,7 +11,7 @@ from jinja2 import Template
from conans import tools
from conan import ConanFile
from conan.tools import files
-from conan.tools.env import VirtualRunEnv
+from conan.tools.env import VirtualRunEnv, Environment
from conan.errors import ConanInvalidConfiguration
required_conan_version = ">=1.47.0"
@@ -57,6 +57,37 @@ class CuraConan(ConanFile):
"revision": "auto"
}
+ # TODO: Add unit tests (but they need a different jinja template
+ _pycharm_targets = [{
+ "name": "cura",
+ "module_name": "Cura",
+ "script_name": "cura_app.py",
+ }, {
+ "name": "cura_external_engine",
+ "module_name": "Cura",
+ "script_name": "cura_app.py",
+ "parameters": "--external-backend"
+ }
+ ]
+
+ # FIXME: These env vars should be defined in the runenv.
+ _cura_env = None
+
+ @property
+ def _cura_run_env(self):
+ if self._cura_env:
+ return self._cura_env
+
+ self._cura_env = Environment()
+ self._cura_env.define("QML2_IMPORT_PATH", str(self._site_packages.joinpath("PyQt6", "Qt6", "qml")))
+ self._cura_env.define("QT_PLUGIN_PATH", str(self._site_packages.joinpath("PyQt6", "Qt6", "plugins")))
+
+ if self.settings.os == "Linux":
+ self._cura_env.define("QT_QPA_FONTDIR", "/usr/share/fonts")
+ self._cura_env.define("QT_QPA_PLATFORMTHEME", "xdgdesktopportal")
+ self._cura_env.define("QT_XKB_CONFIG_ROOT", "/usr/share/X11/xkb")
+ return self._cura_env
+
@property
def _staging(self):
return self.options.staging in ["True", 'true']
@@ -235,6 +266,10 @@ class CuraConan(ConanFile):
self.cpp.package.resdirs = ["resources", "plugins", "packaging", "pip_requirements"] # pip_requirements should be the last item in the list
def generate(self):
+ cura_run_envvars = self._cura_run_env.vars(self, scope = "run")
+ ext = ".ps1" if self.settings.os == "Windows" else ".sh"
+ cura_run_envvars.save_script(self.folders.generators.joinpath(f"cura_run_environment{ext}"))
+
vr = VirtualRunEnv(self)
vr.generate()