PrusaSlicer-NonPlainar/src/libslic3r/Platform.hpp

45 lines
1 KiB
C++
Raw Normal View History

#ifndef SLIC3R_Platform_HPP
#define SLIC3R_Platform_HPP
2021-08-11 12:03:44 +02:00
#include <string>
namespace Slic3r {
enum class Platform
{
Uninitialized,
Unknown,
Windows,
OSX,
Linux,
2021-03-11 15:21:58 +01:00
BSDUnix,
};
enum class PlatformFlavor
{
Uninitialized,
2021-08-11 12:03:44 +02:00
Unknown,
Generic, // For Windows and OSX, until we need to be more specific.
GenericLinux, // For Platform::Linux
LinuxOnChromium, // For Platform::Linux
WSL, // Microsoft's Windows on Linux (Linux kernel simulated on NTFS kernel)
WSL2, // Microsoft's Windows on Linux, version 2 (virtual machine)
OpenBSD, // For Platform::BSDUnix
GenericOSX, // For Platform::OSX
OSXOnX86, // For Apple's on Intel X86 CPU
OSXOnArm, // For Apple's on Arm CPU
};
// To be called on program start-up.
void detect_platform();
Platform platform();
PlatformFlavor platform_flavor();
2021-08-11 12:03:44 +02:00
std::string platform_to_string(Platform platform);
std::string platform_flavor_to_string(PlatformFlavor pf);
} // namespace Slic3r
#endif // SLIC3R_Platform_HPP