Compare commits
23 Commits
v2.01.01.5
...
v2.02.01.6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d8620a4d4d | ||
|
|
6b46f9fd48 | ||
|
|
71252cf326 | ||
|
|
6ec016a6f8 | ||
|
|
8177bf8912 | ||
|
|
523aea89af | ||
|
|
f16489db9c | ||
|
|
56232999f5 | ||
|
|
5cdfef9f9e | ||
|
|
0c78224f1a | ||
|
|
eec6d77112 | ||
|
|
72a3a1e841 | ||
|
|
87acaa14f7 | ||
|
|
dab82d0248 | ||
|
|
15dd71693d | ||
|
|
2fa18f50c6 | ||
|
|
38c3592758 | ||
|
|
8a68adb427 | ||
|
|
661b112a68 | ||
|
|
8d4d60ec48 | ||
|
|
e3f49c2fb5 | ||
|
|
5effa59bd0 | ||
|
|
8ed41b9f06 |
3
.gitignore
vendored
@@ -28,3 +28,6 @@ SVG
|
||||
**/machine_full/
|
||||
**/filament_full/
|
||||
.idea/
|
||||
test.js
|
||||
/.cache/
|
||||
.clangd
|
||||
244
BuildMac.sh
Normal file
@@ -0,0 +1,244 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -o pipefail
|
||||
|
||||
while getopts "1dpa:st:xbc:h" opt; do
|
||||
case "${opt}" in
|
||||
d )
|
||||
export BUILD_TARGET="deps"
|
||||
;;
|
||||
p )
|
||||
export PACK_DEPS="1"
|
||||
;;
|
||||
a )
|
||||
export ARCH="$OPTARG"
|
||||
;;
|
||||
s )
|
||||
export BUILD_TARGET="slicer"
|
||||
;;
|
||||
t )
|
||||
export OSX_DEPLOYMENT_TARGET="$OPTARG"
|
||||
;;
|
||||
x )
|
||||
export SLICER_CMAKE_GENERATOR="Ninja"
|
||||
export SLICER_BUILD_TARGET="all"
|
||||
export DEPS_CMAKE_GENERATOR="Ninja"
|
||||
;;
|
||||
b )
|
||||
export BUILD_ONLY="1"
|
||||
;;
|
||||
c )
|
||||
export BUILD_CONFIG="$OPTARG"
|
||||
;;
|
||||
1 )
|
||||
export CMAKE_BUILD_PARALLEL_LEVEL=1
|
||||
;;
|
||||
h ) echo "Usage: ./BuildMac.sh [-1][-d][-s][-x][-b][-c]"
|
||||
echo " -d: Build deps"
|
||||
echo " -a: Set ARCHITECTURE (arm64 or x86_64 or universal)"
|
||||
echo " -s: Build slicer only"
|
||||
echo " -t: Specify minimum version of the target platform, default is 10.15"
|
||||
echo " -x: Use Ninja CMake generator, default is Xcode"
|
||||
echo " -b: Build without reconfiguring CMake"
|
||||
echo " -c: Set CMake build configuration, default is Release"
|
||||
echo " -1: limit builds to 1 core (where possible)"
|
||||
exit 0
|
||||
;;
|
||||
* )
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -z "$ARCH" ]; then
|
||||
ARCH="$(uname -m)"
|
||||
export ARCH
|
||||
fi
|
||||
|
||||
if [ -z "$BUILD_CONFIG" ]; then
|
||||
export BUILD_CONFIG="Release"
|
||||
fi
|
||||
|
||||
if [ -z "$BUILD_TARGET" ]; then
|
||||
export BUILD_TARGET="all"
|
||||
fi
|
||||
|
||||
if [ -z "$SLICER_CMAKE_GENERATOR" ]; then
|
||||
export SLICER_CMAKE_GENERATOR="Xcode"
|
||||
fi
|
||||
|
||||
if [ -z "$SLICER_BUILD_TARGET" ]; then
|
||||
export SLICER_BUILD_TARGET="ALL_BUILD"
|
||||
fi
|
||||
|
||||
if [ -z "$DEPS_CMAKE_GENERATOR" ]; then
|
||||
export DEPS_CMAKE_GENERATOR="Unix Makefiles"
|
||||
fi
|
||||
|
||||
if [ -z "$OSX_DEPLOYMENT_TARGET" ]; then
|
||||
export OSX_DEPLOYMENT_TARGET="10.15"
|
||||
fi
|
||||
|
||||
echo "Build params:"
|
||||
echo " - ARCH: $ARCH"
|
||||
echo " - BUILD_CONFIG: $BUILD_CONFIG"
|
||||
echo " - BUILD_TARGET: $BUILD_TARGET"
|
||||
echo " - CMAKE_GENERATOR: $SLICER_CMAKE_GENERATOR for Slicer, $DEPS_CMAKE_GENERATOR for deps"
|
||||
echo " - OSX_DEPLOYMENT_TARGET: $OSX_DEPLOYMENT_TARGET"
|
||||
echo " - CMAKE_BUILD_PARALLEL_LEVEL: $CMAKE_BUILD_PARALLEL_LEVEL"
|
||||
echo
|
||||
|
||||
PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROJECT_BUILD_DIR="$PROJECT_DIR/build/$ARCH"
|
||||
DEPS_DIR="$PROJECT_DIR/deps"
|
||||
DEPS_BUILD_DIR="$DEPS_DIR/build/$ARCH"
|
||||
DEPS="$DEPS_BUILD_DIR/QIDIStudio_deps"
|
||||
|
||||
if [ "$SLICER_CMAKE_GENERATOR" == "Xcode" ]; then
|
||||
export BUILD_DIR_CONFIG_SUBDIR="/$BUILD_CONFIG"
|
||||
else
|
||||
export BUILD_DIR_CONFIG_SUBDIR=""
|
||||
fi
|
||||
|
||||
function build_deps() {
|
||||
# iterate over two architectures: x86_64 and arm64
|
||||
for _ARCH in x86_64 arm64; do
|
||||
# if ARCH is universal or equal to _ARCH
|
||||
if [ "$ARCH" == "universal" ] || [ "$ARCH" == "$_ARCH" ]; then
|
||||
|
||||
PROJECT_BUILD_DIR="$PROJECT_DIR/build/$_ARCH"
|
||||
DEPS_BUILD_DIR="$DEPS_DIR/build/$_ARCH"
|
||||
DEPS="$DEPS_BUILD_DIR/QIDIStudio_deps"
|
||||
|
||||
echo "Building deps..."
|
||||
(
|
||||
set -x
|
||||
mkdir -p "$DEPS"
|
||||
cd "$DEPS_BUILD_DIR"
|
||||
if [ "1." != "$BUILD_ONLY". ]; then
|
||||
cmake "${DEPS_DIR}" \
|
||||
-G "${DEPS_CMAKE_GENERATOR}" \
|
||||
-DDESTDIR="$DEPS" \
|
||||
-DOPENSSL_ARCH="darwin64-${_ARCH}-cc" \
|
||||
-DCMAKE_BUILD_TYPE="$BUILD_CONFIG" \
|
||||
-DCMAKE_OSX_ARCHITECTURES:STRING="${_ARCH}" \
|
||||
-DCMAKE_OSX_DEPLOYMENT_TARGET="${OSX_DEPLOYMENT_TARGET}"
|
||||
fi
|
||||
cmake --build . --parallel ${CMAKE_BUILD_PARALLEL_LEVEL} --config "$BUILD_CONFIG" --target deps
|
||||
)
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
function pack_deps() {
|
||||
echo "Packing deps..."
|
||||
(
|
||||
set -x
|
||||
cd "$DEPS_DIR"
|
||||
tar -zcvf "QIDIStudio_dep_mac_${ARCH}_$(date +"%Y%m%d").tar.gz" "build"
|
||||
)
|
||||
}
|
||||
|
||||
function build_slicer() {
|
||||
# iterate over two architectures: x86_64 and arm64
|
||||
for _ARCH in x86_64 arm64; do
|
||||
# if ARCH is universal or equal to _ARCH
|
||||
if [ "$ARCH" == "universal" ] || [ "$ARCH" == "$_ARCH" ]; then
|
||||
|
||||
PROJECT_BUILD_DIR="$PROJECT_DIR/build/$_ARCH"
|
||||
DEPS_BUILD_DIR="$DEPS_DIR/build/$_ARCH"
|
||||
DEPS="$DEPS_BUILD_DIR/QIDIStudio_deps"
|
||||
|
||||
echo "Building slicer for $_ARCH..."
|
||||
(
|
||||
set -x
|
||||
mkdir -p "$PROJECT_BUILD_DIR"
|
||||
cd "$PROJECT_BUILD_DIR"
|
||||
if [ "1." != "$BUILD_ONLY". ]; then
|
||||
cmake "${PROJECT_DIR}" \
|
||||
-G "${SLICER_CMAKE_GENERATOR}" \
|
||||
-DQDT_RELEASE_TO_PUBLIC=1 \
|
||||
-DQDT_INTERNAL_TESTING=0 \
|
||||
-DCMAKE_PREFIX_PATH="$DEPS/usr/local" \
|
||||
-DCMAKE_INSTALL_PREFIX="$PWD/QIDIStudio" \
|
||||
-DCMAKE_BUILD_TYPE="$BUILD_CONFIG" \
|
||||
-DCMAKE_MACOSX_RPATH=ON \
|
||||
-DCMAKE_INSTALL_RPATH="${DEPS}/usr/local" \
|
||||
-DCMAKE_MACOSX_BUNDLE=ON \
|
||||
-DCMAKE_OSX_ARCHITECTURES="${_ARCH}" \
|
||||
-DCMAKE_OSX_DEPLOYMENT_TARGET="${OSX_DEPLOYMENT_TARGET}"
|
||||
fi
|
||||
cmake --build . --config "$BUILD_CONFIG" --target "$SLICER_BUILD_TARGET"
|
||||
)
|
||||
|
||||
|
||||
echo "Fix macOS app package..."
|
||||
(
|
||||
cd "$PROJECT_BUILD_DIR"
|
||||
mkdir -p QIDIStudio
|
||||
cd QIDIStudio
|
||||
# remove previously built app
|
||||
rm -rf ./QIDIStudio.app
|
||||
# fully copy newly built app
|
||||
cp -pR "../src$BUILD_DIR_CONFIG_SUBDIR/QIDIStudio.app" ./QIDIStudio.app
|
||||
# fix resources
|
||||
resources_path=$(readlink ./QIDIStudio.app/Contents/Resources)
|
||||
rm ./QIDIStudio.app/Contents/Resources
|
||||
cp -R "$resources_path" ./QIDIStudio.app/Contents/Resources
|
||||
# delete .DS_Store file
|
||||
find ./QIDIStudio.app/ -name '.DS_Store' -delete
|
||||
)
|
||||
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
function build_universal() {
|
||||
echo "Building universal binary..."
|
||||
|
||||
PROJECT_BUILD_DIR="$PROJECT_DIR/build/$ARCH"
|
||||
|
||||
# Create universal binary
|
||||
echo "Creating universal binary..."
|
||||
# PROJECT_BUILD_DIR="$PROJECT_DIR/build_Universal"
|
||||
mkdir -p "$PROJECT_BUILD_DIR/QIDIStudio"
|
||||
UNIVERSAL_APP="$PROJECT_BUILD_DIR/QIDIStudio/QIDIStudio.app"
|
||||
rm -rf "$UNIVERSAL_APP"
|
||||
cp -R "$PROJECT_DIR/build/arm64/QIDIStudio/QIDIStudio.app" "$UNIVERSAL_APP"
|
||||
|
||||
# Get the binary path inside the .app bundle
|
||||
BINARY_PATH="Contents/MacOS/QIDIStudio"
|
||||
|
||||
# Create universal binary using lipo
|
||||
lipo -create \
|
||||
"$PROJECT_DIR/build/x86_64/QIDIStudio/QIDIStudio.app/$BINARY_PATH" \
|
||||
"$PROJECT_DIR/build/arm64/QIDIStudio/QIDIStudio.app/$BINARY_PATH" \
|
||||
-output "$UNIVERSAL_APP/$BINARY_PATH"
|
||||
|
||||
echo "Universal binary created at $UNIVERSAL_APP"
|
||||
}
|
||||
|
||||
case "${BUILD_TARGET}" in
|
||||
all)
|
||||
build_deps
|
||||
build_slicer
|
||||
;;
|
||||
deps)
|
||||
build_deps
|
||||
;;
|
||||
slicer)
|
||||
build_slicer
|
||||
;;
|
||||
*)
|
||||
echo "Unknown target: $BUILD_TARGET. Available targets: deps, slicer, all."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ "$ARCH" = "universal" ] && [ "$BUILD_TARGET" != "deps" ]; then
|
||||
build_universal
|
||||
fi
|
||||
|
||||
if [ "1." == "$PACK_DEPS". ]; then
|
||||
pack_deps
|
||||
fi
|
||||
@@ -55,7 +55,10 @@ if (APPLE)
|
||||
if (CMAKE_MACOSX_BUNDLE)
|
||||
set(CMAKE_INSTALL_RPATH @executable_path/../Frameworks)
|
||||
endif()
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version" FORCE)
|
||||
if (NOT CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version" FORCE)
|
||||
endif ()
|
||||
message(STATUS "CMAKE_OSX_DEPLOYMENT_TARGET: ${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
||||
elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
set(CMAKE_INSTALL_RPATH "$ORIGIN")
|
||||
endif ()
|
||||
@@ -247,6 +250,8 @@ if (NOT MSVC AND ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMP
|
||||
# On GCC and Clang, no return from a non-void function is a warning only. Here, we make it an error.
|
||||
add_compile_options(-Werror=return-type)
|
||||
|
||||
# add_compile_options(-Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-label -Wno-unused-local-typedefs)
|
||||
|
||||
# removes LOTS of extraneous Eigen warnings (GCC only supports it since 6.1)
|
||||
# https://eigen.tuxfamily.org/bz/show_bug.cgi?id=1221
|
||||
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0)
|
||||
@@ -260,6 +265,10 @@ if (NOT MSVC AND ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMP
|
||||
add_compile_options(-Wno-deprecated-declarations)
|
||||
endif()
|
||||
|
||||
if((${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" OR ${CMAKE_CXX_COMPILER_ID} STREQUAL "AppleClang") AND ${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER 15)
|
||||
add_compile_options(-Wno-error=enum-constexpr-conversion)
|
||||
endif()
|
||||
|
||||
#GCC generates loads of -Wunknown-pragmas when compiling igl. The fix is not easy due to a bug in gcc, see
|
||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66943 or
|
||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53431
|
||||
@@ -314,7 +323,7 @@ if(WIN32)
|
||||
add_definitions(-D_USE_MATH_DEFINES -D_WIN32 -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS)
|
||||
if(MSVC)
|
||||
# BOOST_ALL_NO_LIB: Avoid the automatic linking of Boost libraries on Windows. Rather rely on explicit linking.
|
||||
add_definitions(-DBOOST_ALL_NO_LIB -DBOOST_USE_WINAPI_VERSION=0x601 -DBOOST_SYSTEM_USE_UTF8 )
|
||||
add_definitions(-DBOOST_ALL_NO_LIB -DBOOST_USE_WINAPI_VERSION=0x602 -DBOOST_SYSTEM_USE_UTF8 )
|
||||
# Force the source code encoding to UTF-8. See QIDIStudio GH pull request #5583
|
||||
add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
|
||||
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
|
||||
@@ -356,7 +365,7 @@ endif()
|
||||
# set(Boost_COMPILER "-mgw81")
|
||||
# boost::process was introduced first in version 1.64.0,
|
||||
# boost::beast::detail::base64 was introduced first in version 1.66.0
|
||||
set(MINIMUM_BOOST_VERSION "1.66.0")
|
||||
set(MINIMUM_BOOST_VERSION "1.83.0")
|
||||
set(_boost_components "system;filesystem;thread;log;locale;regex;chrono;atomic;date_time;iostreams")
|
||||
find_package(Boost ${MINIMUM_BOOST_VERSION} REQUIRED COMPONENTS ${_boost_components})
|
||||
|
||||
|
||||
@@ -1,15 +1,73 @@
|
||||
#!/bin/bash
|
||||
PROJECT_ROOT=$(cd -P -- "$(dirname -- "$0")" && printf '%s\n' "$(pwd -P)")
|
||||
|
||||
set -x
|
||||
set -e
|
||||
|
||||
# Wishlist hint: For developers, creating a Docker Compose
|
||||
# setup with persistent volumes for the build & deps directories
|
||||
# would speed up recompile times significantly. For end users,
|
||||
# the simplicity of a single Docker image and a one-time compilation
|
||||
# seems better.
|
||||
docker build -t qidistudio \
|
||||
--build-arg USER=${USER:-root} \
|
||||
--build-arg UID=$(id -u) \
|
||||
--build-arg GID=$(id -g) \
|
||||
$PROJECT_ROOT
|
||||
function usage() {
|
||||
echo "Usage: ./DockerBuild.sh [-c][-d][-i][-v]"
|
||||
echo " -c: Build a self-contained Docker image that can be run directly"
|
||||
echo " -d: disable safe parallel number limit(By default, the maximum number of parallels is set to free memory/2.5)"
|
||||
echo " -i: Build and export an AppImage"
|
||||
echo " -v: Build System Version:ubu22 or ubu24"
|
||||
echo " -h: this help output"
|
||||
echo "If you only need to run the program on a built Docker container, just use './DockerBuild.sh -c'"
|
||||
echo "If you need to build an AppImage using Docker, first run './DockerBuild.sh -d', then run './DockerBuild.sh -s'."
|
||||
}
|
||||
|
||||
unset name
|
||||
while getopts "hcdiv:" opt; do
|
||||
case ${opt} in
|
||||
c )
|
||||
BUILD_RUNNER=1
|
||||
;;
|
||||
d )
|
||||
BUILD_DEPS=1
|
||||
;;
|
||||
i )
|
||||
BUILD_APPIMAGE=1
|
||||
;;
|
||||
v )
|
||||
SYSTEM_VERSION="$OPTARG"
|
||||
;;
|
||||
h ) usage
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -z "$SYSTEM_VERSION" ]; then
|
||||
SYSTEM_VERSION="ubu22"
|
||||
fi
|
||||
|
||||
if [[ -n "${BUILD_DEPS}" ]]; then
|
||||
if [ "$SYSTEM_VERSION" == "ubu22" ]; then
|
||||
echo "Building dependencies for Ubuntu 22.04..."
|
||||
docker build -f docker/BuildDepsDockerfile -t studio_dep_22:1.0 .
|
||||
else
|
||||
docker build -f docker/BuildDepsDockerfile24 -t studio_dep_24:1.0 .
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -n "${BUILD_APPIMAGE}" ]]; then
|
||||
if [ "$SYSTEM_VERSION" == "ubu22" ]; then
|
||||
docker build -f docker/BuildAppimageDockerfile --build-arg VERSION=studio_dep_22 -o type=local,dest=./build .
|
||||
mv build/QIDIStudio_ubu64.AppImage build/QIDIStudio_ubu22.AppImage
|
||||
else
|
||||
docker build -f docker/BuildAppimageDockerfile --build-arg VERSION=studio_dep_24 -o type=local,dest=./build .
|
||||
mv build/QIDIStudio_ubu64.AppImage build/QIDIStudio_ubu24.AppImage
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -n "${BUILD_RUNNER}" ]]
|
||||
then
|
||||
# Wishlist hint: For developers, creating a Docker Compose
|
||||
# setup with persistent volumes for the build & deps directories
|
||||
# would speed up recompile times significantly. For end users,
|
||||
# the simplicity of a single Docker image and a one-time compilation
|
||||
# seems better.
|
||||
docker build -t qidistudio \
|
||||
--build-arg USER=${USER:-root} \
|
||||
--build-arg UID=$(id -u) \
|
||||
--build-arg GID=$(id -g) \
|
||||
$PROJECT_ROOT
|
||||
fi
|
||||
@@ -68,7 +68,7 @@ WORKDIR /QIDIStudio
|
||||
# It might conflict with your mapped user, remove if user ubuntu exist
|
||||
RUN if id "ubuntu" >/dev/null 2>&1; then userdel -r ubuntu; fi
|
||||
|
||||
# It's easier to run Bambu Studio as the same username,
|
||||
# It's easier to run QIDI Studio as the same username,
|
||||
# UID and GID as your workstation. Since we bind mount
|
||||
# your home directory into the container, it's handy
|
||||
# to keep permissions the same. Just in case, defaults
|
||||
|
||||
174
deps/Boost/Boost.cmake
vendored
@@ -1,160 +1,26 @@
|
||||
include(ExternalProject)
|
||||
|
||||
if (WIN32)
|
||||
set(_bootstrap_cmd bootstrap.bat)
|
||||
set(_build_cmd b2.exe)
|
||||
else()
|
||||
set(_bootstrap_cmd ./bootstrap.sh)
|
||||
set(_build_cmd ./b2)
|
||||
endif()
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set(_boost_toolset gcc)
|
||||
configure_file(${CMAKE_CURRENT_LIST_DIR}/user-config.jam boost-user-config.jam)
|
||||
set(_patch_command ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/boost-user-config.jam ./tools/build/src/tools/user-config.jam)
|
||||
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
# https://cmake.org/cmake/help/latest/variable/MSVC_VERSION.html
|
||||
if (MSVC_VERSION EQUAL 1800)
|
||||
# 1800 = VS 12.0 (v120 toolset)
|
||||
set(_boost_toolset "msvc-12.0")
|
||||
elseif (MSVC_VERSION EQUAL 1900)
|
||||
# 1900 = VS 14.0 (v140 toolset)
|
||||
set(_boost_toolset "msvc-14.0")
|
||||
elseif (MSVC_VERSION LESS 1920)
|
||||
# 1910-1919 = VS 15.0 (v141 toolset)
|
||||
set(_boost_toolset "msvc-14.1")
|
||||
elseif (MSVC_VERSION LESS 1930)
|
||||
# 1920-1929 = VS 16.0 (v142 toolset)
|
||||
set(_boost_toolset "msvc-14.2")
|
||||
elseif (MSVC_VERSION LESS 1950)
|
||||
# 1930-1949 = VS 17.0 (v143 toolset)
|
||||
set(_boost_toolset "msvc-14.3")
|
||||
else ()
|
||||
message(FATAL_ERROR "Unsupported MSVC version")
|
||||
set(_context_abi_line "")
|
||||
set(_context_arch_line "")
|
||||
if (APPLE AND CMAKE_OSX_ARCHITECTURES)
|
||||
if (CMAKE_OSX_ARCHITECTURES MATCHES "x86")
|
||||
set(_context_abi_line "-DBOOST_CONTEXT_ABI:STRING=sysv")
|
||||
elseif (CMAKE_OSX_ARCHITECTURES MATCHES "arm")
|
||||
set (_context_abi_line "-DBOOST_CONTEXT_ABI:STRING=aapcs")
|
||||
endif ()
|
||||
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||
if (WIN32)
|
||||
set(_boost_toolset "clang-win")
|
||||
elseif (APPLE)
|
||||
set(_boost_toolset "clang")
|
||||
else()
|
||||
set(_boost_toolset clang)
|
||||
configure_file(${CMAKE_CURRENT_LIST_DIR}/user-config.jam boost-user-config.jam)
|
||||
set(_patch_command ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/boost-user-config.jam ./tools/build/src/tools/user-config.jam)
|
||||
endif()
|
||||
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
set(_boost_toolset "intel")
|
||||
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
||||
set(_boost_toolset "clang")
|
||||
endif()
|
||||
|
||||
message(STATUS "Deduced boost toolset: ${_boost_toolset} based on ${CMAKE_CXX_COMPILER_ID} compiler")
|
||||
|
||||
set(_libs "")
|
||||
foreach(_comp ${DEP_Boost_COMPONENTS})
|
||||
list(APPEND _libs "--with-${_comp}")
|
||||
endforeach()
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set(_link shared)
|
||||
else()
|
||||
set(_link static)
|
||||
endif()
|
||||
|
||||
set(_bits "")
|
||||
if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
||||
set(_bits 64)
|
||||
elseif ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "4")
|
||||
set(_bits 32)
|
||||
set(_context_arch_line "-DBOOST_CONTEXT_ARCHITECTURE:STRING=${CMAKE_OSX_ARCHITECTURES}")
|
||||
message(STATUS "BOOST param: ${_context_abi_line} ${_context_arch_line}")
|
||||
endif ()
|
||||
|
||||
include(ProcessorCount)
|
||||
ProcessorCount(NPROC)
|
||||
file(TO_NATIVE_PATH ${DESTDIR}/usr/local/ _prefix)
|
||||
|
||||
set(_boost_flags "")
|
||||
if (UNIX)
|
||||
set(_boost_flags "cflags=-fPIC;cxxflags=-fPIC")
|
||||
endif ()
|
||||
|
||||
if(APPLE)
|
||||
set(_boost_flags
|
||||
"cflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET};"
|
||||
"cxxflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET};"
|
||||
"mflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET};"
|
||||
"mmflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET}")
|
||||
endif()
|
||||
|
||||
set(_boost_variants "")
|
||||
if(CMAKE_BUILD_TYPE)
|
||||
list(APPEND CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE})
|
||||
list(REMOVE_DUPLICATES CMAKE_CONFIGURATION_TYPES)
|
||||
endif()
|
||||
list(FIND CMAKE_CONFIGURATION_TYPES "Release" _cfg_rel)
|
||||
list(FIND CMAKE_CONFIGURATION_TYPES "RelWithDebInfo" _cfg_relwdeb)
|
||||
list(FIND CMAKE_CONFIGURATION_TYPES "MinSizeRel" _cfg_minsizerel)
|
||||
list(FIND CMAKE_CONFIGURATION_TYPES "Debug" _cfg_deb)
|
||||
|
||||
if (_cfg_rel GREATER -1 OR _cfg_relwdeb GREATER -1 OR _cfg_minsizerel GREATER -1)
|
||||
list(APPEND _boost_variants release)
|
||||
endif()
|
||||
|
||||
if ( (NOT MSVC AND _cfg_deb GREATER -1) OR (MSVC AND ${DEP_DEBUG}) )
|
||||
list(APPEND _boost_variants debug)
|
||||
endif()
|
||||
|
||||
if (NOT _boost_variants)
|
||||
set(_boost_variants release)
|
||||
endif()
|
||||
|
||||
set(_build_cmd ${_build_cmd}
|
||||
${_boost_flags}
|
||||
-j${NPROC}
|
||||
${_libs}
|
||||
--layout=versioned
|
||||
--debug-configuration
|
||||
toolset=${_boost_toolset}
|
||||
address-model=${_bits}
|
||||
link=${_link}
|
||||
threading=multi
|
||||
boost.locale.icu=off
|
||||
--disable-icu
|
||||
${_boost_variants}
|
||||
stage)
|
||||
|
||||
set(_install_cmd ${_build_cmd} --prefix=${_prefix} install)
|
||||
|
||||
list(APPEND _patch_command COMMAND git init && ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-Boost-fix.patch)
|
||||
|
||||
ExternalProject_Add(
|
||||
dep_Boost
|
||||
#URL "https://boostorg.jfrog.io/artifactory/main/release/1.78.0/source/boost_1_78_0.zip"
|
||||
URL "https://github.com/bambulab/boost/releases/download/1.78.0/boost_1_78_0.zip"
|
||||
URL_HASH SHA256=f22143b5528e081123c3c5ed437e92f648fe69748e95fa6e2bd41484e2986cc3
|
||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/Boost
|
||||
CONFIGURE_COMMAND "${_bootstrap_cmd}"
|
||||
PATCH_COMMAND ${_patch_command}
|
||||
BUILD_COMMAND "${_build_cmd}"
|
||||
BUILD_IN_SOURCE ON
|
||||
INSTALL_COMMAND "${_install_cmd}"
|
||||
qidistudio_add_cmake_project(Boost
|
||||
URL "https://github.com/boostorg/boost/releases/download/boost-1.84.0/boost-1.84.0.tar.gz"
|
||||
URL_HASH SHA256=4d27e9efed0f6f152dc28db6430b9d3dfb40c0345da7342eaa5a987dde57bd95
|
||||
LIST_SEPARATOR |
|
||||
CMAKE_ARGS
|
||||
-DBOOST_EXCLUDE_LIBRARIES:STRING=contract|fiber|numpy|wave|test
|
||||
-DBOOST_LOCALE_ENABLE_ICU:BOOL=OFF # do not link to libicu, breaks compatibility between distros
|
||||
-DBUILD_TESTING:BOOL=OFF
|
||||
"${_context_abi_line}"
|
||||
"${_context_arch_line}"
|
||||
)
|
||||
|
||||
if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
||||
# Patch the boost::polygon library with a custom one.
|
||||
ExternalProject_Add(dep_boost_polygon
|
||||
EXCLUDE_FROM_ALL ON
|
||||
# GIT_REPOSITORY "https://github.com/prusa3d/polygon"
|
||||
# GIT_TAG prusaslicer_gmp
|
||||
URL https://github.com/prusa3d/polygon/archive/refs/heads/prusaslicer_gmp.zip
|
||||
URL_HASH SHA256=abeb9710f0a7069fb9b22181ae5c56f6066002f125db210e7ffb27032aed6824
|
||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/boost_polygon
|
||||
DEPENDS dep_Boost
|
||||
CONFIGURE_COMMAND ""
|
||||
BUILD_COMMAND ""
|
||||
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/dep_boost_polygon-prefix/src/dep_boost_polygon/include/boost/polygon"
|
||||
"${DESTDIR}/usr/local/include/boost/polygon"
|
||||
)
|
||||
# Only override boost::Polygon Voronoi implementation with Vojtech's GMP hacks on 64bit platforms.
|
||||
list(APPEND _dep_list "dep_boost_polygon")
|
||||
endif ()
|
||||
set(DEP_Boost_DEPENDS ZLIB)
|
||||
59
deps/CGAL/0001-clang19.patch
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
--- a/BGL/include/CGAL/boost/graph/iterator.h 2022-10-07 19:04:41 UTC
|
||||
+++ b/BGL/include/CGAL/boost/graph/iterator.h
|
||||
@@ -213,18 +213,7 @@ class Halfedge_around_source_iterator { (public)
|
||||
{}
|
||||
|
||||
#ifndef DOXYGEN_RUNNING
|
||||
- // design patter: "safe bool"
|
||||
- // will be replaced by explicit operator bool with C++11
|
||||
- typedef void (Halfedge_around_source_iterator::*bool_type)() const;
|
||||
|
||||
- void this_type_does_not_support_comparisons() const {}
|
||||
-
|
||||
- operator bool_type() const
|
||||
- {
|
||||
- return (! (this->base() == nullptr)) ?
|
||||
- &Halfedge_around_source_iterator::this_type_does_not_support_comparisons : 0;
|
||||
- }
|
||||
-
|
||||
bool operator==( const Self& i) const {
|
||||
CGAL_assertion( anchor == anchor);
|
||||
return ( g == i.g) && ( pos == i.pos) && ( winding == i.winding);
|
||||
@@ -313,18 +302,7 @@ class Halfedge_around_target_iterator { (public)
|
||||
{}
|
||||
|
||||
#ifndef DOXYGEN_RUNNING
|
||||
- // design patter: "safe bool"
|
||||
- // will be replaced by explicit operator bool with C++11
|
||||
- typedef void (Halfedge_around_target_iterator::*bool_type)() const;
|
||||
|
||||
- void this_type_does_not_support_comparisons() const {}
|
||||
-
|
||||
- operator bool_type() const
|
||||
- {
|
||||
- return (! (this->base() == nullptr)) ?
|
||||
- &Halfedge_around_target_iterator::this_type_does_not_support_comparisons : 0;
|
||||
- }
|
||||
-
|
||||
bool operator==( const Self& i) const {
|
||||
CGAL_assertion( anchor == anchor);
|
||||
return ( g == i.g) && ( pos == i.pos) && ( winding == i.winding);
|
||||
@@ -411,18 +389,6 @@ class Halfedge_around_face_iterator { (public)
|
||||
const value_type& operator * ( ) const { return pos; }
|
||||
pointer operator -> ( ) { return &pos; }
|
||||
const value_type* operator -> ( ) const { return &pos; }
|
||||
-
|
||||
- // design patter: "safe bool"
|
||||
- // will be replaced by explicit operator bool with C++11
|
||||
- typedef void (Halfedge_around_face_iterator::*bool_type)() const;
|
||||
-
|
||||
- void this_type_does_not_support_comparisons() const {}
|
||||
-
|
||||
- operator bool_type() const
|
||||
- {
|
||||
- return (! (this->base() == nullptr)) ?
|
||||
- &Halfedge_around_face_iterator::this_type_does_not_support_comparisons : 0;
|
||||
- }
|
||||
|
||||
bool operator==( const Self& i) const {
|
||||
CGAL_assertion( anchor == anchor);
|
||||
3
deps/CGAL/CGAL.cmake
vendored
@@ -1,8 +1,5 @@
|
||||
qidistudio_add_cmake_project(
|
||||
CGAL
|
||||
# GIT_REPOSITORY https://github.com/CGAL/cgal.git
|
||||
# GIT_TAG caacd806dc55c61cc68adaad99f2240f00493b29 # releases/CGAL-5.3
|
||||
# For whatever reason, this keeps downloading forever (repeats downloads if finished)
|
||||
URL https://github.com/CGAL/cgal/archive/refs/tags/v5.4.zip
|
||||
URL_HASH SHA256=d7605e0a5a5ca17da7547592f6f6e4a59430a0bc861948974254d0de43eab4c0
|
||||
DEPENDS ${BOOST_PKG} dep_GMP dep_MPFR
|
||||
|
||||
33
deps/CMakeLists.txt
vendored
@@ -27,6 +27,9 @@ include(ExternalProject)
|
||||
include(ProcessorCount)
|
||||
|
||||
ProcessorCount(NPROC)
|
||||
if(DEFINED ENV{CMAKE_BUILD_PARALLEL_LEVEL})
|
||||
set(NPROC $ENV{CMAKE_BUILD_PARALLEL_LEVEL})
|
||||
endif()
|
||||
if (NPROC EQUAL 0)
|
||||
set(NPROC 1)
|
||||
endif ()
|
||||
@@ -50,6 +53,24 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
option(DEP_WX_GTK3 "Build wxWidgets against GTK3" OFF)
|
||||
endif()
|
||||
|
||||
set(IS_CROSS_COMPILE FALSE)
|
||||
|
||||
if (APPLE)
|
||||
set(CMAKE_FIND_FRAMEWORK LAST)
|
||||
set(CMAKE_FIND_APPBUNDLE LAST)
|
||||
list(FIND CMAKE_OSX_ARCHITECTURES ${CMAKE_SYSTEM_PROCESSOR} _arch_idx)
|
||||
message(STATUS "qidistudio_add_cmake_project for Apple")
|
||||
if (CMAKE_OSX_ARCHITECTURES AND _arch_idx LESS 0)
|
||||
message(STATUS "qidistudio_add_cmake_project for Apple crosscompiling")
|
||||
set(IS_CROSS_COMPILE TRUE)
|
||||
set(CMAKE_CXX_COMPILER_ID "Clang")
|
||||
string(REPLACE ";" "$<SEMICOLON>" CMAKE_OSX_ARCHS "${CMAKE_OSX_ARCHITECTURES}")
|
||||
set(_cmake_osx_arch -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHS})
|
||||
set(_cmake_args_osx_arch CMAKE_ARGS -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHS})
|
||||
message(STATUS "Detect Cross-compilation. Will build for target ${CMAKE_OSX_ARCHS}" )
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# On developer machines, it can be enabled to speed up compilation and suppress warnings coming from IGL.
|
||||
# FIXME:
|
||||
# Enabling this option is not safe. IGL will compile itself with its own version of Eigen while
|
||||
@@ -72,6 +93,17 @@ if (NOT _is_multi AND NOT CMAKE_BUILD_TYPE)
|
||||
message(STATUS "Forcing CMAKE_BUILD_TYPE to Release as it was not specified.")
|
||||
endif ()
|
||||
|
||||
execute_process(
|
||||
COMMAND ${GIT_EXECUTABLE} rev-parse --is-inside-work-tree
|
||||
RESULT_VARIABLE REV_PARSE_RESULT
|
||||
OUTPUT_VARIABLE REV_PARSE_OUTPUT
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
if((REV_PARSE_RESULT EQUAL 0) AND (REV_PARSE_OUTPUT STREQUAL "true"))
|
||||
# Find relative path from root to source used for adjusting patch command
|
||||
file(RELATIVE_PATH BINARY_DIR_REL ${CMAKE_SOURCE_DIR}/.. ${CMAKE_BINARY_DIR})
|
||||
endif ()
|
||||
|
||||
function(qidistudio_add_cmake_project projectname)
|
||||
cmake_parse_arguments(P_ARGS "" "INSTALL_DIR;BUILD_COMMAND;INSTALL_COMMAND" "CMAKE_ARGS" ${ARGN})
|
||||
|
||||
@@ -102,6 +134,7 @@ function(qidistudio_add_cmake_project projectname)
|
||||
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF
|
||||
${_cmake_osx_arch}
|
||||
"${_configs_line}"
|
||||
${DEP_CMAKE_OPTS}
|
||||
${P_ARGS_CMAKE_ARGS}
|
||||
|
||||
64
deps/FFMPEG/FFMPEG.cmake
vendored
@@ -28,32 +28,58 @@ else ()
|
||||
string(APPEND _extra_cmd "--enable-gpl")
|
||||
string(APPEND _extra_cmd "--enable-nonfree")
|
||||
|
||||
if (APPLE)
|
||||
set(_minos_cmd
|
||||
"CFLAGS=-mmacosx-version-min=${DEP_OSX_TARGET}"
|
||||
"LDFLAGS=-mmacosx-version-min=${DEP_OSX_TARGET}"
|
||||
)
|
||||
if (IS_CROSS_COMPILE)
|
||||
set(_cross_cmd --enable-cross-compile)
|
||||
set(_pic_cmd --enable-pic)
|
||||
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64")
|
||||
set(_arch_cmd --arch=arm64)
|
||||
set(_cc_cmd "--cc=clang -arch arm64")
|
||||
else()
|
||||
set(_arch_cmd --arch=x86_64)
|
||||
set(_cc_cmd "--cc=clang -arch x86_64")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(_build_j -j)
|
||||
if(DEFINED ENV{CMAKE_BUILD_PARALLEL_LEVEL})
|
||||
set(_build_j "-j$ENV{CMAKE_BUILD_PARALLEL_LEVEL}")
|
||||
endif()
|
||||
|
||||
ExternalProject_Add(dep_FFMPEG
|
||||
URL https://github.com/FFmpeg/FFmpeg/archive/refs/tags/n7.0.2.tar.gz
|
||||
URL_HASH SHA256=5EB46D18D664A0CCADF7B0ADEE03BD3B7FA72893D667F36C69E202A807E6D533
|
||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/FFMPEG
|
||||
CONFIGURE_COMMAND ${_conf_cmd}
|
||||
"--prefix=${DESTDIR}/usr/local"
|
||||
"--enable-shared"
|
||||
"--disable-doc"
|
||||
"--enable-small"
|
||||
"--disable-outdevs"
|
||||
"--disable-filters"
|
||||
"--enable-filter=*null*,afade,*fifo,*format,*resample,aeval,allrgb,allyuv,atempo,pan,*bars,color,*key,crop,draw*,eq*,framerate,*_qsv,*_vaapi,*v4l2*,hw*,scale,volume,test*"
|
||||
"--disable-protocols"
|
||||
"--enable-protocol=file,fd,pipe,rtp,udp"
|
||||
"--disable-muxers"
|
||||
"--enable-muxer=rtp"
|
||||
"--disable-encoders"
|
||||
"--disable-decoders"
|
||||
"--enable-decoder=*aac*,h264*,mp3*,mjpeg,rv*"
|
||||
"--disable-demuxers"
|
||||
"--enable-demuxer=h264,mp3,mov"
|
||||
"--disable-zlib"
|
||||
"--disable-avdevice"
|
||||
${_cross_cmd}
|
||||
${_pic_cmd}
|
||||
${_arch_cmd}
|
||||
${_cc_cmd}
|
||||
--prefix="${DESTDIR}/usr/local"
|
||||
--enable-shared
|
||||
--disable-doc
|
||||
--enable-small
|
||||
--disable-outdevs
|
||||
--disable-filters
|
||||
--enable-filter=*null*,afade,*fifo,*format,*resample,aeval,allrgb,allyuv,atempo,pan,*bars,color,*key,crop,draw*,eq*,framerate,*_qsv,*_vaapi,*v4l2*,hw*,scale,volume,test*
|
||||
--disable-protocols
|
||||
--enable-protocol=file,fd,pipe,rtp,udp
|
||||
--disable-muxers
|
||||
--enable-muxer=rtp
|
||||
--disable-encoders
|
||||
--disable-decoders
|
||||
--enable-decoder=*aac*,h264*,mp3*,mjpeg,rv*
|
||||
--disable-demuxers
|
||||
--enable-demuxer=h264,mp3,mov
|
||||
--disable-zlib
|
||||
--disable-avdevice
|
||||
BUILD_IN_SOURCE ON
|
||||
BUILD_COMMAND make -j
|
||||
BUILD_COMMAND make ${_build_j}
|
||||
INSTALL_COMMAND make install
|
||||
)
|
||||
|
||||
|
||||
9
deps/GLEW/glew/CMakeLists.txt
vendored
@@ -3,9 +3,12 @@ project(GLEW)
|
||||
|
||||
find_package(OpenGL REQUIRED)
|
||||
|
||||
if(OpenGL_EGL_FOUND)
|
||||
message(STATUS "building GLEW for EGL (hope that wxWidgets agrees, otherwise you won't have any output!)")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DGLEW_EGL")
|
||||
# we do not support wayland for now
|
||||
if(NOT CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
if(OpenGL_EGL_FOUND)
|
||||
message(STATUS "building GLEW for EGL (hope that wxWidgets agrees, otherwise you won't have any output!)")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DGLEW_EGL")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
add_library(GLEW src/glew.c)
|
||||
|
||||
20
deps/GMP/GMP.cmake
vendored
@@ -22,10 +22,24 @@ else ()
|
||||
|
||||
if (APPLE)
|
||||
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
|
||||
set(_gmp_build_tgt aarch64)
|
||||
set(_gmp_build_arch aarch64)
|
||||
else ()
|
||||
set(_gmp_build_arch ${CMAKE_SYSTEM_PROCESSOR})
|
||||
endif()
|
||||
if (IS_CROSS_COMPILE)
|
||||
if (${CMAKE_OSX_ARCHITECTURES} MATCHES "arm")
|
||||
set(_gmp_host_arch aarch64)
|
||||
set(_gmp_host_arch_flags "-arch arm64")
|
||||
elseif (${CMAKE_OSX_ARCHITECTURES} MATCHES "x86_64")
|
||||
set(_gmp_host_arch x86_64)
|
||||
set(_gmp_host_arch_flags "-arch x86_64")
|
||||
endif()
|
||||
set(_gmp_ccflags "${_gmp_ccflags} ${_gmp_host_arch_flags} -mmacosx-version-min=${DEP_OSX_TARGET}")
|
||||
set(_gmp_build_tgt --build=${_gmp_build_arch}-apple-darwin --host=${_gmp_host_arch}-apple-darwin)
|
||||
else ()
|
||||
set(_gmp_ccflags "${_gmp_ccflags} -mmacosx-version-min=${DEP_OSX_TARGET}")
|
||||
set(_gmp_build_tgt "--build=${_gmp_build_arch}-apple-darwin")
|
||||
endif()
|
||||
set(_gmp_ccflags "${_gmp_ccflags} -mmacosx-version-min=${DEP_OSX_TARGET}")
|
||||
set(_gmp_build_tgt "--build=${_gmp_build_tgt}-apple-darwin")
|
||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
|
||||
set(_gmp_ccflags "${_gmp_ccflags} -march=armv7-a") # Works on RPi-4
|
||||
|
||||
4
deps/JPEG/JPEG.cmake
vendored
@@ -12,8 +12,8 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
endif()
|
||||
|
||||
qidistudio_add_cmake_project(JPEG
|
||||
URL https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/2.0.6.zip
|
||||
URL_HASH SHA256=017bdc33ff3a72e11301c0feb4657cb27719d7f97fa67a78ed506c594218bbf1
|
||||
URL https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/3.0.1.zip
|
||||
URL_HASH SHA256=d6d99e693366bc03897677650e8b2dfa76b5d6c54e2c9e70c03f0af821b0a52f
|
||||
DEPENDS ${ZLIB_PKG}
|
||||
CMAKE_ARGS
|
||||
-DENABLE_SHARED=OFF
|
||||
|
||||
2
deps/OCCT/0001-OCCT-fix.patch
vendored
@@ -218,4 +218,4 @@ index ab2d9b3c9f..cd701879b1 100644
|
||||
+ const auto* aTags = &anOutline->tags[aStartIndex];
|
||||
const short anEndIndex = anOutline->contours[aContour];
|
||||
const short aPntsNb = (anEndIndex - aStartIndex) + 1;
|
||||
aStartIndex = anEndIndex + 1;
|
||||
aStartIndex = anEndIndex + 1;
|
||||
|
||||
7
deps/OCCT/OCCT.cmake
vendored
@@ -4,11 +4,14 @@ else()
|
||||
set(library_build_type "Static")
|
||||
endif()
|
||||
|
||||
if (BINARY_DIR_REL)
|
||||
set(OCCT_DIRECTORY_FLAG --directory ${BINARY_DIR_REL}/dep_OCCT-prefix/src/dep_OCCT)
|
||||
endif ()
|
||||
|
||||
qidistudio_add_cmake_project(OCCT
|
||||
URL https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V7_6_0.zip
|
||||
URL_HASH SHA256=28334f0e98f1b1629799783e9b4d21e05349d89e695809d7e6dfa45ea43e1dbc
|
||||
#PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
|
||||
PATCH_COMMAND ${GIT_EXECUTABLE} apply --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
|
||||
PATCH_COMMAND git apply ${OCCT_DIRECTORY_FLAG} --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
|
||||
#DEPENDS dep_Boost
|
||||
#DEPENDS dep_FREETYPE
|
||||
CMAKE_ARGS
|
||||
|
||||
24
deps/OpenCV/0002-clang19-macos.patch
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
diff --git a/3rdparty/libpng/pngpriv.h b/3rdparty/libpng/pngpriv.h
|
||||
index 583c26f..83e0ab8 100644
|
||||
--- a/3rdparty/libpng/pngpriv.h
|
||||
+++ b/3rdparty/libpng/pngpriv.h
|
||||
@@ -517,18 +517,7 @@
|
||||
*/
|
||||
# include <float.h>
|
||||
|
||||
-# if (defined(__MWERKS__) && defined(macintosh)) || defined(applec) || \
|
||||
- defined(THINK_C) || defined(__SC__) || defined(TARGET_OS_MAC)
|
||||
- /* We need to check that <math.h> hasn't already been included earlier
|
||||
- * as it seems it doesn't agree with <fp.h>, yet we should really use
|
||||
- * <fp.h> if possible.
|
||||
- */
|
||||
-# if !defined(__MATH_H__) && !defined(__MATH_H) && !defined(__cmath__)
|
||||
-# include <fp.h>
|
||||
-# endif
|
||||
-# else
|
||||
-# include <math.h>
|
||||
-# endif
|
||||
+# include <math.h>
|
||||
# if defined(_AMIGA) && defined(__SASC) && defined(_M68881)
|
||||
/* Amiga SAS/C: We must include builtin FPU functions when compiling using
|
||||
* MATH=68881
|
||||
6
deps/OpenCV/OpenCV.cmake
vendored
@@ -4,10 +4,14 @@ else ()
|
||||
set(_use_IPP "-DWITH_IPP=OFF")
|
||||
endif ()
|
||||
|
||||
if (BINARY_DIR_REL)
|
||||
set(OpenCV_DIRECTORY_FLAG --directory ${BINARY_DIR_REL}/dep_OpenCV-prefix/src/dep_OpenCV)
|
||||
endif ()
|
||||
|
||||
qidistudio_add_cmake_project(OpenCV
|
||||
URL https://github.com/opencv/opencv/archive/refs/tags/4.6.0.tar.gz
|
||||
URL_HASH SHA256=1ec1cba65f9f20fe5a41fda1586e01c70ea0c9a6d7b67c9e13edf0cfe2239277
|
||||
PATCH_COMMAND ${GIT_EXECUTABLE} apply --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OpenCV-fix.patch
|
||||
PATCH_COMMAND git apply ${OpenCV_DIRECTORY_FLAG} --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OpenCV-fix.patch ${CMAKE_CURRENT_LIST_DIR}/0002-clang19-macos.patch
|
||||
CMAKE_ARGS
|
||||
-DBUILD_SHARED_LIBS=0
|
||||
-DBUILD_PERE_TESTS=OFF
|
||||
|
||||
31
deps/OpenEXR/OpenEXR.cmake
vendored
@@ -1,3 +1,32 @@
|
||||
if (APPLE AND IS_CROSS_COMPILE)
|
||||
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64" AND ${CMAKE_OSX_ARCHITECTURES} MATCHES "arm")
|
||||
set(_openexr_arch arm64^^x86_64)
|
||||
set(_openxr_list_sep LIST_SEPARATOR ^^)
|
||||
set(_cmake_openexr_arch -DCMAKE_OSX_ARCHITECTURES:STRING=${_openexr_arch})
|
||||
else()
|
||||
set(_openexr_arch ${CMAKE_OSX_ARCHITECTURES})
|
||||
set(_cmake_openexr_arch -DCMAKE_OSX_ARCHITECTURES:STRING=${_openexr_arch})
|
||||
endif()
|
||||
ExternalProject_Add(dep_OpenEXR
|
||||
EXCLUDE_FROM_ALL ON
|
||||
URL https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.5.zip
|
||||
URL_HASH SHA256=0307a3d7e1fa1e77e9d84d7e9a8694583fbbbfd50bdc6884e2c96b8ef6b902de
|
||||
INSTALL_DIR ${DESTDIR}/usr/local
|
||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/OpenEXR
|
||||
${_openxr_list_sep}
|
||||
CMAKE_ARGS
|
||||
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}/usr/local
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF
|
||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||
-DBUILD_TESTING=OFF
|
||||
-DPYILMBASE_ENABLE:BOOL=OFF
|
||||
-DOPENEXR_VIEWERS_ENABLE:BOOL=OFF
|
||||
-DOPENEXR_BUILD_UTILS:BOOL=OFF
|
||||
-DCMAKE_OSX_DEPLOYMENT_TARGET=${DEP_OSX_TARGET}
|
||||
${_cmake_openexr_arch}
|
||||
)
|
||||
else()
|
||||
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
set(_patch_cmd ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OpenEXR-GCC13.patch)
|
||||
else()
|
||||
@@ -18,7 +47,7 @@ qidistudio_add_cmake_project(OpenEXR
|
||||
-DOPENEXR_VIEWERS_ENABLE:BOOL=OFF
|
||||
-DOPENEXR_BUILD_UTILS:BOOL=OFF
|
||||
)
|
||||
|
||||
endif()
|
||||
if (MSVC)
|
||||
add_debug_dep(dep_OpenEXR)
|
||||
endif ()
|
||||
|
||||
2
deps/OpenSSL/OpenSSL.cmake
vendored
@@ -19,7 +19,7 @@ if(WIN32)
|
||||
set(_install_cmd nmake install_sw )
|
||||
else()
|
||||
if(APPLE)
|
||||
set(_conf_cmd ./Configure )
|
||||
set(_conf_cmd export MACOSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET} && ./Configure -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET} )
|
||||
else()
|
||||
set(_conf_cmd "./config")
|
||||
endif()
|
||||
|
||||
31
deps/OpenVDB/0001-clang19.patch
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
diff --git a/openvdb/openvdb/tree/NodeManager.h b/openvdb/openvdb/tree/NodeManager.h
|
||||
index 4d0d9b4..12dabaa 100644
|
||||
--- a/openvdb/openvdb/tree/NodeManager.h
|
||||
+++ b/openvdb/openvdb/tree/NodeManager.h
|
||||
@@ -327,7 +327,7 @@ private:
|
||||
void operator()(const NodeRange& range) const
|
||||
{
|
||||
for (typename NodeRange::Iterator it = range.begin(); it; ++it) {
|
||||
- OpT::template eval(mNodeOp, it);
|
||||
+ OpT::eval(mNodeOp, it);
|
||||
}
|
||||
}
|
||||
const NodeOp mNodeOp;
|
||||
@@ -347,7 +347,7 @@ private:
|
||||
void operator()(const NodeRange& range) const
|
||||
{
|
||||
for (typename NodeRange::Iterator it = range.begin(); it; ++it) {
|
||||
- OpT::template eval(mNodeOp, it);
|
||||
+ OpT::eval(mNodeOp, it);
|
||||
}
|
||||
}
|
||||
const NodeOp& mNodeOp;
|
||||
@@ -372,7 +372,7 @@ private:
|
||||
void operator()(const NodeRange& range)
|
||||
{
|
||||
for (typename NodeRange::Iterator it = range.begin(); it; ++it) {
|
||||
- OpT::template eval(*mNodeOp, it);
|
||||
+ OpT::eval(*mNodeOp, it);
|
||||
}
|
||||
}
|
||||
void join(const NodeReducer& other)
|
||||
5
deps/OpenVDB/OpenVDB.cmake
vendored
@@ -6,6 +6,10 @@ else()
|
||||
set(_build_static ON)
|
||||
endif()
|
||||
|
||||
if (BINARY_DIR_REL)
|
||||
set(OPENVDB_DIRECTORY_FLAG --directory ${BINARY_DIR_REL}/dep_OpenVDB-prefix/src/dep_OpenVDB)
|
||||
endif ()
|
||||
|
||||
set (_openvdb_vdbprint ON)
|
||||
#if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
|
||||
# Build fails on raspberry pi due to missing link directive to latomic
|
||||
@@ -15,6 +19,7 @@ set (_openvdb_vdbprint ON)
|
||||
qidistudio_add_cmake_project(OpenVDB
|
||||
URL https://github.com/tamasmeszaros/openvdb/archive/a68fd58d0e2b85f01adeb8b13d7555183ab10aa5.zip # 8.2 patched
|
||||
URL_HASH SHA256=f353e7b99bd0cbfc27ac9082de51acf32a8bc0b3e21ff9661ecca6f205ec1d81
|
||||
PATCH_COMMAND git apply ${OPENVDB_DIRECTORY_FLAG} --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-clang19.patch
|
||||
# URL https://github.com/AcademySoftwareFoundation/openvdb/archive/refs/tags/v10.0.1.zip
|
||||
# URL_HASH SHA256=48C2CFA9853B58FA86282DF1F83F0E99D07858CC03EB2BA8227DC447A830100A
|
||||
DEPENDS dep_TBB dep_Blosc dep_OpenEXR ${BOOST_PKG}
|
||||
|
||||
29
deps/PNG/0002-clang19-macos.patch
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
--- a/pngpriv.h 2025-04-20 19:36:04.000000000
|
||||
+++ b/pngpriv.h 2025-04-20 19:35:55.000000000
|
||||
@@ -511,24 +511,14 @@
|
||||
* DBL_DIG Maximum number of decimal digits (can be set to any constant)
|
||||
* DBL_MIN Smallest normalized fp number (can be set to an arbitrary value)
|
||||
* DBL_MAX Maximum floating point number (can be set to an arbitrary value)
|
||||
*/
|
||||
# include <float.h>
|
||||
|
||||
-# if (defined(__MWERKS__) && defined(macintosh)) || defined(applec) || \
|
||||
- defined(THINK_C) || defined(__SC__) || defined(TARGET_OS_MAC)
|
||||
- /* We need to check that <math.h> hasn't already been included earlier
|
||||
- * as it seems it doesn't agree with <fp.h>, yet we should really use
|
||||
- * <fp.h> if possible.
|
||||
- */
|
||||
-# if !defined(__MATH_H__) && !defined(__MATH_H) && !defined(__cmath__)
|
||||
-# include <fp.h>
|
||||
-# endif
|
||||
-# else
|
||||
-# include <math.h>
|
||||
-# endif
|
||||
+# include <math.h>
|
||||
+
|
||||
# if defined(_AMIGA) && defined(__SASC) && defined(_M68881)
|
||||
/* Amiga SAS/C: We must include builtin FPU functions when compiling using
|
||||
* MATH=68881
|
||||
*/
|
||||
# include <m68881.h>
|
||||
# endif
|
||||
53
deps/PNG/PNG.cmake
vendored
@@ -5,26 +5,43 @@ else ()
|
||||
set(_disable_neon_extension "")
|
||||
endif ()
|
||||
|
||||
if(APPLE AND IS_CROSS_COMPILE)
|
||||
# TODO: check if it doesn't create problem when compiling from arm to x86_64
|
||||
qidistudio_add_cmake_project(PNG
|
||||
GIT_REPOSITORY https://github.com/glennrp/libpng.git
|
||||
GIT_TAG v1.6.35
|
||||
DEPENDS ${ZLIB_PKG}
|
||||
PATCH_COMMAND ${GIT_EXECUTABLE} checkout -f -- . && git clean -df &&
|
||||
${GIT_EXECUTABLE} apply --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/macos-arm64.patch ${CMAKE_CURRENT_LIST_DIR}/0002-clang19-macos.patch
|
||||
CMAKE_ARGS
|
||||
-DPNG_SHARED=OFF
|
||||
-DPNG_STATIC=ON
|
||||
-DPNG_PREFIX=prusaslicer_
|
||||
-DPNG_TESTS=OFF
|
||||
-DDISABLE_DEPENDENCY_TRACKING=OFF
|
||||
${_disable_neon_extension}
|
||||
)
|
||||
else ()
|
||||
set(_patch_step "")
|
||||
if (APPLE)
|
||||
set(_patch_step PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/PNG.patch)
|
||||
endif ()
|
||||
|
||||
qidistudio_add_cmake_project(PNG
|
||||
# GIT_REPOSITORY https://github.com/glennrp/libpng.git
|
||||
# GIT_TAG v1.6.35
|
||||
URL https://github.com/glennrp/libpng/archive/refs/tags/v1.6.35.zip
|
||||
URL_HASH SHA256=3d22d46c566b1761a0e15ea397589b3a5f36ac09b7c785382e6470156c04247f
|
||||
DEPENDS ${ZLIB_PKG}
|
||||
"${_patch_step}"
|
||||
CMAKE_ARGS
|
||||
-DPNG_SHARED=OFF
|
||||
-DPNG_STATIC=ON
|
||||
-DPNG_PREFIX=prusaslicer_
|
||||
-DPNG_TESTS=OFF
|
||||
-DDISABLE_DEPENDENCY_TRACKING=OFF
|
||||
${_disable_neon_extension}
|
||||
if (APPLE)
|
||||
set(_patch_step PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/PNG.patch ${CMAKE_CURRENT_LIST_DIR}/0002-clang19-macos.patch)
|
||||
endif ()
|
||||
qidistudio_add_cmake_project(PNG
|
||||
# GIT_REPOSITORY https://github.com/glennrp/libpng.git
|
||||
# GIT_TAG v1.6.35
|
||||
URL https://github.com/glennrp/libpng/archive/refs/tags/v1.6.35.zip
|
||||
URL_HASH SHA256=3d22d46c566b1761a0e15ea397589b3a5f36ac09b7c785382e6470156c04247f
|
||||
DEPENDS ${ZLIB_PKG}
|
||||
"${_patch_step}"
|
||||
CMAKE_ARGS
|
||||
-DPNG_SHARED=OFF
|
||||
-DPNG_STATIC=ON
|
||||
-DPNG_PREFIX=prusaslicer_
|
||||
-DPNG_TESTS=OFF
|
||||
-DDISABLE_DEPENDENCY_TRACKING=OFF
|
||||
${_disable_neon_extension}
|
||||
)
|
||||
endif()
|
||||
|
||||
if (MSVC)
|
||||
add_debug_dep(dep_PNG)
|
||||
|
||||
90
deps/PNG/macos-arm64.patch
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
Based on https://github.com/vespakoen/libpng to work around until
|
||||
https://github.com/glennrp/libpng/pull/354 is resolved.
|
||||
also added patch from PS2.4 (PNG.pach) in pngrutil.c
|
||||
---
|
||||
CMakeLists.txt | 28 ++++++++++++++++++++--------
|
||||
pngrutil.c | 7 -------
|
||||
2 files changed, 20 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 4db9bb87d..9099d1edf 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -82,10 +82,22 @@ option(PNG_HARDWARE_OPTIMIZATIONS "Enable Hardware Optimizations" ON)
|
||||
set(PNG_PREFIX "" CACHE STRING "Prefix to add to the API function names")
|
||||
set(DFA_XTRA "" CACHE FILEPATH "File containing extra configuration settings")
|
||||
|
||||
+# CMake currently sets CMAKE_SYSTEM_PROCESSOR to one of x86_64 or arm64 on macOS,
|
||||
+# based upon the OS architecture, not the target architecture. As such, we need
|
||||
+# to check CMAKE_OSX_ARCHITECTURES to identify which hardware-specific flags to
|
||||
+# enable. Note that this will fail if you attempt to build a universal binary in
|
||||
+# a single cmake invokation.
|
||||
+if (APPLE AND CMAKE_OSX_ARCHITECTURES)
|
||||
+ set(TARGET_ARCH ${CMAKE_OSX_ARCHITECTURES})
|
||||
+else()
|
||||
+ set(TARGET_ARCH ${CMAKE_SYSTEM_PROCESSOR})
|
||||
+endif()
|
||||
+
|
||||
+
|
||||
if(PNG_HARDWARE_OPTIMIZATIONS)
|
||||
# set definitions and sources for arm
|
||||
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm" OR
|
||||
- CMAKE_SYSTEM_PROCESSOR MATCHES "^aarch64")
|
||||
+if(TARGET_ARCH MATCHES "^arm" OR
|
||||
+ TARGET_ARCH MATCHES "^aarch64")
|
||||
set(PNG_ARM_NEON_POSSIBLE_VALUES check on off)
|
||||
set(PNG_ARM_NEON "check" CACHE STRING "Enable ARM NEON optimizations:
|
||||
check: (default) use internal checking code;
|
||||
@@ -114,8 +126,8 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm" OR
|
||||
endif()
|
||||
|
||||
# set definitions and sources for powerpc
|
||||
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "^powerpc*" OR
|
||||
- CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc64*" )
|
||||
+if(TARGET_ARCH MATCHES "^powerpc*" OR
|
||||
+ TARGET_ARCH MATCHES "^ppc64*" )
|
||||
set(PNG_POWERPC_VSX_POSSIBLE_VALUES on off)
|
||||
set(PNG_POWERPC_VSX "on" CACHE STRING "Enable POWERPC VSX optimizations:
|
||||
off: disable the optimizations.")
|
||||
@@ -138,8 +150,8 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^powerpc*" OR
|
||||
endif()
|
||||
|
||||
# set definitions and sources for intel
|
||||
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "^i?86" OR
|
||||
- CMAKE_SYSTEM_PROCESSOR MATCHES "^x86_64*" )
|
||||
+if(TARGET_ARCH MATCHES "^i?86" OR
|
||||
+ TARGET_ARCH MATCHES "^x86_64*" )
|
||||
set(PNG_INTEL_SSE_POSSIBLE_VALUES on off)
|
||||
set(PNG_INTEL_SSE "on" CACHE STRING "Enable INTEL_SSE optimizations:
|
||||
off: disable the optimizations")
|
||||
@@ -162,8 +174,8 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^i?86" OR
|
||||
endif()
|
||||
|
||||
# set definitions and sources for MIPS
|
||||
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "mipsel*" OR
|
||||
- CMAKE_SYSTEM_PROCESSOR MATCHES "mips64el*" )
|
||||
+if(TARGET_ARCH MATCHES "mipsel*" OR
|
||||
+ TARGET_ARCH MATCHES "mips64el*" )
|
||||
set(PNG_MIPS_MSA_POSSIBLE_VALUES on off)
|
||||
set(PNG_MIPS_MSA "on" CACHE STRING "Enable MIPS_MSA optimizations:
|
||||
off: disable the optimizations")
|
||||
diff --git a/pngrutil.c b/pngrutil.c
|
||||
index 7001f1976..91930f1f2 100644
|
||||
--- a/pngrutil.c
|
||||
+++ b/pngrutil.c
|
||||
@@ -422,13 +422,6 @@ png_inflate_claim(png_structrp png_ptr, png_uint_32 owner)
|
||||
png_ptr->flags |= PNG_FLAG_ZSTREAM_INITIALIZED;
|
||||
}
|
||||
|
||||
-#if ZLIB_VERNUM >= 0x1290 && \
|
||||
- defined(PNG_SET_OPTION_SUPPORTED) && defined(PNG_IGNORE_ADLER32)
|
||||
- if (((png_ptr->options >> PNG_IGNORE_ADLER32) & 3) == PNG_OPTION_ON)
|
||||
- /* Turn off validation of the ADLER32 checksum in IDAT chunks */
|
||||
- ret = inflateValidate(&png_ptr->zstream, 0);
|
||||
-#endif
|
||||
-
|
||||
if (ret == Z_OK)
|
||||
png_ptr->zowner = owner;
|
||||
|
||||
--
|
||||
2.33.0.windows.1
|
||||
4
deps/wxWidgets/wxWidgets.cmake
vendored
@@ -6,8 +6,9 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
endif ()
|
||||
set(_wx_toolkit "-DwxBUILD_TOOLKIT=gtk${_gtk_ver}")
|
||||
set(_wx_private_font "-DwxUSE_PRIVATE_FONTS=1")
|
||||
set(_wx_egl "-DwxUSE_GLCANVAS_EGL=OFF")
|
||||
else ()
|
||||
set(_wx_private_font "-DwxUSE_PRIVATE_FONTS=0")
|
||||
set(_wx_egl "")
|
||||
endif()
|
||||
|
||||
if (MSVC)
|
||||
@@ -52,6 +53,7 @@ qidistudio_add_cmake_project(wxWidgets
|
||||
-DwxUSE_LIBJPEG=sys
|
||||
-DwxUSE_LIBTIFF=sys
|
||||
-DwxUSE_EXPAT=sys
|
||||
${_wx_egl}
|
||||
)
|
||||
|
||||
if (MSVC)
|
||||
|
||||
19
docker/BuildAppimageDockerfile
Normal file
@@ -0,0 +1,19 @@
|
||||
ARG VERSION="studio_dep_22"
|
||||
FROM ${VERSION}:1.0 AS builder
|
||||
|
||||
COPY ./ /QIDIStudio
|
||||
|
||||
WORKDIR /QIDIStudio
|
||||
|
||||
RUN mkdir -p /QIDIStudio/deps/build
|
||||
|
||||
RUN mv /destdir /QIDIStudio/deps/build/
|
||||
|
||||
RUN ./BuildLinux.sh -s
|
||||
|
||||
ENV container=podman
|
||||
RUN ./BuildLinux.sh -i
|
||||
|
||||
FROM scratch AS export-stage
|
||||
|
||||
COPY --from=builder /QIDIStudio/build/QIDIStudio_ubu64.AppImage /
|
||||
39
docker/BuildDepsDockerfile
Normal file
@@ -0,0 +1,39 @@
|
||||
FROM docker.io/ubuntu:22.04
|
||||
|
||||
# Disable interactive package configuration
|
||||
RUN apt-get update && \
|
||||
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
autoconf \
|
||||
build-essential \
|
||||
cmake \
|
||||
curl \
|
||||
xvfb \
|
||||
extra-cmake-modules \
|
||||
file \
|
||||
git \
|
||||
locales \
|
||||
locales-all \
|
||||
m4 \
|
||||
pkgconf \
|
||||
sudo \
|
||||
wayland-protocols \
|
||||
libwebkit2gtk-4.0-dev \
|
||||
wget
|
||||
|
||||
COPY ./ /QIDIStudio
|
||||
|
||||
WORKDIR /QIDIStudio
|
||||
|
||||
# Allow password-less sudo for ALL users
|
||||
RUN echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/999-passwordless
|
||||
RUN chmod 440 /etc/sudoers.d/999-passwordless
|
||||
|
||||
RUN ./BuildLinux.sh -u
|
||||
|
||||
RUN ./BuildLinux.sh -dfr
|
||||
|
||||
RUN cp -r deps/build/destdir /
|
||||
|
||||
RUN rm -rf /QIDIStudio
|
||||
39
docker/BuildDepsDockerfile24
Normal file
@@ -0,0 +1,39 @@
|
||||
FROM docker.io/ubuntu:24.04
|
||||
|
||||
# Disable interactive package configuration
|
||||
RUN apt-get update && \
|
||||
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
autoconf \
|
||||
build-essential \
|
||||
cmake \
|
||||
curl \
|
||||
xvfb \
|
||||
extra-cmake-modules \
|
||||
file \
|
||||
git \
|
||||
locales \
|
||||
locales-all \
|
||||
m4 \
|
||||
pkgconf \
|
||||
sudo \
|
||||
wayland-protocols \
|
||||
libwebkit2gtk-4.1-dev \
|
||||
wget
|
||||
|
||||
COPY ./ /QIDIStudio
|
||||
|
||||
WORKDIR /QIDIStudio
|
||||
|
||||
# Allow password-less sudo for ALL users
|
||||
RUN echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/999-passwordless
|
||||
RUN chmod 440 /etc/sudoers.d/999-passwordless
|
||||
|
||||
RUN ./BuildLinux.sh -u
|
||||
|
||||
RUN ./BuildLinux.sh -dfr
|
||||
|
||||
RUN cp -r deps/build/destdir /
|
||||
|
||||
RUN rm -rf /QIDIStudio
|
||||
@@ -30,6 +30,7 @@ REQUIRED_DEV_PACKAGES=(
|
||||
nasm
|
||||
yasm
|
||||
libx264-dev
|
||||
libbz2-dev
|
||||
)
|
||||
|
||||
if [[ -n "$UPDATE_LIB" ]]
|
||||
|
||||
@@ -38,6 +38,7 @@ REQUIRED_DEV_PACKAGES=(
|
||||
nasm
|
||||
yasm
|
||||
x264-devel
|
||||
bzip2-devel
|
||||
)
|
||||
|
||||
if [[ -n "$UPDATE_LIB" ]]
|
||||
|
||||
@@ -1,4 +1,47 @@
|
||||
src/libslic3r/PresetBundle.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevBed.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevBed.h
|
||||
src/slic3r/GUI/DeviceCore/DevConfig.h
|
||||
src/slic3r/GUI/DeviceCore/DevConfig.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevConfigUtil.h
|
||||
src/slic3r/GUI/DeviceCore/DevConfigUtil.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevCtrl.h
|
||||
src/slic3r/GUI/DeviceCore/DevCtrl.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevDefs.h
|
||||
src/slic3r/GUI/DeviceCore/DevExtruderSystem.h
|
||||
src/slic3r/GUI/DeviceCore/DevExtruderSystem.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevExtruderSystemCtrl.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevFan.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevFan.h
|
||||
src/slic3r/GUI/DeviceCore/DevFilaAmsSetting.h
|
||||
src/slic3r/GUI/DeviceCore/DevFilaAmsSetting.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevFilaBlackList.h
|
||||
src/slic3r/GUI/DeviceCore/DevFilaBlackList.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevFilaSystem.h
|
||||
src/slic3r/GUI/DeviceCore/DevFilaSystem.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevFirmware.h
|
||||
src/slic3r/GUI/DeviceCore/DevFirmware.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevPrintOptions.h
|
||||
src/slic3r/GUI/DeviceCore/DevPrintOptions.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevPrintTaskInfo.h
|
||||
src/slic3r/GUI/DeviceCore/DevPrintTaskInfo.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevHMS.h
|
||||
src/slic3r/GUI/DeviceCore/DevHMS.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevStorage.h
|
||||
src/slic3r/GUI/DeviceCore/DevStorage.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevInfo.h
|
||||
src/slic3r/GUI/DeviceCore/DevInfo.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevLamp.h
|
||||
src/slic3r/GUI/DeviceCore/DevLamp.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevLampCtrl.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevManager.h
|
||||
src/slic3r/GUI/DeviceCore/DevManager.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevMapping.h
|
||||
src/slic3r/GUI/DeviceCore/DevMapping.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevNozzleSystem.h
|
||||
src/slic3r/GUI/DeviceCore/DevNozzleSystem.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevUtil.h
|
||||
src/slic3r/GUI/DeviceCore/DevUtil.cpp
|
||||
src/slic3r/GUI/DeviceTab/uiAmsHumidityPopup.h
|
||||
src/slic3r/GUI/DeviceTab/uiAmsHumidityPopup.cpp
|
||||
src/slic3r/GUI/DeviceTab/uiDeviceUpdateVersion.h
|
||||
@@ -6,6 +49,7 @@ src/slic3r/GUI/DeviceTab/uiDeviceUpdateVersion.cpp
|
||||
src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp
|
||||
src/slic3r/GUI/Gizmos/GLGizmoFlatten.cpp
|
||||
src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp
|
||||
src/slic3r/GUI/Gizmos/GLGizmoFuzzySkin.cpp
|
||||
src/slic3r/GUI/Gizmos/GLGizmoMove.cpp
|
||||
src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp
|
||||
src/slic3r/GUI/Gizmos/GLGizmoScale.cpp
|
||||
@@ -71,6 +115,7 @@ src/slic3r/GUI/BedShapeDialog.cpp
|
||||
src/slic3r/GUI/BedShapeDialog.hpp
|
||||
src/slic3r/GUI/ConfigManipulation.cpp
|
||||
src/slic3r/GUI/DeviceManager.cpp
|
||||
src/slic3r/GUI/DeviceErrorDialog.cpp
|
||||
src/slic3r/GUI/ExtraRenderers.cpp
|
||||
src/slic3r/GUI/Field.cpp
|
||||
src/slic3r/GUI/GCodeViewer.cpp
|
||||
@@ -181,11 +226,21 @@ src/slic3r/Utils/MKS.cpp
|
||||
src/slic3r/Utils/OctoPrint.cpp
|
||||
src/slic3r/Utils/Repetier.cpp
|
||||
src/slic3r/Utils/ProfileDescription.hpp
|
||||
src/slic3r/Utils/HelioDragon.cpp
|
||||
src/slic3r/GUI/SendMultiMachinePage.cpp
|
||||
src/slic3r/GUI/MultiMachinePage.cpp
|
||||
src/slic3r/GUI/MultiMachineManagerPage.cpp
|
||||
src/slic3r/GUI/MultiTaskManagerPage.cpp
|
||||
src/slic3r/GUI/MultiMachine.cpp
|
||||
src/slic3r/GUI/UserPresetsDialog.cpp
|
||||
src/slic3r/GUI/FilamentMapDialog.cpp
|
||||
src/slic3r/GUI/FilamentGroupPopup.cpp
|
||||
src/slic3r/GUI/FilamentMapPanel.cpp
|
||||
src/slic3r/GUI/PartSkipDialog.cpp
|
||||
src/slic3r/GUI/PartSkipDialog.hpp
|
||||
src/slic3r/GUI/SkipPartCanvas.cpp
|
||||
src/slic3r/GUI/SkipPartCanvas.hpp
|
||||
src/slic3r/GUI/FilamentBitmapUtils.cpp
|
||||
src/slic3r/GUI/FilamentBitmapUtils.hpp
|
||||
src/slic3r/GUI/FilamentPickerDialog.cpp
|
||||
src/slic3r/GUI/FilamentPickerDialog.hpp
|
||||
|
||||
BIN
resources/calib/pressure_advance/auto_pa_line_dual.3mf
Normal file
BIN
resources/calib/pressure_advance/auto_pa_line_single.3mf
Normal file
@@ -1,4 +1,92 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFfzCCA2egAwIBAgIUXtzR6tRiL/RHBRXOoyFU0+XrliowDQYJKoZIhvcNAQEL
|
||||
BQAwRjELMAkGA1UEBhMCQ04xITAfBgNVBAoMGEJCTCBUZWNobm9sb2dpZXMgQ28u
|
||||
IEx0ZDEUMBIGA1UEAwwLQkJMIENBMiBSU0EwIBcNMjUwNjE3MDEzODA4WhgPMjA1
|
||||
MDA2MTcwMTM4MDhaMEYxCzAJBgNVBAYTAkNOMSEwHwYDVQQKDBhCQkwgVGVjaG5v
|
||||
bG9naWVzIENvLiBMdGQxFDASBgNVBAMMC0JCTCBDQTIgUlNBMIICIjANBgkqhkiG
|
||||
9w0BAQEFAAOCAg8AMIICCgKCAgEAo4550G4c42gTKzQqixwKT089RizIdZpyOcGA
|
||||
679rPaOdWsMqVwnYPP2FpMqXKkjFbedE+SpGloi2NKCuiPNVRbq9PHOOZwTs7YLo
|
||||
bOwf53FJuO6vRFpzFfX1tlc9zlFqJvZnYO9NgHpMysidocWcgrDN/SIDywgPB5CV
|
||||
bYg3Vvzua9fwZx9e5KT9xd5IpTqdTrWS47jQOVKLhdQCbJFIlMrblOwLBAx+fHok
|
||||
wqh6tkI6Ktuyyjw8Dysebi1ndWjKtZ2mW47r8xZ/J+z3EZqcyJMY6MRtx/zb1jBF
|
||||
uHtkjrb5Kv1DMzSKlkaNJIbvC+Mk+hI97W+SjLSRuIdC7+oJUzWaSzgu9cjXCVfm
|
||||
q8t4IL/35hP69PK95LgLectIrP96CYAT/aVMG19FrFW0QWEyfT+kzG4jkumfPbHq
|
||||
Y2nNkEN0+tjj3h4WdzrWgQEojK/lhfcRFVkts74+aZoMpQP+vmL17CKmSzXk5o/e
|
||||
K21xgxJdzMbdztfTpibiXk0abfOpN+1VR+3NYa+bROAKNyGaReEGsyW2bjcjNx51
|
||||
5Vqzj3SVxhMSp5vfF9E4A1jE99M/l9jQDM6RzkT0lMccGAd5tUSdNvDlrqtQaQiK
|
||||
v/ZsXPgXLTWfOpvaLNEgwdMgZMuhjpkwvAZyoYfeF9kyydjDh7bvrX//cz/VopAU
|
||||
lxUtQtMCAwEAAaNjMGEwHQYDVR0OBBYEFNVJgQad1sNTN0jxVkwbJ/XM1an1MB8G
|
||||
A1UdIwQYMBaAFNVJgQad1sNTN0jxVkwbJ/XM1an1MA8GA1UdEwEB/wQFMAMBAf8w
|
||||
DgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQBFZDKMJfp/N4gBeFHh
|
||||
MiFehaUyMS6e9mzrTfMLJLJoj6Jopa9V9jIfcCEBGZuRThqFcATV+UdFHSINpUcH
|
||||
upcCYnazTRC4dn1hnxnQ1ojQcHxdGp9xGw/YclAKD97d8bPShfBMT1to9zbMK7T5
|
||||
L8zgqg01YIOKjQk0Hcd0+0iUr6m8zQ5P8Rl3QXqAyeWgqmYQrrjTWwPsgdfHNXKX
|
||||
vDrx7/cqry5lKU802hUplKMBxelv4W8407Ytj1lfJOwvxqxxsFU5jSwcUG3zo2vk
|
||||
QtjRs8m5BKup5K1OPYkkPu7Ld89X0XpU073/dNDG11uxb1eDKrtNP6vZuZjNE2Pq
|
||||
8HCoI1EtP+ItyqtUMvHi6Z2zsmlA25broVioeUKxjlIecpQ9JR/FhDu9CWNF/nDW
|
||||
LSORNaMMzgsMSzI+HCiUhqN+qMIvVP6rzGTJzwqz/lc5Lf+ZPCnGA9WJTT4uPIhf
|
||||
ufbZmnUJ35WuWKHxovDsqBh88zQ9sZ+ei4Hi4vVzOhUgfG3aLoSQEYqRoqaboANh
|
||||
wCwzyuW2Rv54u5QSBbd6Gx1OpvsWmLPWd2/iL2kISl5wfmLGVydvSJa+rbOfuAy7
|
||||
ycVQacVDQCAnbhoVrQy7+454QsKSW3ZV6BcyRrorewCyCYgd7nyxflxHZTBEykXX
|
||||
haGNe/KFNvJBMOIuIUzknRRmiQ==
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIB8zCCAZmgAwIBAgIUe61jGQ4RzIC8k+sNuqbI/CaNqPIwCgYIKoZIzj0EAwIw
|
||||
RjELMAkGA1UEBhMCQ04xITAfBgNVBAoMGEJCTCBUZWNobm9sb2dpZXMgQ28uIEx0
|
||||
ZDEUMBIGA1UEAwwLQkJMIENBMiBFQ0MwIBcNMjUwNjE3MDEzODM1WhgPMjA1MDA2
|
||||
MTcwMTM4MzVaMEYxCzAJBgNVBAYTAkNOMSEwHwYDVQQKDBhCQkwgVGVjaG5vbG9n
|
||||
aWVzIENvLiBMdGQxFDASBgNVBAMMC0JCTCBDQTIgRUNDMFkwEwYHKoZIzj0CAQYI
|
||||
KoZIzj0DAQcDQgAEpKTF7wRSty4DXpGJzgCPwRh8ghLlxUC3qJbyEgLqTvJgbiwY
|
||||
APPHK7kVbVmerkqhHOT4QeWRlTG3dOQGLA2VpaNjMGEwHQYDVR0OBBYEFKuRpsjY
|
||||
REOyIKH7HwOE6jhGBd6NMB8GA1UdIwQYMBaAFKuRpsjYREOyIKH7HwOE6jhGBd6N
|
||||
MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gA
|
||||
MEUCIErBiUm3VdtP3rz4kb8aLpI5p+BzL7M9vElBGWWJxpHMAiEA3r5tJWVGwuxi
|
||||
YCrB1c40KYFRFyahGrhOJZAj/YhRdnU=
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEeTCCA2GgAwIBAgIUOq+lNIaC2xsswkFqj5JPyVBl45cwDQYJKoZIhvcNAQEL
|
||||
BQAwQjELMAkGA1UEBhMCQ04xIjAgBgNVBAoMGUJCTCBUZWNobm9sb2dpZXMgQ28u
|
||||
LCBMdGQxDzANBgNVBAMMBkJCTCBDQTAeFw0yNTA2MTcwMjAxMjdaFw0zNTA2MTUw
|
||||
MjAxMjdaMEYxCzAJBgNVBAYTAkNOMSEwHwYDVQQKDBhCQkwgVGVjaG5vbG9naWVz
|
||||
IENvLiBMdGQxFDASBgNVBAMMC0JCTCBDQTIgUlNBMIICIjANBgkqhkiG9w0BAQEF
|
||||
AAOCAg8AMIICCgKCAgEAo4550G4c42gTKzQqixwKT089RizIdZpyOcGA679rPaOd
|
||||
WsMqVwnYPP2FpMqXKkjFbedE+SpGloi2NKCuiPNVRbq9PHOOZwTs7YLobOwf53FJ
|
||||
uO6vRFpzFfX1tlc9zlFqJvZnYO9NgHpMysidocWcgrDN/SIDywgPB5CVbYg3Vvzu
|
||||
a9fwZx9e5KT9xd5IpTqdTrWS47jQOVKLhdQCbJFIlMrblOwLBAx+fHokwqh6tkI6
|
||||
Ktuyyjw8Dysebi1ndWjKtZ2mW47r8xZ/J+z3EZqcyJMY6MRtx/zb1jBFuHtkjrb5
|
||||
Kv1DMzSKlkaNJIbvC+Mk+hI97W+SjLSRuIdC7+oJUzWaSzgu9cjXCVfmq8t4IL/3
|
||||
5hP69PK95LgLectIrP96CYAT/aVMG19FrFW0QWEyfT+kzG4jkumfPbHqY2nNkEN0
|
||||
+tjj3h4WdzrWgQEojK/lhfcRFVkts74+aZoMpQP+vmL17CKmSzXk5o/eK21xgxJd
|
||||
zMbdztfTpibiXk0abfOpN+1VR+3NYa+bROAKNyGaReEGsyW2bjcjNx515Vqzj3SV
|
||||
xhMSp5vfF9E4A1jE99M/l9jQDM6RzkT0lMccGAd5tUSdNvDlrqtQaQiKv/ZsXPgX
|
||||
LTWfOpvaLNEgwdMgZMuhjpkwvAZyoYfeF9kyydjDh7bvrX//cz/VopAUlxUtQtMC
|
||||
AwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O
|
||||
BBYEFNVJgQad1sNTN0jxVkwbJ/XM1an1MB8GA1UdIwQYMBaAFI80QmjcZ06PxCKe
|
||||
xXxJ5avdRL4eMA0GCSqGSIb3DQEBCwUAA4IBAQAvS8tyfagaGsFf9YncA2ko/Na5
|
||||
9BVF+8TlUo+32oznwIVpS1AhSgLP6rNVekXNFKbuP5htudLQ17ZRBJI/UMVyYEDq
|
||||
IN7xv7Zj+zJwF6W6haYrjb2Vk8igw1XvNULZfvVNNKIkvJUiVqEslWrC+k74crk/
|
||||
Wv8ChVf+zqvfIN6LV3esaGRL02J3AprQGb7DDhR1EefQMScDkNpGJMUmvCmfknrl
|
||||
iK8qgvQN1SWO7JRf6fNKHsN1ZQvyP0pgLWxpT3V0/0/WttqX3cMGuJF+jVUzm/Nh
|
||||
xYhFewG8vc3KzTjnwQApMA6CW554FOJWFyOD2jn5yJLT3Vue+aYDQRp4bKMx
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICrjCCAZagAwIBAgIUOq+lNIaC2xsswkFqj5JPyVBl45gwDQYJKoZIhvcNAQEL
|
||||
BQAwQjELMAkGA1UEBhMCQ04xIjAgBgNVBAoMGUJCTCBUZWNobm9sb2dpZXMgQ28u
|
||||
LCBMdGQxDzANBgNVBAMMBkJCTCBDQTAeFw0yNTA2MTcwMjAxNDdaFw0zNTA2MTUw
|
||||
MjAxNDdaMEYxCzAJBgNVBAYTAkNOMSEwHwYDVQQKDBhCQkwgVGVjaG5vbG9naWVz
|
||||
IENvLiBMdGQxFDASBgNVBAMMC0JCTCBDQTIgRUNDMFkwEwYHKoZIzj0CAQYIKoZI
|
||||
zj0DAQcDQgAEpKTF7wRSty4DXpGJzgCPwRh8ghLlxUC3qJbyEgLqTvJgbiwYAPPH
|
||||
K7kVbVmerkqhHOT4QeWRlTG3dOQGLA2VpaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAO
|
||||
BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFKuRpsjYREOyIKH7HwOE6jhGBd6NMB8G
|
||||
A1UdIwQYMBaAFI80QmjcZ06PxCKexXxJ5avdRL4eMA0GCSqGSIb3DQEBCwUAA4IB
|
||||
AQCg6PjUSSZV+4bvejcVMvgXmKzfD95osWn0ctnoMBxPDa+m+Gg+BcLT2IlFAe3E
|
||||
KYMvu4T295WQc92rjKYqW6cirFppng9uEFW2mZLimxaSmutsTftE3sbMVMJ/SLYN
|
||||
PV7TFv6mcBSIFWXwmBOIpbh4BUcVfONTvdSfIqfyAVxsq4xzc2nc6hPBpAm21Ayj
|
||||
ToC1ev/TbDJ8VllFZiEVmWWlIP3aNzAm8S2mOpxPB2WnanaZHSrvXLFhstyzwrjD
|
||||
yO1/isOZ7wtr7rcuTJdEvvvCimOZlkfRhaDoTew9tQ0E2FVpzzSinw02qmQ1xIE9
|
||||
5/H5ZzJSPkpeAHWEPnKkxg0v
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDZTCCAk2gAwIBAgIUV1FckwXElyek1onFnQ9kL7Bk4N8wDQYJKoZIhvcNAQEL
|
||||
BQAwQjELMAkGA1UEBhMCQ04xIjAgBgNVBAoMGUJCTCBUZWNobm9sb2dpZXMgQ28u
|
||||
LCBMdGQxDzANBgNVBAMMBkJCTCBDQTAeFw0yMjA0MDQwMzQyMTFaFw0zMjA0MDEw
|
||||
@@ -18,4 +106,4 @@ BdOoo96iX89rRPoxeed1cpq5hZwbeka3+CJGV76itWp35Up5rmmUqrlyQOr/Wax6
|
||||
itosIzG0MfhgUzU51A2P/hSnD3NDMXv+wUY/AvqgIL7u7fbDKnku1GzEKIkfH8hm
|
||||
Rs6d8SCU89xyrwzQ0PR853irHas3WrHVqab3P+qNwR0YirL0Qk7Xt/q3O1griNg2
|
||||
Blbjg3obpHo9
|
||||
-----END CERTIFICATE-----
|
||||
-----END CERTIFICATE-----
|
||||
79
resources/data/helio_hints.ini
Normal file
@@ -0,0 +1,79 @@
|
||||
[hint: Single-Material Only]
|
||||
text = Single-Material Only\nHelio currently simulates one material and one nozzle per job. Multi-material or multi-extruder G-code adds long pauses that break thermal continuity, so results wouldn’t be meaningful.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio0.png
|
||||
|
||||
[hint: One Plate per Job]
|
||||
text = One Plate per Job\nUpload G-code with a single build plate—multi-plate projects aren’t yet supported, so only the first plate would run.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio1.png
|
||||
|
||||
[hint: What is the Thermal Quality Index?]
|
||||
text = What is the Thermal Quality Index?\nThe Thermal Quality Index (scale –100 to +100) shows how hot or cold each region prints—green (≈ 0) is the “just right” zone for strong, warp-free parts. Keep most of the part green for best results.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio2.png
|
||||
|
||||
[hint: Voxel-Level Accuracy]
|
||||
text = Voxel-Level Accuracy\nWe predict temperature in every voxel at every time-step, and for standard jobs the forecast is typically within ±5–10 °C. Pauses, custom firmware or odd cooling can widen that margin.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio3.png
|
||||
|
||||
[hint: Fan & Airflow Model]
|
||||
text = Fan & Airflow Model\nA simplified fan-and-room model shows how cooling settings change part temps without slow CFD maths—great for day-to-day tuning. Chamber vortices aren’t yet simulated so runs stay fast.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio0.png
|
||||
|
||||
[hint: TQI Limits Explained]
|
||||
text = TQI Limits Explained\n-100 → too cold: tensile strength is ~50 % lower than parts printed at the ideal 0 (ASTM D638 dog-bone tests). +100 → too hot: layers stay molten and may sag or collapse. Keep regions near 0 for peak strength and accuracy.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio1.png
|
||||
|
||||
[hint: What Drives Runtime?]
|
||||
text = What Drives Runtime?\nExtra layers, dense infill, lots of tiny arcs (small mesh elements) or very slow printing speeds all extend simulation time because the solver must step through more seconds. Multi-core CPUs or CUDA GPUs speed things up.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio2.png
|
||||
|
||||
[hint: Nozzle Temp Range]
|
||||
text = Nozzle Temp Range\nSupported set-points are 190 – 320 °C; anything outside is clamped to keep physics realistic.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio3.png
|
||||
|
||||
[hint: Debugging Flowchart]
|
||||
text = Debugging Flowchart\nNot sure why a result looks off? Follow our step-by-step debugging flowchart to trace settings, G-code and material issues in minutes.
|
||||
documentation_link = https://wiki.helioadditive.com/en/flowchart
|
||||
image = images/dailytips_helio0.png
|
||||
|
||||
[hint: Why Cooling Varies]
|
||||
text = Why Cooling Varies\nOuter walls and bridges cool fastest while thick interiors stay warmer—geometry, airflow and tool-path all play a part, and the simulation visualises these differences.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio1.png
|
||||
|
||||
[hint: Extrusion Temp Model]
|
||||
text = Extrusion Temp Model\nMaterial properties shape the melt curve, but printer geometry decides how much heat the filament actually gains, so the model is material-specific and printer-calibrated.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio2.png
|
||||
|
||||
[hint: Nozzle setting of 190 °C vs 320 °C?]
|
||||
text = Nozzle setting of 190 °C vs 320 °C?\nA 100 °C nozzle change only nudges the thermal index because extrusion temp, flow rate and post-deposition cooling dominate the part’s heat history.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio3.png
|
||||
|
||||
[hint: Bed Temperature influence]
|
||||
text = Bed Temperature influence\nOnly the first-layer bed temp feeds the model right now; later bed changes aren’t yet captured.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio0.png
|
||||
|
||||
[hint: Actual Tool-Path]
|
||||
text = Actual Tool-Path\nYes—your exact G-code path, speeds and fan commands are simulated.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio1.png
|
||||
|
||||
[hint: Mesh Resolution]
|
||||
text = Mesh Resolution\nThe voxel grid is finer than the G-code line spacing, capturing layer-by-layer detail without wasting compute.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio2.png
|
||||
|
||||
[hint: Shrinkage, Warping & Stress]
|
||||
text = Shrinkage, Warping & Stress\nBy controlling the thermal index you can remove the heat-driven causes of warp and stress.
|
||||
documentation_link = https://wiki.helioadditive.com/en/flowchart
|
||||
image = images/dailytips_helio3.png
|
||||
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 9.8 KiB |
1
resources/images/add_copies.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M.5,13.5V3.5a1,1,0,0,1,1-1h10a1,1,0,0,1,1,1v10a1,1,0,0,1-1,1H1.5A1,1,0,0,1,.5,13.5Zm13-1a1,1,0,0,0,1-1V1.5a1,1,0,0,0-1-1H3.5a1,1,0,0,0-1,1m0,7h3m2,0h3m-4,4v-8" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-linejoin:round;opacity:1"/></svg>
|
||||
|
After Width: | Height: | Size: 346 B |
3
resources/images/ams_drying.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12.7124 5.11094V7.01094C12.7124 7.40578 12.3947 7.72344 11.9999 7.72344C11.6051 7.72344 11.2874 7.40578 11.2874 7.01094V5.11094C11.2874 4.71609 11.6051 4.39844 11.9999 4.39844C12.3947 4.39844 12.7124 4.71609 12.7124 5.11094ZM17.3733 7.63141L16.0285 8.97625C15.7494 9.25531 15.2982 9.25531 15.0221 8.97625C14.746 8.69719 14.743 8.24594 15.0221 7.96984L16.3669 6.625C16.646 6.34594 17.0972 6.34594 17.3733 6.625C17.6494 6.90406 17.6524 7.35531 17.3733 7.63141ZM7.63287 6.625L8.97771 7.96984C9.25678 8.24891 9.25678 8.70016 8.97771 8.97625C8.69865 9.25234 8.2474 9.25531 7.97131 8.97625L6.62646 7.63141C6.3474 7.35234 6.3474 6.90109 6.62646 6.625C6.90553 6.34891 7.35678 6.34594 7.63287 6.625ZM5.1124 11.2859H7.0124C7.40725 11.2859 7.7249 11.6036 7.7249 11.9984C7.7249 12.3933 7.40725 12.7109 7.0124 12.7109H5.1124C4.71756 12.7109 4.3999 12.3933 4.3999 11.9984C4.3999 11.6036 4.71756 11.2859 5.1124 11.2859ZM16.9874 11.2859H18.8874C19.2822 11.2859 19.5999 11.6036 19.5999 11.9984C19.5999 12.3933 19.2822 12.7109 18.8874 12.7109H16.9874C16.5926 12.7109 16.2749 12.3933 16.2749 11.9984C16.2749 11.6036 16.5926 11.2859 16.9874 11.2859ZM8.97771 16.03L7.63287 17.3719C7.35381 17.6509 6.90256 17.6509 6.62646 17.3719C6.35037 17.0928 6.3474 16.6416 6.62646 16.3655L7.97131 15.0206C8.25037 14.7416 8.70162 14.7416 8.97771 15.0206C9.25381 15.2997 9.25678 15.7509 8.97771 16.027V16.03ZM16.0315 15.0236L17.3733 16.3655C17.6524 16.6445 17.6524 17.0958 17.3733 17.3719C17.0943 17.648 16.643 17.6509 16.3669 17.3719L15.0221 16.027C14.743 15.748 14.743 15.2967 15.0221 15.0206C15.3012 14.7445 15.7524 14.7416 16.0285 15.0206L16.0315 15.0236ZM12.7124 16.9859V18.8859C12.7124 19.2808 12.3947 19.5984 11.9999 19.5984C11.6051 19.5984 11.2874 19.2808 11.2874 18.8859V16.9859C11.2874 16.5911 11.6051 16.2734 11.9999 16.2734C12.3947 16.2734 12.7124 16.5911 12.7124 16.9859ZM13.8999 11.9984C13.8999 11.4945 13.6997 11.0113 13.3434 10.6549C12.9871 10.2986 12.5038 10.0984 11.9999 10.0984C11.496 10.0984 11.0127 10.2986 10.6564 10.6549C10.3001 11.0113 10.0999 11.4945 10.0999 11.9984C10.0999 12.5023 10.3001 12.9856 10.6564 13.3419C11.0127 13.6983 11.496 13.8984 11.9999 13.8984C12.5038 13.8984 12.9871 13.6983 13.3434 13.3419C13.6997 12.9856 13.8999 12.5023 13.8999 11.9984ZM8.6749 11.9984C8.6749 11.1166 9.02521 10.2709 9.64877 9.64731C10.2723 9.02375 11.1181 8.67344 11.9999 8.67344C12.8817 8.67344 13.7275 9.02375 14.351 9.64731C14.9746 10.2709 15.3249 11.1166 15.3249 11.9984C15.3249 12.8803 14.9746 13.726 14.351 14.3496C13.7275 14.9731 12.8817 15.3234 11.9999 15.3234C11.1181 15.3234 10.2723 14.9731 9.64877 14.3496C9.02521 13.726 8.6749 12.8803 8.6749 11.9984Z" fill="#1F1F1F"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
3
resources/images/ams_is_drying.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12.7124 5.11094V7.01094C12.7124 7.40578 12.3947 7.72344 11.9999 7.72344C11.6051 7.72344 11.2874 7.40578 11.2874 7.01094V5.11094C11.2874 4.71609 11.6051 4.39844 11.9999 4.39844C12.3947 4.39844 12.7124 4.71609 12.7124 5.11094ZM17.3733 7.63141L16.0285 8.97625C15.7494 9.25531 15.2982 9.25531 15.0221 8.97625C14.746 8.69719 14.743 8.24594 15.0221 7.96984L16.3669 6.625C16.646 6.34594 17.0972 6.34594 17.3733 6.625C17.6494 6.90406 17.6524 7.35531 17.3733 7.63141ZM7.63287 6.625L8.97771 7.96984C9.25678 8.24891 9.25678 8.70016 8.97771 8.97625C8.69865 9.25234 8.2474 9.25531 7.97131 8.97625L6.62646 7.63141C6.3474 7.35234 6.3474 6.90109 6.62646 6.625C6.90553 6.34891 7.35678 6.34594 7.63287 6.625ZM5.1124 11.2859H7.0124C7.40725 11.2859 7.7249 11.6036 7.7249 11.9984C7.7249 12.3933 7.40725 12.7109 7.0124 12.7109H5.1124C4.71756 12.7109 4.3999 12.3933 4.3999 11.9984C4.3999 11.6036 4.71756 11.2859 5.1124 11.2859ZM16.9874 11.2859H18.8874C19.2822 11.2859 19.5999 11.6036 19.5999 11.9984C19.5999 12.3933 19.2822 12.7109 18.8874 12.7109H16.9874C16.5926 12.7109 16.2749 12.3933 16.2749 11.9984C16.2749 11.6036 16.5926 11.2859 16.9874 11.2859ZM8.97771 16.03L7.63287 17.3719C7.35381 17.6509 6.90256 17.6509 6.62646 17.3719C6.35037 17.0928 6.3474 16.6416 6.62646 16.3655L7.97131 15.0206C8.25037 14.7416 8.70162 14.7416 8.97771 15.0206C9.25381 15.2997 9.25678 15.7509 8.97771 16.027V16.03ZM16.0315 15.0236L17.3733 16.3655C17.6524 16.6445 17.6524 17.0958 17.3733 17.3719C17.0943 17.648 16.643 17.6509 16.3669 17.3719L15.0221 16.027C14.743 15.748 14.743 15.2967 15.0221 15.0206C15.3012 14.7445 15.7524 14.7416 16.0285 15.0206L16.0315 15.0236ZM12.7124 16.9859V18.8859C12.7124 19.2808 12.3947 19.5984 11.9999 19.5984C11.6051 19.5984 11.2874 19.2808 11.2874 18.8859V16.9859C11.2874 16.5911 11.6051 16.2734 11.9999 16.2734C12.3947 16.2734 12.7124 16.5911 12.7124 16.9859ZM13.8999 11.9984C13.8999 11.4945 13.6997 11.0113 13.3434 10.6549C12.9871 10.2986 12.5038 10.0984 11.9999 10.0984C11.496 10.0984 11.0127 10.2986 10.6564 10.6549C10.3001 11.0113 10.0999 11.4945 10.0999 11.9984C10.0999 12.5023 10.3001 12.9856 10.6564 13.3419C11.0127 13.6983 11.496 13.8984 11.9999 13.8984C12.5038 13.8984 12.9871 13.6983 13.3434 13.3419C13.6997 12.9856 13.8999 12.5023 13.8999 11.9984ZM8.6749 11.9984C8.6749 11.1166 9.02521 10.2709 9.64877 9.64731C10.2723 9.02375 11.1181 8.67344 11.9999 8.67344C12.8817 8.67344 13.7275 9.02375 14.351 9.64731C14.9746 10.2709 15.3249 11.1166 15.3249 11.9984C15.3249 12.8803 14.9746 13.726 14.351 14.3496C13.7275 14.9731 12.8817 15.3234 11.9999 15.3234C11.1181 15.3234 10.2723 14.9731 9.64877 14.3496C9.02521 13.726 8.6749 12.8803 8.6749 11.9984Z" fill="#F09A17"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
BIN
resources/images/bed_cool_Q2.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
resources/images/bed_cool_supertack_Q2.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
resources/images/bed_engineering_Q2.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
resources/images/bed_high_templ_Q2.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
resources/images/bed_pei_Q2.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
resources/images/big_bed_cool_Q2.png
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
resources/images/big_bed_cool_supertack_Q2.png
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
resources/images/big_bed_engineering_Q2.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
resources/images/big_bed_high_templ_Q2.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
resources/images/big_bed_pei_Q2.png
Normal file
|
After Width: | Height: | Size: 199 KiB |
3
resources/images/canvas_drag.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M9.99838 1.66675C9.17481 1.66675 8.46192 2.14526 8.12338 2.83862C7.89551 2.75399 7.65137 2.70841 7.39421 2.70841C6.24512 2.70841 5.31088 3.64266 5.31088 4.79175V10.1791L5.22299 10.0912C4.40918 9.27742 3.09083 9.27742 2.27702 10.0912C1.46322 10.905 1.46322 12.2234 2.27702 13.0372L5.13184 15.892C6.69434 17.4545 8.81348 18.3334 11.0238 18.3334H11.3005H11.5609C11.6097 18.3334 11.6585 18.3302 11.7074 18.3204C14.6924 18.1186 17.0785 15.7358 17.277 12.7507C17.2868 12.7019 17.29 12.6531 17.29 12.6042V6.87508C17.29 5.72599 16.3558 4.79175 15.2067 4.79175C15.0277 4.79175 14.8519 4.81453 14.6859 4.85685V4.79175C14.6859 3.64266 13.7516 2.70841 12.6025 2.70841C12.3454 2.70841 12.1012 2.75399 11.8734 2.83862C11.5348 2.14526 10.8219 1.66675 9.99838 1.66675ZM9.47754 4.795V4.79175V3.75008C9.47754 3.46362 9.71192 3.22925 9.99838 3.22925C10.2848 3.22925 10.5192 3.46362 10.5192 3.75008V4.78849V4.79175V9.21883C10.5192 9.65177 10.8675 10.0001 11.3005 10.0001C11.7334 10.0001 12.0817 9.65177 12.0817 9.21883V4.79175C12.0817 4.79175 12.0817 4.79175 12.0817 4.78849C12.0817 4.50203 12.3161 4.26766 12.6025 4.26766C12.889 4.26766 13.1234 4.50203 13.1234 4.78849V6.60815V6.61141V9.21558C13.1234 9.64852 13.4717 9.99683 13.9046 9.99683C14.3376 9.99683 14.6859 9.64852 14.6859 9.21558V6.87834V6.87508C14.6859 6.58862 14.9203 6.35425 15.2067 6.35425C15.4932 6.35425 15.7275 6.58862 15.7275 6.87508V12.5033C15.7243 12.5229 15.7243 12.5457 15.721 12.5652C15.6104 14.8341 13.7907 16.6537 11.5218 16.7644C11.5023 16.7644 11.4795 16.7677 11.46 16.7709H11.3005H11.0238C9.22689 16.7709 7.50489 16.058 6.23536 14.7885L3.38054 11.9304C3.17872 11.7286 3.17872 11.3966 3.38054 11.1947C3.58236 10.9929 3.91439 10.9929 4.11622 11.1947L5.53874 12.6173C5.76335 12.8419 6.09864 12.907 6.39161 12.7865C6.68458 12.6661 6.87338 12.3796 6.87338 12.0639V4.79175C6.87338 4.50529 7.10775 4.27091 7.39421 4.27091C7.68067 4.27091 7.91504 4.50203 7.91504 4.78849V9.21883C7.91504 9.65177 8.26335 10.0001 8.69629 10.0001C9.12924 10.0001 9.47754 9.65177 9.47754 9.21883V4.795Z" fill="#5C5C5C"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
3
resources/images/canvas_drag_active.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M9.99839 1.66675C9.17483 1.66675 8.46193 2.14526 8.12339 2.83862C7.89553 2.75399 7.65139 2.70841 7.39423 2.70841C6.24514 2.70841 5.31089 3.64266 5.31089 4.79175V10.1791L5.223 10.0912C4.4092 9.27742 3.09084 9.27742 2.27704 10.0912C1.46324 10.905 1.46324 12.2234 2.27704 13.0372L5.13186 15.892C6.69436 17.4545 8.8135 18.3334 11.0238 18.3334H11.3005H11.5609C11.6097 18.3334 11.6586 18.3302 11.7074 18.3204C14.6924 18.1186 17.0785 15.7358 17.277 12.7507C17.2868 12.7019 17.2901 12.6531 17.2901 12.6042V6.87508C17.2901 5.72599 16.3558 4.79175 15.2067 4.79175C15.0277 4.79175 14.8519 4.81453 14.6859 4.85685V4.79175C14.6859 3.64266 13.7516 2.70841 12.6026 2.70841C12.3454 2.70841 12.1013 2.75399 11.8734 2.83862C11.5349 2.14526 10.822 1.66675 9.99839 1.66675ZM9.47756 4.795V4.79175V3.75008C9.47756 3.46362 9.71194 3.22925 9.99839 3.22925C10.2849 3.22925 10.5192 3.46362 10.5192 3.75008V4.78849V4.79175V9.21883C10.5192 9.65177 10.8675 10.0001 11.3005 10.0001C11.7334 10.0001 12.0817 9.65177 12.0817 9.21883V4.79175C12.0817 4.79175 12.0817 4.79175 12.0817 4.78849C12.0817 4.50203 12.3161 4.26766 12.6026 4.26766C12.889 4.26766 13.1234 4.50203 13.1234 4.78849V6.60815V6.61141V9.21558C13.1234 9.64852 13.4717 9.99683 13.9046 9.99683C14.3376 9.99683 14.6859 9.64852 14.6859 9.21558V6.87834V6.87508C14.6859 6.58862 14.9203 6.35425 15.2067 6.35425C15.4932 6.35425 15.7276 6.58862 15.7276 6.87508V12.5033C15.7243 12.5229 15.7243 12.5457 15.7211 12.5652C15.6104 14.8341 13.7907 16.6537 11.5218 16.7644C11.5023 16.7644 11.4795 16.7677 11.46 16.7709H11.3005H11.0238C9.22691 16.7709 7.5049 16.058 6.23537 14.7885L3.38055 11.9304C3.17873 11.7286 3.17873 11.3966 3.38055 11.1947C3.58238 10.9929 3.91441 10.9929 4.11623 11.1947L5.53876 12.6173C5.76337 12.8419 6.09865 12.907 6.39162 12.7865C6.68459 12.6661 6.87339 12.3796 6.87339 12.0639V4.79175C6.87339 4.50529 7.10777 4.27091 7.39423 4.27091C7.68068 4.27091 7.91506 4.50203 7.91506 4.78849V9.21883C7.91506 9.65177 8.26337 10.0001 8.69631 10.0001C9.12925 10.0001 9.47756 9.65177 9.47756 9.21883V4.795Z" fill="white"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
3
resources/images/canvas_zoom_in.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M9.20618 1.91333C13.2338 1.91338 16.4991 5.17868 16.4991 9.2063C16.4991 10.9499 15.8852 12.5492 14.8644 13.804L17.8673 16.8059C18.1602 17.0988 18.1602 17.5745 17.8673 17.8674C17.5744 18.1603 17.0987 18.1603 16.8058 17.8674L13.8038 14.8645C12.5491 15.8853 10.9498 16.4992 9.20618 16.4993C5.17855 16.4993 1.91326 13.2339 1.91321 9.2063C1.91321 5.17865 5.17852 1.91333 9.20618 1.91333ZM9.20618 3.41333C6.00695 3.41333 3.41321 6.00707 3.41321 9.2063C3.41326 12.4055 6.00698 14.9993 9.20618 14.9993C12.4053 14.9992 14.9991 12.4055 14.9991 9.2063C14.9991 6.0071 12.4054 3.41338 9.20618 3.41333ZM9.20618 5.29517C9.62017 5.29531 9.95602 5.63118 9.95618 6.04517V8.4563H12.3663C12.7805 8.4563 13.1163 8.79209 13.1163 9.2063C13.1163 9.62047 12.7805 9.9563 12.3663 9.9563H9.95618V12.3674C9.95592 12.7813 9.62011 13.1173 9.20618 13.1174C8.79212 13.1174 8.45644 12.7814 8.45618 12.3674V9.9563H6.04504C5.63089 9.95627 5.29509 9.62045 5.29504 9.2063C5.29504 8.7921 5.63086 8.45633 6.04504 8.4563H8.45618V6.04517C8.45634 5.63109 8.79206 5.29517 9.20618 5.29517Z" fill="#5C5C5C"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
3
resources/images/canvas_zoom_in_disable.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M9.20618 1.91333C13.2338 1.91338 16.4991 5.17868 16.4991 9.2063C16.4991 10.9499 15.8852 12.5492 14.8644 13.804L17.8673 16.8059C18.1602 17.0988 18.1602 17.5745 17.8673 17.8674C17.5744 18.1603 17.0987 18.1603 16.8058 17.8674L13.8038 14.8645C12.5491 15.8853 10.9498 16.4992 9.20618 16.4993C5.17855 16.4993 1.91326 13.2339 1.91321 9.2063C1.91321 5.17865 5.17852 1.91333 9.20618 1.91333ZM9.20618 3.41333C6.00695 3.41333 3.41321 6.00707 3.41321 9.2063C3.41326 12.4055 6.00698 14.9993 9.20618 14.9993C12.4053 14.9992 14.9991 12.4055 14.9991 9.2063C14.9991 6.0071 12.4054 3.41338 9.20618 3.41333ZM9.20618 5.29517C9.62017 5.29531 9.95602 5.63118 9.95618 6.04517V8.4563H12.3663C12.7805 8.4563 13.1163 8.79209 13.1163 9.2063C13.1163 9.62047 12.7805 9.9563 12.3663 9.9563H9.95618V12.3674C9.95592 12.7813 9.62011 13.1173 9.20618 13.1174C8.79212 13.1174 8.45644 12.7814 8.45618 12.3674V9.9563H6.04504C5.63089 9.95627 5.29509 9.62045 5.29504 9.2063C5.29504 8.7921 5.63086 8.45633 6.04504 8.4563H8.45618V6.04517C8.45634 5.63109 8.79206 5.29517 9.20618 5.29517Z" fill="#CECECE"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
3
resources/images/canvas_zoom_out.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M9.20618 1.91333C13.2338 1.91338 16.4991 5.17868 16.4991 9.2063C16.4991 10.9499 15.8852 12.5492 14.8644 13.804L17.8673 16.8059C18.1602 17.0988 18.1602 17.5745 17.8673 17.8674C17.5744 18.1603 17.0987 18.1603 16.8058 17.8674L13.8038 14.8645C12.5491 15.8853 10.9498 16.4992 9.20618 16.4993C5.17855 16.4993 1.91326 13.2339 1.91321 9.2063C1.91321 5.17865 5.17852 1.91333 9.20618 1.91333ZM9.20618 3.41333C6.00695 3.41333 3.41321 6.00707 3.41321 9.2063C3.41326 12.4055 6.00698 14.9993 9.20618 14.9993C12.4053 14.9992 14.9991 12.4055 14.9991 9.2063C14.9991 6.0071 12.4054 3.41338 9.20618 3.41333ZM12.3663 8.4563C12.7805 8.4563 13.1163 8.79209 13.1163 9.2063C13.1163 9.62047 12.7805 9.9563 12.3663 9.9563H6.04504C5.63089 9.95627 5.29509 9.62045 5.29504 9.2063C5.29504 8.7921 5.63086 8.45633 6.04504 8.4563H12.3663Z" fill="#5C5C5C"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 936 B |
3
resources/images/canvas_zoom_out_disable.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M9.20618 1.91333C13.2338 1.91338 16.4991 5.17868 16.4991 9.2063C16.4991 10.9499 15.8852 12.5492 14.8644 13.804L17.8673 16.8059C18.1602 17.0988 18.1602 17.5745 17.8673 17.8674C17.5744 18.1603 17.0987 18.1603 16.8058 17.8674L13.8038 14.8645C12.5491 15.8853 10.9498 16.4992 9.20618 16.4993C5.17855 16.4993 1.91326 13.2339 1.91321 9.2063C1.91321 5.17865 5.17852 1.91333 9.20618 1.91333ZM9.20618 3.41333C6.00695 3.41333 3.41321 6.00707 3.41321 9.2063C3.41326 12.4055 6.00698 14.9993 9.20618 14.9993C12.4053 14.9992 14.9991 12.4055 14.9991 9.2063C14.9991 6.0071 12.4054 3.41338 9.20618 3.41333ZM12.3663 8.4563C12.7805 8.4563 13.1163 8.79209 13.1163 9.2063C13.1163 9.62047 12.7805 9.9563 12.3663 9.9563H6.04504C5.63089 9.95627 5.29509 9.62045 5.29504 9.2063C5.29504 8.7921 5.63086 8.45633 6.04504 8.4563H12.3663Z" fill="#CECECE"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 936 B |
1
resources/images/delete2.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M.5,13.5V1.5a1,1,0,0,1,1-1h12a1,1,0,0,1,1,1v12a1,1,0,0,1-1,1H1.5A1,1,0,0,1,.5,13.5Zm3-6h8" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-linejoin:round;opacity:1"/></svg>
|
||||
|
After Width: | Height: | Size: 277 B |
10
resources/images/helio_icon.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_82_87)">
|
||||
<path d="M9.92236 0.569824C15.1302 0.570077 19.3518 4.79171 19.3521 9.99951C19.352 11.1184 19.1526 12.1904 18.7944 13.186C19.2327 13.5965 19.5083 14.1788 19.5083 14.8267C19.5081 16.0688 18.5014 17.0754 17.2593 17.0757C16.9391 17.0757 16.6346 17.0078 16.3589 16.8872C14.6736 18.4631 12.4117 19.4301 9.92236 19.4302C4.71422 19.4302 0.491719 15.2076 0.491699 9.99951C0.491935 4.79156 4.71435 0.569827 9.92236 0.569824ZM9.92236 1.87061C5.43291 1.87061 1.79272 5.51011 1.79248 9.99951C1.7925 14.4891 5.43278 18.1294 9.92236 18.1294C12.0158 18.1293 13.922 17.3348 15.3628 16.0347C15.1398 15.6855 15.0093 15.2716 15.0093 14.8267C15.0093 13.5842 16.0169 12.5767 17.2593 12.5767C17.3821 12.5767 17.5022 12.589 17.6196 12.6079C17.8975 11.789 18.0513 10.9122 18.0513 9.99951C18.051 5.51027 14.4116 1.87086 9.92236 1.87061ZM17.2593 13.2271C16.3761 13.2271 15.6597 13.9435 15.6597 14.8267C15.6599 15.7096 16.3763 16.4253 17.2593 16.4253C18.1421 16.425 18.8577 15.7095 18.8579 14.8267C18.8579 13.9437 18.1422 13.2273 17.2593 13.2271ZM9.92139 3.71924C13.3903 3.71932 16.2026 6.53153 16.2026 10.0005C16.2025 13.4693 13.3902 16.2817 9.92139 16.2817C6.45267 16.2815 3.6403 13.4692 3.64014 10.0005C3.64014 9.46 3.70989 8.93547 3.83838 8.43506C3.47657 8.07379 3.25244 7.57463 3.25244 7.02295C3.2526 5.9208 4.14636 5.02784 5.24854 5.02783C5.48894 5.02789 5.7187 5.07194 5.93213 5.1499C7.01703 4.25645 8.40627 3.71934 9.92139 3.71924ZM9.92139 5.02002C8.81126 5.02011 7.78651 5.38423 6.9585 5.99854C7.13845 6.29825 7.2436 6.64793 7.24365 7.02295C7.24365 8.12508 6.3506 9.01878 5.24854 9.01904C5.17845 9.01904 5.10875 9.01535 5.04053 9.0083C4.97553 9.32883 4.94092 9.66081 4.94092 10.0005C4.94108 12.7507 7.17122 14.9807 9.92139 14.981C12.6717 14.9809 14.9017 12.7508 14.9019 10.0005C14.9019 7.25009 12.6718 5.0201 9.92139 5.02002ZM9.92236 6.78467C11.6981 6.78486 13.1382 8.22468 13.1382 10.0005C13.1382 10.258 13.105 10.5077 13.0474 10.7476C13.2003 10.9625 13.2915 11.2244 13.2915 11.5083C13.2915 12.2347 12.7025 12.8237 11.9761 12.8237C11.8331 12.8237 11.6958 12.7995 11.5669 12.7573C11.0856 13.0464 10.5246 13.2162 9.92236 13.2163C8.14654 13.2163 6.70671 11.7763 6.70654 10.0005C6.70655 8.22457 8.14645 6.78468 9.92236 6.78467ZM11.9761 10.6265C11.4893 10.6265 11.0943 11.0215 11.0942 11.5083C11.0942 11.9952 11.4892 12.3901 11.9761 12.3901C12.463 12.3901 12.8579 11.9952 12.8579 11.5083C12.8579 11.0214 12.463 10.6265 11.9761 10.6265ZM9.92236 8.08545C8.865 8.08546 8.00733 8.94313 8.00732 10.0005C8.00749 11.0577 8.8651 11.9145 9.92236 11.9146C10.1937 11.9145 10.4506 11.8558 10.6841 11.7534C10.6691 11.674 10.6606 11.5921 10.6606 11.5083C10.6607 10.8335 11.1692 10.2772 11.8237 10.2017C11.8309 10.1355 11.8364 10.0685 11.8364 10.0005C11.8364 8.94324 10.9796 8.08564 9.92236 8.08545ZM5.24854 5.67822C4.50563 5.67823 3.90299 6.28008 3.90283 7.02295C3.90283 7.76595 4.50553 8.36864 5.24854 8.36865C5.99132 8.36839 6.59326 7.7658 6.59326 7.02295C6.5931 6.28024 5.99122 5.67848 5.24854 5.67822Z" fill="white"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_82_87">
|
||||
<rect width="20" height="20" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
3
resources/images/helio_icon_dark.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="351" height="348" viewBox="0 0 351 348" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M173.954 0.0898438C270.026 0.0898438 347.908 77.972 347.908 174.044C347.908 194.68 344.309 214.476 337.713 232.842C345.761 240.411 350.789 251.154 350.789 263.074C350.789 285.992 332.21 304.571 309.292 304.571C303.404 304.571 297.802 303.342 292.729 301.131C261.638 330.201 219.876 347.998 173.954 347.998C77.8819 347.998 0 270.116 0 174.044C0.000305138 77.972 77.8821 0.0899015 173.954 0.0898438ZM173.954 24.0898C91.1369 24.0899 24.0003 91.2268 24 174.044C24 256.861 91.1367 323.998 173.954 323.998C212.56 323.998 247.755 309.407 274.333 285.441C270.195 278.987 267.795 271.311 267.795 263.074C267.795 240.156 286.374 221.577 309.292 221.577C311.586 221.577 313.836 221.766 316.028 222.124C321.135 207.031 323.908 190.861 323.908 174.044C323.908 91.2268 256.771 24.0898 173.954 24.0898ZM309.292 233.577C293.001 233.577 279.795 246.783 279.795 263.074C279.795 279.365 293.001 292.571 309.292 292.571C325.583 292.571 338.789 279.365 338.789 263.074C338.789 246.784 325.583 233.577 309.292 233.577ZM173.954 58.1787C237.945 58.1788 289.82 110.054 289.82 174.045C289.82 238.036 237.945 289.911 173.954 289.911C109.963 289.911 58.0881 238.036 58.0879 174.045C58.0879 164.078 59.3479 154.405 61.7148 145.176C55.0477 138.513 50.9229 129.305 50.9229 119.135C50.923 98.8019 67.4064 82.3188 87.7393 82.3184C92.1761 82.3184 96.4301 83.1026 100.369 84.541C120.381 68.0696 146.012 58.1788 173.954 58.1787ZM173.954 82.1787C153.487 82.1788 134.584 88.8724 119.312 100.189C122.641 105.724 124.557 112.206 124.557 119.135C124.556 139.468 108.072 155.952 87.7393 155.952C86.4462 155.952 85.1688 155.884 83.9102 155.754C82.7157 161.665 82.0879 167.782 82.0879 174.045C82.0881 224.781 123.218 265.911 173.954 265.911C224.69 265.911 265.82 224.781 265.82 174.045C265.82 123.309 224.69 82.1788 173.954 82.1787ZM173.954 114.728C206.714 114.728 233.271 141.285 233.271 174.044C233.271 178.797 232.708 183.419 231.651 187.849C234.459 191.808 236.109 196.645 236.109 201.867C236.109 215.267 225.246 226.131 211.846 226.131C209.246 226.131 206.742 225.72 204.394 224.963C195.494 230.295 185.083 233.361 173.954 233.361C141.195 233.361 114.638 206.804 114.638 174.044C114.638 141.285 141.195 114.728 173.954 114.728ZM211.846 185.604C202.864 185.605 195.583 192.886 195.583 201.867C195.583 210.849 202.864 218.13 211.846 218.131C220.828 218.131 228.109 210.849 228.109 201.867C228.109 192.886 220.827 185.604 211.846 185.604ZM173.954 138.728C154.45 138.728 138.638 154.539 138.638 174.044C138.638 193.549 154.449 209.361 173.954 209.361C178.953 209.361 183.707 208.32 188.017 206.446C187.733 204.963 187.583 203.433 187.583 201.867C187.583 189.405 196.979 179.139 209.073 177.763C209.202 176.54 209.271 175.3 209.271 174.044C209.271 154.539 193.459 138.728 173.954 138.728ZM87.7393 94.3184C74.0338 94.3188 62.923 105.429 62.9229 119.135C62.923 132.84 74.0338 143.952 87.7393 143.952C101.445 143.952 112.556 132.841 112.557 119.135C112.556 105.429 101.445 94.3184 87.7393 94.3184Z" fill="#060606"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
@@ -1,5 +1,5 @@
|
||||
<svg width="54" height="54" viewBox="0 0 54 54" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M7.27356 34.1636C7.27356 26.4128 22.6691 1.65861 27.1318 1.65881C31.5946 1.65902 46.3211 27.5191 46.3211 34.1636C46.3211 40.8082 40.4668 50.0033 27.1318 50.0033C13.7969 50.0033 7.27356 41.9145 7.27356 34.1636Z" fill="#23A4DC"/>
|
||||
<path d="M7.27356 34.1636C7.27356 26.4128 22.6691 1.65861 27.1318 1.65881C31.5946 1.65902 46.3211 27.5191 46.3211 34.1636C46.3211 40.8082 40.4668 50.0033 27.1318 50.0033C13.7969 50.0033 7.27356 41.9145 7.27356 34.1636Z" stroke="#E1E1E1" stroke-width="1.65888"/>
|
||||
<path d="M27.8328 23.7633C29.0869 23.7633 30.2315 24.0619 31.2667 24.6591C32.3018 25.2364 33.118 26.0725 33.7152 27.1674C34.3124 28.2423 34.611 29.4865 34.611 30.8998C34.611 32.4326 34.2725 33.7664 33.5957 34.9011C32.9388 36.0158 32.0331 36.8718 30.8785 37.469C29.7239 38.0463 28.4499 38.3349 27.0564 38.3349C25.4042 38.3349 23.9709 37.9567 22.7566 37.2003C21.5622 36.4438 20.7162 35.2992 20.2185 33.7664L23.7121 31.7658C23.9709 32.6616 24.3889 33.3384 24.9662 33.7962C25.5435 34.2541 26.2203 34.483 26.9967 34.483C27.9721 34.483 28.7186 34.1645 29.2362 33.5275C29.7737 32.8706 30.0424 32.0445 30.0424 31.0491C30.0424 30.0538 29.7637 29.2277 29.2063 28.5708C28.6688 27.8939 27.8925 27.5555 26.8773 27.5555C25.5634 27.5555 24.5183 28.2025 23.742 29.4964L20.6365 27.9736L22.1295 16.0894H33.5957V19.792H25.7724L25.1752 24.3008C26.0312 23.9425 26.9171 23.7633 27.8328 23.7633Z" fill="white"/>
|
||||
<path d="M33.944 27.73H25.034V33.19H35.324V37H20.684V15.04H34.994V18.82H25.034V23.98H33.944V27.73Z" fill="white"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 717 B |
@@ -1,5 +1,5 @@
|
||||
<svg width="54" height="54" viewBox="0 0 54 54" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M7.61029 34.1636C7.61029 26.4128 23.0058 1.65861 27.4686 1.65881C31.9313 1.65902 46.6578 27.5191 46.6578 34.1636C46.6578 40.8082 40.8035 50.0033 27.4686 50.0033C14.1336 50.0033 7.61029 41.9145 7.61029 34.1636Z" fill="#94DFFF"/>
|
||||
<path d="M7.61029 34.1636C7.61029 26.4128 23.0058 1.65861 27.4686 1.65881C31.9313 1.65902 46.6578 27.5191 46.6578 34.1636C46.6578 40.8082 40.8035 50.0033 27.4686 50.0033C14.1336 50.0033 7.61029 41.9145 7.61029 34.1636Z" stroke="#858585" stroke-width="1.65888"/>
|
||||
<path d="M28.1695 23.7633C29.4236 23.7633 30.5682 24.0619 31.6034 24.6591C32.6385 25.2364 33.4547 26.0725 34.0519 27.1674C34.6491 28.2423 34.9477 29.4865 34.9477 30.8998C34.9477 32.4326 34.6093 33.7664 33.9324 34.9011C33.2755 36.0158 32.3698 36.8718 31.2152 37.469C30.0606 38.0463 28.7866 38.3349 27.3931 38.3349C25.7409 38.3349 24.3076 37.9567 23.0933 37.2003C21.8989 36.4438 21.0529 35.2992 20.5552 33.7664L24.0488 31.7658C24.3076 32.6616 24.7257 33.3384 25.303 33.7962C25.8802 34.2541 26.5571 34.483 27.3334 34.483C28.3088 34.483 29.0553 34.1645 29.5729 33.5275C30.1104 32.8706 30.3791 32.0445 30.3791 31.0491C30.3791 30.0538 30.1004 29.2277 29.5431 28.5708C29.0056 27.8939 28.2292 27.5555 27.214 27.5555C25.9002 27.5555 24.8551 28.2025 24.0787 29.4964L20.9733 27.9736L22.4663 16.0894H33.9324V19.792H26.1092L25.512 24.3008C26.368 23.9425 27.2538 23.7633 28.1695 23.7633Z" fill="#858585"/>
|
||||
<path d="M33.0144 27.348H24.6984V32.444H34.3024V36H20.6384V15.504H33.9944V19.032H24.6984V23.848H33.0144V27.348Z" fill="#858585"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 732 B |
@@ -1,5 +1,5 @@
|
||||
<svg width="54" height="54" viewBox="0 0 54 54" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.8175 13.3563C11.9964 20.8736 7.52618 29.9871 7.52618 34.1636C7.52618 41.1346 12.8028 48.379 23.5658 49.7662H30.9707C41.775 48.2858 46.5737 40.1794 46.5737 34.1636C46.5737 31.0432 43.3257 23.6847 39.4182 16.757C38.3605 16.9125 37.2906 17.0034 36.2376 17.0034C32.9249 17.0034 30.7477 16.1407 28.4866 15.2449C26.0443 14.2773 23.5042 13.2709 19.3297 13.2709C18.4199 13.2709 17.585 13.302 16.8175 13.3563Z" fill="#23A4DC"/>
|
||||
<path d="M7.52612 34.1636C7.52612 26.4128 22.9217 1.65861 27.3844 1.65881C31.8471 1.65902 46.5736 27.5191 46.5736 34.1636C46.5736 40.8082 40.7193 50.0033 27.3844 50.0033C14.0495 50.0033 7.52612 41.9145 7.52612 34.1636Z" stroke="#E1E1E1" stroke-width="1.65888"/>
|
||||
<path d="M32.1614 24.7189V29.8249H35.1176V33.5275H32.1614V37.9766H27.9213V33.5275H18.5453V30.5714L26.07 16.0894H30.6087L23.4125 29.8249H27.9213V24.7189H32.1614Z" fill="white"/>
|
||||
<path d="M26.0837 15.504C28.081 15.504 29.8824 15.9053 31.4877 16.708C33.1117 17.5107 34.3904 18.6867 35.3237 20.236C36.257 21.7667 36.7237 23.596 36.7237 25.724C36.7237 27.852 36.257 29.6907 35.3237 31.24C34.3904 32.7893 33.121 33.9747 31.5157 34.796C29.9104 35.5987 28.0997 36 26.0837 36H19.2517V15.504H26.0837ZM25.6077 32.528C27.8104 32.528 29.4997 31.94 30.6757 30.764C31.8517 29.588 32.4397 27.908 32.4397 25.724C32.4397 23.5773 31.8424 21.916 30.6477 20.74C29.4717 19.5453 27.7917 18.948 25.6077 18.948H23.3117V32.528H25.6077Z" fill="white"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1014 B After Width: | Height: | Size: 1.4 KiB |