Browse Source

Merge pull request #27 from Ultimaker/CURA-12814

Add optimized Cura build profile for mixed C++ standards
pull/25/merge
HellAholic 2 months ago committed by GitHub
parent
commit
4111a9f353
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 21
      extensions/generators/VirtualPythonEnv.py
  2. 8
      profiles/cura.jinja

21
extensions/generators/VirtualPythonEnv.py

@ -153,7 +153,26 @@ class VirtualPythonEnv:
if hasattr(conanfile, "conan_data") and conanfile.conan_data is not None and data_key in conanfile.conan_data:
pip_requirements_data = conanfile.conan_data[data_key]
for system in (system for system in pip_requirements_data if system in ("any_os", actual_os)):
# Build list of applicable system keys: any_os, OS name, and OS_architecture combinations
actual_arch = str(conanfile.settings.arch) if hasattr(conanfile.settings, "arch") else None
system_keys = ["any_os", actual_os]
# Add architecture-specific keys (e.g., "Windows_x64", "Linux_x86_64")
if actual_arch:
# Map Conan architecture names to common naming conventions
arch_mapping = {
"x86_64": "x64",
"armv8": "arm64",
"armv8_32": "arm",
}
normalized_arch = arch_mapping.get(actual_arch, actual_arch)
system_keys.append(f"{actual_os}_{normalized_arch}")
# Also try with original arch name
if normalized_arch != actual_arch:
system_keys.append(f"{actual_os}_{actual_arch}")
for system in (system for system in pip_requirements_data if system in system_keys):
for package_name, package_desc in pip_requirements_data[system].items():
try:

8
profiles/cura.jinja

@ -46,3 +46,11 @@ dulcificum/*:shared=False
dulcificum/*:shared=True
{% endif %}
clipper/*:shared=True
{% if platform.system() == 'Windows' and platform.machine() in ['arm64', 'aarch64', 'ARM64'] %}
# ARM64 Windows: CPython requires mpdecimal as shared library
mpdecimal/*:shared=True
# ARM64 Windows: Arcus needs to be shared for proper Python binding
arcus/*:shared=True
# ARM64 Windows: Disable tbbproxy (not available on ARM64 platforms)
onetbb/*:tbbproxy=False
{% endif %}

Loading…
Cancel
Save