mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-11-02 20:51:23 -07:00 
			
		
		
		
	Merge branch 'master' of https://github.com/prusa3d/Slic3r into gizmos_3d
This commit is contained in:
		
						commit
						fc0651702d
					
				
					 4 changed files with 26 additions and 13 deletions
				
			
		
							
								
								
									
										1
									
								
								Build.PL
									
										
									
									
									
								
							
							
						
						
									
										1
									
								
								Build.PL
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -38,7 +38,6 @@ if ($gui) {
 | 
			
		|||
    %prereqs = qw(
 | 
			
		||||
    Class::Accessor                 0
 | 
			
		||||
    Wx                              0.9918
 | 
			
		||||
    Socket                          2.016
 | 
			
		||||
    );
 | 
			
		||||
    %recommends = qw(
 | 
			
		||||
    Wx::GLCanvas                    0
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,4 @@
 | 
			
		|||
# Boost 1.63 requires CMake 3.7 or newer
 | 
			
		||||
cmake_minimum_required(VERSION 2.8)
 | 
			
		||||
cmake_minimum_required(VERSION 3.2)
 | 
			
		||||
 | 
			
		||||
project(Slic3r)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -23,6 +22,7 @@ option(SLIC3R_GUI    			"Compile Slic3r with GUI components (OpenGL, wxWidgets)"
 | 
			
		|||
option(SLIC3R_PRUSACONTROL		"Compile Slic3r with the PrusaControl prject file format (requires wxWidgets base library)" 1)
 | 
			
		||||
option(SLIC3R_PROFILE 			"Compile Slic3r with an invasive Shiny profiler" 0)
 | 
			
		||||
option(SLIC3R_MSVC_COMPILE_PARALLEL "Compile on Visual Studio in parallel" 1)
 | 
			
		||||
option(SLIC3R_MSVC_PDB          "Generate PDB files on MSVC in Release mode" 1)
 | 
			
		||||
 | 
			
		||||
if (MSVC AND SLIC3R_MSVC_COMPILE_PARALLEL)
 | 
			
		||||
	add_compile_options(/MP)
 | 
			
		||||
| 
						 | 
				
			
			@ -36,10 +36,18 @@ else()
 | 
			
		|||
    set(ENV_PATH_SEPARATOR ":")
 | 
			
		||||
endif()
 | 
			
		||||
set(ENV{PATH}     "${PROJECT_SOURCE_DIR}/local-lib/bin${ENV_PATH_SEPARATOR}$ENV{PATH}")
 | 
			
		||||
set(ENV{PERL5LIB} "${PROJECT_SOURCE_DIR}/local-lib/lib/perl${ENV_PATH_SEPARATOR}$ENV{PERL5LIB}")
 | 
			
		||||
set(PERL_INCLUDE  "${PROJECT_SOURCE_DIR}/local-lib/lib/perl5${ENV_PATH_SEPARATOR}$ENV{PERL5LIB}")
 | 
			
		||||
message("PATH: $ENV{PATH}")
 | 
			
		||||
message("PERL5LIB: $ENV{PERL5LIB}")
 | 
			
		||||
message("PERL_INCLUDE: ${PERL_INCLUDE}")
 | 
			
		||||
find_package(Perl REQUIRED)
 | 
			
		||||
if (WIN32)
 | 
			
		||||
    # On Windows passing the PERL5LIB variable causes various problems (such as with MAX_PATH and others),
 | 
			
		||||
    # basically I've found no good way to do it on Windows.
 | 
			
		||||
    set(PERL5LIB_ENV_CMD "")
 | 
			
		||||
else()
 | 
			
		||||
    set(PERL5LIB_ENV_CMD ${CMAKE_COMMAND} -E env PERL5LIB=${PERL_INCLUDE})
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# CMAKE_PREFIX_PATH is used to point CMake to the remaining dependencies (Boost, TBB, ...)
 | 
			
		||||
# We pick it from environment if it is not defined in another way
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -369,7 +369,7 @@ set(MyTypemap ${CMAKE_CURRENT_BINARY_DIR}/typemap)
 | 
			
		|||
add_custom_command(
 | 
			
		||||
        OUTPUT ${MyTypemap}
 | 
			
		||||
        DEPENDS ${CMAKE_CURRENT_LIST_DIR}/xsp/my.map
 | 
			
		||||
        COMMAND ${PERL_EXECUTABLE} -MExtUtils::Typemaps -MExtUtils::Typemaps::Basic -e "$typemap = ExtUtils::Typemaps->new(file => \"${CMAKE_CURRENT_LIST_DIR}/xsp/my.map\"); $typemap->merge(typemap => ExtUtils::Typemaps::Basic->new); $typemap->write(file => \"${MyTypemap}\")"
 | 
			
		||||
        COMMAND ${PERL5LIB_ENV_CMD} ${PERL_EXECUTABLE} -MExtUtils::Typemaps -MExtUtils::Typemaps::Basic -e "$typemap = ExtUtils::Typemaps->new(file => \"${CMAKE_CURRENT_LIST_DIR}/xsp/my.map\"); $typemap->merge(typemap => ExtUtils::Typemaps::Basic->new); $typemap->write(file => \"${MyTypemap}\")"
 | 
			
		||||
        VERBATIM
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -434,7 +434,8 @@ set(XS_MAIN_CPP ${CMAKE_CURRENT_BINARY_DIR}/XS.cpp)
 | 
			
		|||
add_custom_command(
 | 
			
		||||
        OUTPUT ${XS_MAIN_CPP}
 | 
			
		||||
        DEPENDS ${MyTypemap} ${XS_XSP_FILES} ${CMAKE_CURRENT_LIST_DIR}/xsp/typemap.xspt
 | 
			
		||||
        COMMAND COMMAND xsubpp -typemap typemap -output ${XS_MAIN_CPP} -hiertype ${XS_MAIN_XS}
 | 
			
		||||
        COMMAND ${PERL5LIB_ENV_CMD} xsubpp -typemap typemap -output ${XS_MAIN_CPP} -hiertype ${XS_MAIN_XS}
 | 
			
		||||
        VERBATIM
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
# Define the Perl XS shared library.
 | 
			
		||||
| 
						 | 
				
			
			@ -498,6 +499,14 @@ if (WIN32)
 | 
			
		|||
    target_compile_definitions(XS PRIVATE -DNOGDI -DNOMINMAX -DHAS_BOOL)
 | 
			
		||||
endif ()
 | 
			
		||||
 | 
			
		||||
# SLIC3R_MSVC_PDB
 | 
			
		||||
if (MSVC AND SLIC3R_MSVC_PDB AND ${CMAKE_BUILD_TYPE} STREQUAL "Release")
 | 
			
		||||
    set_target_properties(XS PROPERTIES
 | 
			
		||||
        COMPILE_FLAGS "/Zi"
 | 
			
		||||
        LINK_FLAGS "/DEBUG /OPT:REF /OPT:ICF"
 | 
			
		||||
    )
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
## Configuration flags
 | 
			
		||||
if (SLIC3R_GUI)
 | 
			
		||||
    message("Slic3r will be built with GUI support")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -518,7 +518,7 @@ PrintConfigDef::PrintConfigDef()
 | 
			
		|||
    def->cli = "filament-minimal-purge-on-wipe-tower=f@";
 | 
			
		||||
    def->sidetext = L("mm³");
 | 
			
		||||
    def->min = 0;
 | 
			
		||||
    def->default_value = new ConfigOptionFloats { 5.f };
 | 
			
		||||
    def->default_value = new ConfigOptionFloats { 15.f };
 | 
			
		||||
 | 
			
		||||
    def = this->add("filament_cooling_final_speed", coFloats);
 | 
			
		||||
    def->label = L("Speed of the last cooling move");
 | 
			
		||||
| 
						 | 
				
			
			@ -572,10 +572,7 @@ PrintConfigDef::PrintConfigDef()
 | 
			
		|||
 | 
			
		||||
    def = this->add("filament_type", coStrings);
 | 
			
		||||
    def->label = L("Filament type");
 | 
			
		||||
    def->tooltip = L("If you want to process the output G-code through custom scripts, just list their "
 | 
			
		||||
                   "absolute paths here. Separate multiple scripts with a semicolon. Scripts will be passed "
 | 
			
		||||
                   "the absolute path to the G-code file as the first argument, and they can access "
 | 
			
		||||
                   "the Slic3r config settings by reading environment variables.");
 | 
			
		||||
    def->tooltip = L("The filament material type for use in custom G-codes.");
 | 
			
		||||
    def->cli = "filament_type=s@";
 | 
			
		||||
    def->gui_type = "f_enum_open";
 | 
			
		||||
    def->gui_flags = "show_value";
 | 
			
		||||
| 
						 | 
				
			
			@ -921,7 +918,7 @@ PrintConfigDef::PrintConfigDef()
 | 
			
		|||
 | 
			
		||||
    def = this->add("remaining_times", coBool);
 | 
			
		||||
    def->label = L("Supports remaining times");
 | 
			
		||||
    def->tooltip = L("Emit M73 P[percent printed] R[remaining time in seconds] at 1 minute"
 | 
			
		||||
    def->tooltip = L("Emit M73 P[percent printed] R[remaining time in minutes] at 1 minute"
 | 
			
		||||
                     " intervals into the G-code to let the firmware show accurate remaining time."
 | 
			
		||||
                     " As of now only the Prusa i3 MK3 firmware recognizes M73."
 | 
			
		||||
                     " Also the i3 MK3 firmware supports M73 Qxx Sxx for the silent mode.");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue