mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-17 02:22:17 +00:00
Merge branch 'main' into dev/bbl-network-upd
This commit is contained in:
@@ -84,6 +84,10 @@ then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
# cmake 4.x compatibility workaround
|
||||
export CMAKE_POLICY_VERSION_MINIMUM=3.5
|
||||
|
||||
DISTRIBUTION=$(awk -F= '/^ID=/ {print $2}' /etc/os-release | tr -d '"')
|
||||
DISTRIBUTION_LIKE=$(awk -F= '/^ID_LIKE=/ {print $2}' /etc/os-release | tr -d '"')
|
||||
# Check for direct distribution match to Ubuntu/Debian
|
||||
@@ -92,6 +96,8 @@ if [ "${DISTRIBUTION}" == "ubuntu" ] || [ "${DISTRIBUTION}" == "linuxmint" ]; th
|
||||
# Check if distribution is Debian/Ubuntu-like based on ID_LIKE
|
||||
elif [[ "${DISTRIBUTION_LIKE}" == *"debian"* ]] || [[ "${DISTRIBUTION_LIKE}" == *"ubuntu"* ]]; then
|
||||
DISTRIBUTION="debian"
|
||||
elif [[ "${DISTRIBUTION_LIKE}" == *"arch"* ]]; then
|
||||
DISTRIBUTION="arch"
|
||||
fi
|
||||
if [ ! -f ./linux.d/${DISTRIBUTION} ]
|
||||
then
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
|
||||
# Verify that your CMake version is exactly 3.31.x series or lower on windows
|
||||
if(${CMAKE_VERSION} VERSION_LESS "3.13" OR ${CMAKE_VERSION} VERSION_GREATER_EQUAL "4.0")
|
||||
message(FATAL_ERROR "Only CMake versions between 3.13.x and 3.31.x is supported. Detected version: ${CMAKE_VERSION}")
|
||||
if ( ((MSVC) OR (WIN32)) AND (${CMAKE_VERSION} VERSION_GREATER_EQUAL "4.0") )
|
||||
message(FATAL_ERROR "Only cmake versions between 3.13.x and 3.31.x is supported on windows. Detected version: ${CMAKE_VERSION}")
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
@@ -44,7 +44,7 @@ You can do this in Environment Variables settings.
|
||||
endif()
|
||||
endif()
|
||||
endif ()
|
||||
|
||||
|
||||
if (APPLE)
|
||||
# if CMAKE_OSX_DEPLOYMENT_TARGET is not set, set it to 11.3
|
||||
if (NOT CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||
@@ -354,7 +354,7 @@ if (NOT MSVC AND ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMP
|
||||
add_compile_options(-Wno-unknown-pragmas)
|
||||
endif()
|
||||
|
||||
# Bit of a hack for flatpak building: compress the debug info with zstd to save space in CI
|
||||
# Bit of a hack for flatpak building: compress the debug info with zstd to save space in CI
|
||||
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 13.0)
|
||||
add_compile_options(-gz=zstd)
|
||||
endif()
|
||||
@@ -492,7 +492,7 @@ endif()
|
||||
function(slic3r_remap_configs targets from_Cfg to_Cfg)
|
||||
if(MSVC)
|
||||
string(TOUPPER ${from_Cfg} from_CFG)
|
||||
|
||||
|
||||
foreach(tgt ${targets})
|
||||
if(TARGET ${tgt})
|
||||
set_target_properties(${tgt} PROPERTIES MAP_IMPORTED_CONFIG_${from_CFG} ${to_Cfg})
|
||||
@@ -619,7 +619,7 @@ add_custom_target(gettext_make_pot
|
||||
COMMAND xgettext --keyword=L --keyword=_L --keyword=_u8L --keyword=L_CONTEXT:1,2c --keyword=_L_PLURAL:1,2 --add-comments=TRN --from-code=UTF-8 --no-location --debug --boost
|
||||
-f "${BBL_L18N_DIR}/list.txt"
|
||||
-o "${BBL_L18N_DIR}/OrcaSlicer.pot"
|
||||
COMMAND hintsToPot ${SLIC3R_RESOURCES_DIR} ${BBL_L18N_DIR}
|
||||
COMMAND hintsToPot ${SLIC3R_RESOURCES_DIR} ${BBL_L18N_DIR}
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
COMMENT "Generate pot file from strings in the source tree"
|
||||
)
|
||||
@@ -779,7 +779,7 @@ function(orcaslicer_copy_dlls target config postfix output_dlls)
|
||||
|
||||
PARENT_SCOPE
|
||||
)
|
||||
|
||||
|
||||
endfunction()
|
||||
|
||||
|
||||
@@ -819,7 +819,7 @@ endif()
|
||||
if (WIN32)
|
||||
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "./resources")
|
||||
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE)
|
||||
include(InstallRequiredSystemLibraries)
|
||||
include(InstallRequiredSystemLibraries)
|
||||
install (PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION ".")
|
||||
elseif (SLIC3R_FHS)
|
||||
# CMAKE_INSTALL_FULL_DATAROOTDIR: read-only architecture-independent data root (share)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"type": "filament",
|
||||
"name": "AliZ PETG-CF @base",
|
||||
"inherits": "AliZ PETG @base",
|
||||
"filament_id": "AliZ001-1",
|
||||
"filament_id": "AZ01-1",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"fan_cooling_layer_time": [
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"type": "filament",
|
||||
"name": "AliZ PETG-Metal @base",
|
||||
"inherits": "AliZ PETG @base",
|
||||
"filament_id": "AliZ001-2",
|
||||
"filament_id": "AZ01-2",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"fan_cooling_layer_time": [
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"inherits": "fdm_filament_common",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"filament_id": "OGFLSBS99",
|
||||
"filament_id": "OFLSBS99",
|
||||
"fan_cooling_layer_time": [
|
||||
"100"
|
||||
],
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
"extruder_clearance_height_to_rod": "33",
|
||||
"extruder_clearance_radius": "75",
|
||||
"from": "system",
|
||||
"printer_structure": "corexy",
|
||||
"gcode_flavor": "marlin2",
|
||||
"host_type": "prusalink",
|
||||
"inherits": "fdm_machine_common",
|
||||
|
||||
@@ -232,6 +232,44 @@ def check_filament_name_consistency(profiles_dir, vendor_name):
|
||||
|
||||
return error_count
|
||||
|
||||
def check_filament_id(vendor, vendor_folder):
|
||||
"""
|
||||
Make sure filament_id is not longer than 8 characters, otherwise AMS won't work properly
|
||||
"""
|
||||
if vendor not in ('BBL', 'OrcaFilamentLibrary'):
|
||||
return 0
|
||||
|
||||
error = 0
|
||||
vendor_path = Path(vendor_folder)
|
||||
if not vendor_path.exists():
|
||||
return 0
|
||||
|
||||
# Use rglob to recursively find .json files.
|
||||
for file_path in vendor_path.rglob("*.json"):
|
||||
try:
|
||||
with open(file_path, 'r', encoding='UTF-8') as fp:
|
||||
# Use custom hook to detect duplicates.
|
||||
data = json.load(fp, object_pairs_hook=no_duplicates_object_pairs_hook)
|
||||
except ValueError as ve:
|
||||
print(f"Duplicate key error in {file_path}: {ve}")
|
||||
error += 1
|
||||
continue
|
||||
except Exception as e:
|
||||
print(f"Error processing {file_path}: {e}")
|
||||
error += 1
|
||||
continue
|
||||
|
||||
if 'filament_id' not in data:
|
||||
continue
|
||||
|
||||
filament_id = data['filament_id']
|
||||
|
||||
if len(filament_id) > 8:
|
||||
error += 1
|
||||
print(f"Filament id too long \"{filament_id}\": {file_path}")
|
||||
|
||||
return error
|
||||
|
||||
def main():
|
||||
print("Checking profiles ...")
|
||||
parser = argparse.ArgumentParser(description="Check profiles for issues")
|
||||
@@ -251,12 +289,14 @@ def main():
|
||||
if args.check_materials:
|
||||
errors_found += check_machine_default_materials(profiles_dir, args.vendor)
|
||||
errors_found += check_filament_name_consistency(profiles_dir, args.vendor)
|
||||
errors_found += check_filament_id(args.vendor, profiles_dir / args.vendor / "filament")
|
||||
checked_vendor_count += 1
|
||||
else:
|
||||
for vendor_dir in profiles_dir.iterdir():
|
||||
if not vendor_dir.is_dir():
|
||||
continue
|
||||
errors_found += check_filament_name_consistency(profiles_dir, vendor_dir.name)
|
||||
errors_found += check_filament_id(vendor_dir.name, vendor_dir / "filament")
|
||||
# skip "OrcaFilamentLibrary" folder
|
||||
if vendor_dir.name == "OrcaFilamentLibrary":
|
||||
continue
|
||||
|
||||
@@ -79,7 +79,7 @@ void PrinterWebView::load_url(wxString& url, wxString apikey)
|
||||
m_apikey_sent = false;
|
||||
|
||||
if (this->IsShown()) {
|
||||
m_url_deferred = *wxEmptyString;
|
||||
m_url_deferred.clear();
|
||||
m_browser->LoadURL(url);
|
||||
} else {
|
||||
m_url_deferred = url;
|
||||
@@ -92,7 +92,7 @@ bool PrinterWebView::Show(bool show)
|
||||
{
|
||||
if (show && !m_url_deferred.empty()) {
|
||||
m_browser->LoadURL(m_url_deferred);
|
||||
m_url_deferred = *wxEmptyString;
|
||||
m_url_deferred.clear();
|
||||
}
|
||||
return wxPanel::Show(show);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user