Moved Platform.cpp/hpp to libslic3r

This commit is contained in:
Vojtech Bubnik 2021-03-15 14:52:57 +01:00
parent 08a7a87d29
commit b8202e62f7
9 changed files with 17 additions and 26 deletions

View File

@ -38,6 +38,7 @@
#include "libslic3r/GCode/PostProcessor.hpp" #include "libslic3r/GCode/PostProcessor.hpp"
#include "libslic3r/Model.hpp" #include "libslic3r/Model.hpp"
#include "libslic3r/ModelArrange.hpp" #include "libslic3r/ModelArrange.hpp"
#include "libslic3r/Platform.hpp"
#include "libslic3r/Print.hpp" #include "libslic3r/Print.hpp"
#include "libslic3r/SLAPrint.hpp" #include "libslic3r/SLAPrint.hpp"
#include "libslic3r/TriangleMesh.hpp" #include "libslic3r/TriangleMesh.hpp"
@ -68,6 +69,8 @@ int CLI::run(int argc, char **argv)
{ {
// Mark the main thread for the debugger and for runtime checks. // Mark the main thread for the debugger and for runtime checks.
set_current_thread_name("slic3r_main"); set_current_thread_name("slic3r_main");
// Detect the operating system flavor.
detect_platform();
#ifdef __WXGTK__ #ifdef __WXGTK__
// On Linux, wxGTK has no support for Wayland, and the app crashes on // On Linux, wxGTK has no support for Wayland, and the app crashes on

View File

@ -141,6 +141,8 @@ add_library(libslic3r STATIC
PerimeterGenerator.hpp PerimeterGenerator.hpp
PlaceholderParser.cpp PlaceholderParser.cpp
PlaceholderParser.hpp PlaceholderParser.hpp
Platform.cpp
Platform.hpp
Point.cpp Point.cpp
Point.hpp Point.hpp
Polygon.cpp Polygon.cpp

View File

@ -1,15 +1,8 @@
#include "Platform.hpp" #include "Platform.hpp"
// For starting another PrusaSlicer instance on OSX.
// Fails to compile on Windows on the build server.
#include <wx/stdpaths.h>
#include <boost/log/trivial.hpp> #include <boost/log/trivial.hpp>
namespace Slic3r { namespace Slic3r {
namespace GUI {
static auto s_platform = Platform::Uninitialized; static auto s_platform = Platform::Uninitialized;
static auto s_platform_flavor = PlatformFlavor::Uninitialized; static auto s_platform_flavor = PlatformFlavor::Uninitialized;
@ -74,5 +67,4 @@ PlatformFlavor platform_flavor()
return s_platform_flavor; return s_platform_flavor;
} }
} // namespace GUI
} // namespace Slic3r } // namespace Slic3r

View File

@ -1,8 +1,7 @@
#ifndef SLIC3R_GUI_Utils_Platform_HPP #ifndef SLIC3R_Platform_HPP
#define SLIC3R_GUI_Utils_Platform_HPP #define SLIC3R_Platform_HPP
namespace Slic3r { namespace Slic3r {
namespace GUI {
enum class Platform enum class Platform
{ {
@ -37,8 +36,6 @@ void detect_platform();
Platform platform(); Platform platform();
PlatformFlavor platform_flavor(); PlatformFlavor platform_flavor();
} // namespace GUI
} // namespace Slic3r } // namespace Slic3r
#endif // SLIC3R_GUI_Utils_Platform_HPP #endif // SLIC3R_Platform_HPP

View File

@ -209,8 +209,6 @@ set(SLIC3R_GUI_SOURCES
Utils/Bonjour.hpp Utils/Bonjour.hpp
Utils/PresetUpdater.cpp Utils/PresetUpdater.cpp
Utils/PresetUpdater.hpp Utils/PresetUpdater.hpp
Utils/Platform.cpp
Utils/Platform.hpp
Utils/Process.cpp Utils/Process.cpp
Utils/Process.hpp Utils/Process.hpp
Utils/Profile.hpp Utils/Profile.hpp

View File

@ -9,7 +9,6 @@
#include "slic3r/GUI/format.hpp" #include "slic3r/GUI/format.hpp"
#include "slic3r/GUI/MainFrame.hpp" #include "slic3r/GUI/MainFrame.hpp"
#include "slic3r/GUI/Plater.hpp" #include "slic3r/GUI/Plater.hpp"
#include "slic3r/Utils/Platform.hpp"
// To show a message box if GUI initialization ends up with an exception thrown. // To show a message box if GUI initialization ends up with an exception thrown.
#include <wx/msgdlg.h> #include <wx/msgdlg.h>
@ -37,8 +36,6 @@ int GUI_Run(GUI_InitParams &params)
signal(SIGCHLD, SIG_DFL); signal(SIGCHLD, SIG_DFL);
#endif // __APPLE__ #endif // __APPLE__
detect_platform();
try { try {
GUI::GUI_App* gui = new GUI::GUI_App(params.start_as_gcodeviewer ? GUI::GUI_App::EAppMode::GCodeViewer : GUI::GUI_App::EAppMode::Editor); GUI::GUI_App* gui = new GUI::GUI_App(params.start_as_gcodeviewer ? GUI::GUI_App::EAppMode::GCodeViewer : GUI::GUI_App::EAppMode::Editor);
if (gui->get_app_mode() != GUI::GUI_App::EAppMode::GCodeViewer) { if (gui->get_app_mode() != GUI::GUI_App::EAppMode::GCodeViewer) {

View File

@ -4,7 +4,8 @@
#include "GUI.hpp" #include "GUI.hpp"
#include "I18N.hpp" #include "I18N.hpp"
#include "3DScene.hpp" #include "3DScene.hpp"
#include "slic3r/Utils/Platform.hpp"
#include "libslic3r/Platform.hpp"
#include <GL/glew.h> #include <GL/glew.h>
@ -324,7 +325,7 @@ void OpenGLManager::detect_multisample(int* attribList)
enable_multisample && enable_multisample &&
// Disable multi-sampling on ChromeOS, as the OpenGL virtualization swaps Red/Blue channels with multi-sampling enabled, // Disable multi-sampling on ChromeOS, as the OpenGL virtualization swaps Red/Blue channels with multi-sampling enabled,
// at least on some platforms. // at least on some platforms.
(platform() != Platform::Linux || platform_flavor() != PlatformFlavor::LinuxOnChromium) && platform_flavor() != PlatformFlavor::LinuxOnChromium &&
wxGLCanvas::IsDisplaySupported(attribList) wxGLCanvas::IsDisplaySupported(attribList)
? EMultisampleState::Enabled : EMultisampleState::Disabled; ? EMultisampleState::Enabled : EMultisampleState::Disabled;
// Alternative method: it was working on previous version of wxWidgets but not with the latest, at least on Windows // Alternative method: it was working on previous version of wxWidgets but not with the latest, at least on Windows

View File

@ -76,7 +76,6 @@
#include "../Utils/FixModelByWin10.hpp" #include "../Utils/FixModelByWin10.hpp"
#include "../Utils/UndoRedo.hpp" #include "../Utils/UndoRedo.hpp"
#include "../Utils/PresetUpdater.hpp" #include "../Utils/PresetUpdater.hpp"
#include "../Utils/Platform.hpp"
#include "../Utils/Process.hpp" #include "../Utils/Process.hpp"
#include "RemovableDriveManager.hpp" #include "RemovableDriveManager.hpp"
#include "InstanceCheck.hpp" #include "InstanceCheck.hpp"
@ -89,7 +88,9 @@
#include <wx/glcanvas.h> // Needs to be last because reasons :-/ #include <wx/glcanvas.h> // Needs to be last because reasons :-/
#include "WipeTowerDialog.hpp" #include "WipeTowerDialog.hpp"
#include "libslic3r/CustomGCode.hpp" #include "libslic3r/CustomGCode.hpp"
#include "libslic3r/Platform.hpp"
using boost::optional; using boost::optional;
namespace fs = boost::filesystem; namespace fs = boost::filesystem;
@ -3660,7 +3661,7 @@ void Plater::priv::on_process_completed(SlicingProcessCompletedEvent &evt)
show_action_buttons(false); show_action_buttons(false);
notification_manager->push_exporting_finished_notification(last_output_path, last_output_dir_path, notification_manager->push_exporting_finished_notification(last_output_path, last_output_dir_path,
// Don't offer the "Eject" button on ChromeOS, the Linux side has no control over it. // Don't offer the "Eject" button on ChromeOS, the Linux side has no control over it.
platform() != Platform::Linux || platform_flavor() != PlatformFlavor::LinuxOnChromium); platform_flavor() != PlatformFlavor::LinuxOnChromium);
wxGetApp().removable_drive_manager()->set_exporting_finished(true); wxGetApp().removable_drive_manager()->set_exporting_finished(true);
}else if (exporting_status == ExportingStatus::EXPORTING_TO_LOCAL && !has_error) }else if (exporting_status == ExportingStatus::EXPORTING_TO_LOCAL && !has_error)
notification_manager->push_exporting_finished_notification(last_output_path, last_output_dir_path, false); notification_manager->push_exporting_finished_notification(last_output_path, last_output_dir_path, false);

View File

@ -1,5 +1,5 @@
#include "RemovableDriveManager.hpp" #include "RemovableDriveManager.hpp"
#include "slic3r/Utils/Platform.hpp" #include "libslic3r/Platform.hpp"
#include <libslic3r/libslic3r.h> #include <libslic3r/libslic3r.h>
#include <boost/nowide/convert.hpp> #include <boost/nowide/convert.hpp>
@ -232,7 +232,7 @@ std::vector<DriveData> RemovableDriveManager::search_for_removable_drives() cons
#else #else
if (platform() == Platform::Linux && platform_flavor() == PlatformFlavor::LinuxOnChromium) { if (platform_flavor() == PlatformFlavor::LinuxOnChromium) {
// ChromeOS specific: search /mnt/chromeos/removable/* folder // ChromeOS specific: search /mnt/chromeos/removable/* folder
search_for_drives_internal::search_path("/mnt/chromeos/removable/*", "/mnt/chromeos/removable", current_drives); search_for_drives_internal::search_path("/mnt/chromeos/removable/*", "/mnt/chromeos/removable", current_drives);
} else { } else {
@ -452,7 +452,7 @@ RemovableDriveManager::RemovableDrivesStatus RemovableDriveManager::status()
tbb::mutex::scoped_lock lock(m_drives_mutex); tbb::mutex::scoped_lock lock(m_drives_mutex);
out.has_eject = out.has_eject =
// Cannot control eject on Chromium. // Cannot control eject on Chromium.
(platform() != Platform::Linux || platform_flavor() != PlatformFlavor::LinuxOnChromium) && platform_flavor() != PlatformFlavor::LinuxOnChromium &&
this->find_last_save_path_drive_data() != m_current_drives.end(); this->find_last_save_path_drive_data() != m_current_drives.end();
out.has_removable_drives = ! m_current_drives.empty(); out.has_removable_drives = ! m_current_drives.empty();
} }