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>
40 lines
1.0 KiB
CMake
40 lines
1.0 KiB
CMake
# - Compile and run code to check for C features
|
|
#
|
|
# This functions compiles a source file under the `cmake` folder
|
|
# and adds the corresponding `HAVE_[FILENAME]` flag to the CMake
|
|
# environment
|
|
#
|
|
# c_feature_check(<FLAG> [<VARIANT>])
|
|
#
|
|
# - Example
|
|
#
|
|
# include(CFeatureCheck)
|
|
# c_feature_check(VLA)
|
|
|
|
if(__c_feature_check)
|
|
return()
|
|
endif()
|
|
set(__c_feature_check INCLUDED)
|
|
|
|
function(c_feature_check FILE)
|
|
string(TOLOWER ${FILE} FILE)
|
|
string(TOUPPER ${FILE} VAR)
|
|
string(TOUPPER "${VAR}_SUPPORTED" FEATURE)
|
|
if (DEFINED ${VAR}_SUPPORTED)
|
|
set(${VAR}_SUPPORTED 1 PARENT_SCOPE)
|
|
return()
|
|
endif()
|
|
|
|
if (NOT DEFINED COMPILE_${FEATURE})
|
|
message(STATUS "Performing Test ${FEATURE}")
|
|
try_compile(COMPILE_${FEATURE} ${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR}/cmake/${FILE}.c)
|
|
endif()
|
|
|
|
if(COMPILE_${FEATURE})
|
|
message(STATUS "Performing Test ${FEATURE} -- success")
|
|
set(${VAR}_SUPPORTED 1 PARENT_SCOPE)
|
|
else()
|
|
message(STATUS "Performing Test ${FEATURE} -- failed to compile")
|
|
endif()
|
|
endfunction()
|