mirror of
https://github.com/Toastconcern/FrameStudio.git
synced 2026-10-29 04:02:56 +01:00
Frame Studio now builds for Windows (x64, x86, ARM64), Linux (x64, x86, ARM64)
and macOS (Apple Silicon, Intel):
- studio/platform.h with Win32 and POSIX implementations (dialogs through
tinyfiledialogs on Linux/macOS), a GLFW window beside the Win32 one, and a
platform-neutral frame pacer
- MoltenVK support in the renderer (portability enumeration) and bundled in
the macOS app
- 32-bit builds: large-address-aware, LZMA packing within a 32-bit address space
- unaligned file reads in the loaders go through loadUnaligned (no UB)
- scripts/build-studio.sh, studio/build_windows.bat [x64|x86|arm64],
cmake/llvm-mingw.cmake, and a GitHub Actions workflow building every target
Frame Home installs without Studio: frame/install-frame-home.{sh,ps1} and
"Install Frame Home.bat" (packaged as FrameHome-installer.zip).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
108 lines
2.5 KiB
C
108 lines
2.5 KiB
C
/* 7zWindows.h -- Windows.h and related code
|
|
Igor Pavlov : Public domain */
|
|
|
|
#ifndef ZIP7_INC_7Z_WINDOWS_H
|
|
#define ZIP7_INC_7Z_WINDOWS_H
|
|
|
|
#ifdef _WIN32
|
|
|
|
#if defined(_MSC_VER) && _MSC_VER >= 1950 && !defined(__clang__) // VS2026
|
|
// <Windows.h> and some another windows files need that option
|
|
// VS2026: wtypesbase.h: warning C4865: 'tagCLSCTX': the underlying type will change from 'int' to 'unsigned int' when '/Zc:enumTypes' is specified on the command line
|
|
#pragma warning(disable : 4865)
|
|
#endif
|
|
|
|
#if defined(__clang__)
|
|
# pragma clang diagnostic push
|
|
#endif
|
|
|
|
#if defined(_MSC_VER)
|
|
|
|
#pragma warning(push)
|
|
#pragma warning(disable : 4668) // '_WIN32_WINNT' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
|
|
|
|
#if _MSC_VER == 1900
|
|
// for old kit10 versions
|
|
// #pragma warning(disable : 4255) // winuser.h(13979): warning C4255: 'GetThreadDpiAwarenessContext':
|
|
#endif
|
|
// win10 Windows Kit:
|
|
#endif // _MSC_VER
|
|
|
|
#if defined(_MSC_VER) && _MSC_VER <= 1200 && !defined(_WIN64)
|
|
// for msvc6 without sdk2003
|
|
#define RPC_NO_WINDOWS_H
|
|
#endif
|
|
|
|
#if defined(__MINGW32__) || defined(__MINGW64__)
|
|
// #if defined(__GNUC__) && !defined(__clang__)
|
|
#include <windows.h>
|
|
#else
|
|
#include <Windows.h>
|
|
#endif
|
|
// #include <basetsd.h>
|
|
// #include <wtypes.h>
|
|
|
|
// but if precompiled with clang-cl then we need
|
|
// #include <windows.h>
|
|
#if defined(_MSC_VER)
|
|
#pragma warning(pop)
|
|
#endif
|
|
|
|
#if defined(__clang__)
|
|
# pragma clang diagnostic pop
|
|
#endif
|
|
|
|
#if defined(_MSC_VER) && _MSC_VER <= 1200 && !defined(_WIN64)
|
|
#ifndef _W64
|
|
|
|
typedef long LONG_PTR, *PLONG_PTR;
|
|
typedef unsigned long ULONG_PTR, *PULONG_PTR;
|
|
typedef ULONG_PTR DWORD_PTR, *PDWORD_PTR;
|
|
|
|
#define Z7_OLD_WIN_SDK
|
|
#endif // _W64
|
|
#endif // _MSC_VER == 1200
|
|
|
|
#ifdef Z7_OLD_WIN_SDK
|
|
|
|
#ifndef INVALID_FILE_ATTRIBUTES
|
|
#define INVALID_FILE_ATTRIBUTES ((DWORD)-1)
|
|
#endif
|
|
#ifndef INVALID_SET_FILE_POINTER
|
|
#define INVALID_SET_FILE_POINTER ((DWORD)-1)
|
|
#endif
|
|
#ifndef FILE_SPECIAL_ACCESS
|
|
#define FILE_SPECIAL_ACCESS (FILE_ANY_ACCESS)
|
|
#endif
|
|
|
|
// ShlObj.h:
|
|
// #define BIF_NEWDIALOGSTYLE 0x0040
|
|
|
|
#pragma warning(disable : 4201)
|
|
// #pragma warning(disable : 4115)
|
|
|
|
#undef VARIANT_TRUE
|
|
#define VARIANT_TRUE ((VARIANT_BOOL)-1)
|
|
#endif
|
|
|
|
#endif // Z7_OLD_WIN_SDK
|
|
|
|
#ifdef UNDER_CE
|
|
#undef VARIANT_TRUE
|
|
#define VARIANT_TRUE ((VARIANT_BOOL)-1)
|
|
#endif
|
|
|
|
|
|
#if defined(_MSC_VER)
|
|
#if _MSC_VER >= 1400 && _MSC_VER <= 1600
|
|
// BaseTsd.h(148) : 'HandleToULong' : unreferenced inline function has been removed
|
|
// string.h
|
|
// #pragma warning(disable : 4514)
|
|
#endif
|
|
#endif
|
|
|
|
|
|
/* #include "7zTypes.h" */
|
|
|
|
#endif
|