Files
lity3d/CMakeLists.txt
T
shuiyu1123 59e89b1501 feat: lity3d graphical editor with .ly file format
- WIN32 subsystem, D3D11 standalone rendering (no UILayer dependency)
- Scene tree panel, Inspector panel, Console panel, Viewport
- Chinese text via glyph_atlas (GDI GetGlyphOutlineW + D3D11 texture atlas)
- .ly file format: INI-style scene serialization (save/load)
- Ctrl+S/Ctrl+O keyboard shortcuts
- Depth test disabled for all 2D rendering
2026-07-11 00:51:38 +08:00

64 lines
2.2 KiB
CMake

cmake_minimum_required(VERSION 3.10)
project(lity3d C)
set(CMAKE_C_STANDARD 17)
set(CMAKE_C_STANDARD_REQUIRED ON)
add_compile_options(-O2 -Wall -DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_NO_WARNINGS)
include_directories(
${CMAKE_SOURCE_DIR}/Engine
${CMAKE_SOURCE_DIR}/Engine/include
${CMAKE_SOURCE_DIR}/Engine/ASM
)
set(ENGINE_SOURCES
Engine/Math/math_impl.c
Engine/Core/engine.c
Engine/Core/logger.c
Engine/Core/timer.c
Engine/Window/window.c
Engine/Rendering/graphics_device.c
Engine/Rendering/renderer.c
Engine/Rendering/shader.c
Engine/Rendering/mesh.c
Engine/Rendering/texture.c
Engine/Rendering/camera.c
Engine/ECS/world.c
Engine/Input/input.c
Engine/Physics/physics.c
Engine/Audio/audio.c
Engine/UI/ui.c
Engine/Scripting/lua_engine.c
Engine/VisualScript/block_core.c
Engine/VisualScript/block_types.c
Engine/VisualScript/block_workspace.c
Engine/VisualScript/block_interaction.c
Engine/VisualScript/block_renderer.c
Engine/VisualScript/block_palette.c
Engine/VisualScript/block_executor.c
Engine/VisualScript/block_serializer.c
Engine/VisualScript/block_editor.c
Engine/Editor/editor_2d.c
Engine/Editor/bitmap_font.c
Engine/Editor/editor.c
Engine/Editor/uilayer.c
Engine/Editor/glyph_atlas.c
)
add_library(Engine STATIC ${ENGINE_SOURCES})
set(LINK_LIBS Engine d3d11 dxgi d3dcompiler ole32 oleaut32 uuid gdi32 user32 kernel32 winmm)
add_executable(lity3d Demo/main.c)
target_link_libraries(lity3d ${LINK_LIBS})
set_target_properties(lity3d PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build)
add_executable(lity3d_editor WIN32 Demo/editor_main.c)
target_link_libraries(lity3d_editor ${LINK_LIBS})
set_target_properties(lity3d_editor PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build)
add_executable(lity3d_compat WIN32 Demo/compat_test.c)
target_link_libraries(lity3d_compat ${LINK_LIBS})
set_target_properties(lity3d_compat PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build)