mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-21 15:59:18 +02:00
Add macOS ARM64 build support
Three small source tweaks that let the OpenGL renderer build and run on Apple Silicon without affecting the Windows/Linux paths: - stdafx.h: use GLM_FORCE_NEON on ARM64 instead of GLM_FORCE_AVX2. AVX2 pulls <immintrin.h>, which clang on ARM64 rejects because the x86 intrinsics are unimplemented. - utilities/utilities.cpp: provide an Apple libc++ fallback for Now() using localtime_r + strftime, since std::chrono::current_zone() is not yet implemented there. - audio/audio.h: prefer Khronos-style <AL/al.h> headers when they are on the include path (brew openal-soft) and fall back to the deprecated Apple OpenAL.framework's <OpenAL/al.h> only otherwise.
This commit is contained in:
@@ -39,9 +39,18 @@ bool DebugTractionFlag = false;
|
||||
|
||||
std::string Now()
|
||||
{
|
||||
#if defined(__APPLE__)
|
||||
auto t = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());
|
||||
std::tm tm{};
|
||||
localtime_r(&t, &tm);
|
||||
char buf[64];
|
||||
std::strftime(buf, sizeof(buf), "%c", &tm);
|
||||
return std::string(buf);
|
||||
#else
|
||||
auto now = std::chrono::system_clock::now();
|
||||
auto local = std::chrono::current_zone()->to_local(now);
|
||||
return std::format("{:%c}", local);
|
||||
#endif
|
||||
}
|
||||
|
||||
// zwraca różnicę czasu
|
||||
|
||||
Reference in New Issue
Block a user