- PS HLSL struct syntax incompatible with MinGW D3DCompile - Use semantic params instead: float4 main(float4 pos:SV_POSITION, float4 col:COLOR) - Separate error blobs for VS/PS compilation - CMakeLists: add dxguid to scene_test target - Verified: 4 colored 3D cubes render correctly
82 lines
3.4 KiB
CMake
82 lines
3.4 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/Rendering/lighting.c
|
|
Engine/Scene/scene_graph.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)
|
|
|
|
add_executable(ly_interpreter Demo/ly_interpreter.c)
|
|
target_link_libraries(ly_interpreter Engine d3d11 dxgi d3dcompiler ole32 oleaut32 uuid gdi32 user32 kernel32 winmm)
|
|
set_target_properties(ly_interpreter PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build)
|
|
|
|
add_executable(scene_test WIN32 Demo/game_test.c)
|
|
target_link_libraries(scene_test d3d11 dxgi d3dcompiler dxguid ole32 oleaut32 uuid gdi32 user32 kernel32 winmm)
|
|
set_target_properties(scene_test PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build)
|
|
|
|
add_executable(light_test WIN32 Demo/light_test.c)
|
|
target_link_libraries(light_test Engine d3d11 dxgi d3dcompiler ole32 oleaut32 uuid gdi32 user32 kernel32 winmm)
|
|
set_target_properties(light_test PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build)
|
|
|
|
add_executable(input_test WIN32 Demo/input_test.c)
|
|
target_link_libraries(input_test Engine d3d11 dxgi d3dcompiler ole32 oleaut32 uuid gdi32 user32 kernel32 winmm)
|
|
set_target_properties(input_test PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build)
|