Skip to content

Commit 18b22d2

Browse files
committed
Enhance package function to copy JS/WASM assets and define asset path for consumers
1 parent 2060f17 commit 18b22d2

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

conanfile.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -164,17 +164,14 @@ def deploy(self):
164164
copy(self, "*", src=os.path.join(self.package_folder, "bin"), dst=self.install_folder)
165165

166166
def package(self):
167+
copy(self, pattern="libnest2d_js*", src=os.path.join(self.build_folder, "libnest2d_js"),
168+
dst=os.path.join(self.package_folder, "bin"))
169+
copy(self, f"*.d.ts", src=self.build_folder, dst=os.path.join(self.package_folder, "bin"), keep_path = False)
170+
copy(self, f"*.js", src=self.build_folder, dst=os.path.join(self.package_folder, "bin"), keep_path = False)
171+
copy(self, f"*.wasm", src=self.build_folder, dst=os.path.join(self.package_folder, "bin"), keep_path = False)
167172
packager = AutoPackager(self)
168173
packager.run()
169174

170-
# Specifically handle the Emscripten assets
171-
if self.settings.os == "Emscripten":
172-
bin_dir = os.path.join(self.package_folder, "bin")
173-
build_dir = self.build_folder
174-
copy(self, "libnest2d_js.js", build_dir, bin_dir)
175-
copy(self, "libnest2d_js.wasm", build_dir, bin_dir)
176-
copy(self, "*.d.ts", build_dir, bin_dir, keep_path=False)
177-
178175
# Remove the header files from options not used in this package
179176
if self.options.geometries != "clipper":
180177
files.rmdir(self, os.path.join(self.package_folder, "include", "libnest2d", "backends", "clipper"))
@@ -195,3 +192,6 @@ def package_info(self):
195192
# npm package json for Emscripten builds
196193
if self.settings.os == "Emscripten" or self.options.get_safe("with_js_bindings", False):
197194
self.python_requires["npmpackage"].module.conf_package_json(self)
195+
# Expose the path to the JS/WASM assets for consumers
196+
js_asset_path = os.path.join(self.package_folder, "bin")
197+
self.conf_info.define("user.nest2d:js_path", js_asset_path)

0 commit comments

Comments
 (0)