diff --git a/profiles/cura.jinja b/profiles/cura.jinja index 0d7f1a0..45ba58b 100644 --- a/profiles/cura.jinja +++ b/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 %} diff --git a/profiles/cura_build_optimized.jinja b/profiles/cura_build_optimized.jinja deleted file mode 100644 index 9b82f13..0000000 --- a/profiles/cura_build_optimized.jinja +++ /dev/null @@ -1,101 +0,0 @@ -include(default) - -# Optimized Cura Build Profile -# Generated based on C++ compatibility analysis -# Handles mixed C++ standard requirements across components - -[replace_requires] -{% if platform.system() == 'Linux' %} -# FIXME: once gRPC is updated to 1.67.0 or higher -# Using 255.10 or higher https://github.com/conan-io/conan-center-index/issues/24889 -# https://github.com/conan-io/conan-center-index/blob/879e140d9438ab491aceea766d0cf0ae3595dae8/recipes/grpc/all/conanfile.py#L122 -libsystemd/*: libsystemd/[>=255.10] -{% endif %} - -[settings] -# Default C++ standard for components that support it (libSavitar, libnest2d) -compiler.cppstd=17 - -# C++20 overrides for components that require it -curaengine*:compiler.cppstd=20 -curaengine_plugin_infill_generate*:compiler.cppstd=20 -curaengine_plugin_gradual_flow*:compiler.cppstd=20 -curaengine_grpc_definitions*:compiler.cppstd=20 -scripta*:compiler.cppstd=20 -umspatial*:compiler.cppstd=20 -dulcificum*:compiler.cppstd=20 -uvula*:compiler.cppstd=20 -curator/*:compiler.cppstd=20 -arcus*:compiler.cppstd=20 -pyarcus*:compiler.cppstd=20 - -# Optimize build type for release builds -build_type=Release - -[options] -# gRPC optimizations - disable unused plugins -asio-grpc/*:local_allocator=recycling_allocator -grpc/*:csharp_plugin=False -grpc/*:node_plugin=False -grpc/*:objective_c_plugin=False -grpc/*:php_plugin=False -grpc/*:ruby_plugin=False -grpc/*:python_plugin=False - -# Boost header-only for better compatibility -boost/*:header_only=True - -# Platform-specific optimizations -{% if platform.system() == 'Linux' %} -openssl/*:shared=True -{% endif %} - -# Python bindings - shared libraries for proper module loading -pyarcus/*:shared=True -pysavitar/*:shared=True -pynest2d/*:shared=True -cpython/*:shared=True -cpython/*:with_tkinter=False -cpython/*:with_curses=False - -# Python dependencies - required for ARM64 builds -mpdecimal/*:shared=True - -# Dulcificum library configuration -{% if platform.system() == 'Windows' %} -dulcificum/*:shared=False -{% else %} -dulcificum/*:shared=True -{% endif %} - -# Core library configurations -clipper/*:shared=True -arcus/*:shared=True - -# OneTBB configuration - disable tbbproxy for ARM64 compatibility -onetbb/*:tbbproxy=False - -# Optimization flags -{% if platform.system() == 'Windows' %} -curaengine/*:enable_more_compiler_optimization_flags=True -{% endif %} - -# Disable testing for faster builds -curaengine/*:enable_benchmarks=False -curaengine/*:enable_extensive_warnings=False - -[conf] -# Skip tests to speed up builds -tools.build:skip_test=True - -# Compiler-specific optimizations -{% if platform.system() == 'Windows' %} -tools.cmake.cmaketoolchain:generator=Ninja -{% endif %} - -# Memory optimization for large builds -tools.system.package_manager:mode=install -tools.system.package_manager:sudo=True - -# Build parallelization -tools.build:jobs={{ os.cpu_count() }} \ No newline at end of file