mirror of
https://github.com/Nexoniarz/Fry3DX.git
synced 2026-11-03 04:24:26 +00:00
- Apache License 2.0 - Windows: cross-built with clang-cl (cmake --preset windows), a window program with its icon; Linux: a portable preset (SDL and the C++ library inside); Android: android/build_apk.py makes the APK - tools/package.py packs the downloads; a GitHub workflow builds all three and makes a release for a v* tag - A phone layout (fry_touch, on by default on Android): the UI drawn bigger, panels when asked for, a bar of big buttons, one finger to turn the view, two to move and pinch, a long press for a right-click; files through the phone's file picker - Settings and autosaves now in a Nexoniarz folder (copied over once) - README rewritten, the website shows the downloads and the phone Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NMSrd5oe1GpUD7E6d825KP
27 lines
1.3 KiB
CMake
27 lines
1.3 KiB
CMake
# Fry3DX: the app (app.cpp) on the engine, and its modelling core (mesh, scene) as a library the
|
|
# tests use too.
|
|
add_library(fry_core STATIC mesh.cpp tools.cpp cut.cpp uv.cpp image.cpp sticker.cpp shapes.cpp scene.cpp package.cpp export.cpp print.cpp boolean.cpp modify.cpp)
|
|
target_include_directories(fry_core PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
|
target_link_libraries(fry_core PUBLIC glm::glm libzstd_static)
|
|
target_compile_definitions(fry_core PUBLIC GLM_ENABLE_EXPERIMENTAL)
|
|
|
|
if(ANDROID) # SDL's Java side loads the app as libmain.so and calls its (SDL_)main
|
|
add_library(fry3dx SHARED app.cpp icons.cpp)
|
|
set_target_properties(fry3dx PROPERTIES OUTPUT_NAME main LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
|
|
else()
|
|
add_executable(fry3dx app.cpp icons.cpp)
|
|
endif()
|
|
if(WIN32) # a window program (no console window), with its icon
|
|
target_sources(fry3dx PRIVATE fry3dx.rc)
|
|
set_target_properties(fry3dx PROPERTIES WIN32_EXECUTABLE ON)
|
|
target_link_options(fry3dx PRIVATE /ENTRY:mainCRTStartup)
|
|
endif()
|
|
target_link_libraries(fry3dx PRIVATE fry_core keel stb)
|
|
add_dependencies(fry3dx content)
|
|
foreach(t fry_core fry3dx)
|
|
if(MSVC)
|
|
target_compile_options(${t} PRIVATE /W3)
|
|
else()
|
|
target_compile_options(${t} PRIVATE -Wall -Wextra -Wno-missing-field-initializers)
|
|
endif()
|
|
endforeach()
|