- Updated README.md with modern project structure and features - Cleaned up Android build files (not needed for desktop engine) - Restructured as procedural 3D engine with ImGui integration - Based on Sascha Willems Vulkan framework with dynamic rendering - Added comprehensive build instructions and camera system docs 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
45 lines
No EOL
1.1 KiB
CMake
45 lines
No EOL
1.1 KiB
CMake
# Procedural 3D Engine - Base Library
|
|
# Copyright (c) 2025 Your Project
|
|
# Licensed under the MIT License
|
|
# Based on Vulkan examples by Sascha Willems (MIT License)
|
|
|
|
file(GLOB_RECURSE BASE_SRC
|
|
"*.cpp"
|
|
"*.hpp"
|
|
"*.h"
|
|
"device/*.cpp"
|
|
"device/*.h"
|
|
"memory/*.cpp"
|
|
"memory/*.h"
|
|
"core/*.cpp"
|
|
"core/*.hpp"
|
|
"core/*.h"
|
|
"foundation/*.cpp"
|
|
"foundation/*.h"
|
|
)
|
|
file(GLOB_RECURSE BASE_HEADERS
|
|
"*.hpp"
|
|
"*.h"
|
|
"device/*.h"
|
|
"memory/*.h"
|
|
"core/*.hpp"
|
|
"core/*.h"
|
|
"foundation/*.h"
|
|
)
|
|
|
|
set(KTX_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../external/ktx)
|
|
set(KTX_SOURCES
|
|
${KTX_DIR}/lib/texture.c
|
|
${KTX_DIR}/lib/hashlist.c
|
|
${KTX_DIR}/lib/checkheader.c
|
|
${KTX_DIR}/lib/swap.c
|
|
${KTX_DIR}/lib/memstream.c
|
|
${KTX_DIR}/lib/filestream.c
|
|
${KTX_DIR}/lib/vkloader.c)
|
|
|
|
add_library(base STATIC ${BASE_SRC} ${KTX_SOURCES})
|
|
if(WIN32)
|
|
target_link_libraries(base ${Vulkan_LIBRARY} ${WINLIBS})
|
|
else(WIN32)
|
|
target_link_libraries(base ${Vulkan_LIBRARY} ${XCB_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
|
|
endif(WIN32) |