Add native CAD plugin to Enterprise edition

The native CAD plugin has been added to the requirements and reference copy operations in the Conan data file and Conan file script.
Now the native CAD plugin will only be included if the enterprise build flag is set. This ensures that unnecessary dependencies are not brought into non-enterprise builds.
This commit is contained in:
Jelle Spijker 2024-03-11 11:01:53 +01:00
parent 1f3f2cf198
commit ee23e2cf67
No known key found for this signature in database
GPG key ID: 0E9129B3096F4E72
2 changed files with 19 additions and 0 deletions

View file

@ -231,6 +231,8 @@ class CuraConan(ConanFile):
else:
src_path = os.path.join(self.source_folder, data["src"])
else:
if data["package"] not in self.deps_cpp_info.deps:
continue
src_path = os.path.join(self.deps_cpp_info[data["package"]].rootpath, data["src"])
elif "root" in data: # get the paths relative from the install folder
src_path = os.path.join(self.install_folder, data["root"], data["src"])
@ -343,6 +345,8 @@ class CuraConan(ConanFile):
for req in self.conan_data["requirements"]:
if self._internal and "fdm_materials" in req:
continue
if not self._enterprise and "native_cad_plugin" in req:
continue
self.requires(req)
if self._internal:
for req in self.conan_data["requirements_internal"]:
@ -393,6 +397,12 @@ class CuraConan(ConanFile):
copy(self, "*", curaengine_plugin_gradual_flow.bindirs[0], self.source_folder, keep_path = False)
copy(self, "bundled_*.json", curaengine_plugin_gradual_flow.resdirs[1], str(self.source_path.joinpath("resources", "bundled_packages")), keep_path = False)
if self._enterprise:
rmdir(self, str(self.source_path.joinpath("plugins", "NativeCADplugin")))
curaengine_plugin_gradual_flow = self.dependencies["native_cad_plugin"].cpp_info
copy(self, "*", curaengine_plugin_gradual_flow.resdirs[0], str(self.source_path.joinpath("plugins", "NativeCADplugin")), keep_path = True)
copy(self, "bundled_*.json", curaengine_plugin_gradual_flow.resdirs[1], str(self.source_path.joinpath("resources", "bundled_packages")), keep_path = False)
# Copy resources of cura_binary_data
cura_binary_data = self.dependencies["cura_binary_data"].cpp_info
copy(self, "*", cura_binary_data.resdirs[0], str(self._share_dir.joinpath("cura")), keep_path = True)