[Build] Convert build system to raw cmake and remove premake layer

This commit is contained in:
Herman S.
2026-03-04 15:28:01 +09:00
parent f1bfb9416d
commit 71c5702ee8
106 changed files with 1829 additions and 3249 deletions

View File

@@ -0,0 +1,40 @@
add_library(xenia-ui-vulkan STATIC)
xe_platform_sources(xenia-ui-vulkan ${CMAKE_CURRENT_SOURCE_DIR})
xe_platform_sources(xenia-ui-vulkan ${CMAKE_CURRENT_SOURCE_DIR}/functions)
# Include shader bytecode headers
file(GLOB _vk_ui_shader_headers "${CMAKE_CURRENT_SOURCE_DIR}/../shaders/bytecode/vulkan_spirv/*.h"
)
target_sources(xenia-ui-vulkan PRIVATE ${_vk_ui_shader_headers})
target_include_directories(xenia-ui-vulkan PRIVATE
${PROJECT_SOURCE_DIR}/third_party/Vulkan-Headers/include
${PROJECT_SOURCE_DIR}/third_party/glslang
)
target_link_libraries(xenia-ui-vulkan PUBLIC xenia-base xenia-ui)
xe_target_defaults(xenia-ui-vulkan)
if(XENIA_BUILD_MISC)
# Vulkan window demo
add_executable(xenia-ui-window-vulkan-demo)
if(WIN32)
set_target_properties(xenia-ui-window-vulkan-demo PROPERTIES WIN32_EXECUTABLE TRUE)
target_sources(xenia-ui-window-vulkan-demo PRIVATE
${PROJECT_SOURCE_DIR}/src/xenia/ui/windowed_app_main_win.cc)
else()
target_sources(xenia-ui-window-vulkan-demo PRIVATE
${PROJECT_SOURCE_DIR}/src/xenia/ui/windowed_app_main_posix.cc)
endif()
target_sources(xenia-ui-window-vulkan-demo PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/../window_demo.cc
${CMAKE_CURRENT_SOURCE_DIR}/vulkan_window_demo.cc
)
target_include_directories(xenia-ui-window-vulkan-demo PRIVATE
${PROJECT_SOURCE_DIR}/third_party/Vulkan-Headers/include
)
target_link_libraries(xenia-ui-window-vulkan-demo PRIVATE
fmt imgui xenia-base xenia-ui xenia-ui-vulkan
)
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
target_link_libraries(xenia-ui-window-vulkan-demo PRIVATE X11 xcb X11-xcb)
endif()
xe_target_defaults(xenia-ui-window-vulkan-demo)
endif()

View File

@@ -1,54 +0,0 @@
project_root = "../../../.."
include(project_root.."/tools/build")
group("src")
project("xenia-ui-vulkan")
uuid("4933d81e-1c2c-4d5d-b104-3c0eb9dc2f00")
kind("StaticLib")
language("C++")
links({
"xenia-base",
"xenia-ui",
})
includedirs({
project_root.."/third_party/Vulkan-Headers/include",
project_root.."/third_party/glslang", -- For glslang SPIRV headers
})
local_platform_files()
local_platform_files("functions")
files({
"../shaders/bytecode/vulkan_spirv/*.h",
})
if enableMiscSubprojects then
group("demos")
project("xenia-ui-window-vulkan-demo")
uuid("97598f13-3177-454c-8e58-c59e2b6ede27")
single_library_windowed_app_kind()
language("C++")
links({
"fmt",
"imgui",
"xenia-base",
"xenia-ui",
"xenia-ui-vulkan",
})
includedirs({
project_root.."/third_party/Vulkan-Headers/include",
})
files({
"../window_demo.cc",
"vulkan_window_demo.cc",
project_root.."/src/xenia/ui/windowed_app_main_"..platform_suffix..".cc",
})
resincludedirs({
project_root,
})
filter("platforms:Linux")
links({
"X11",
"xcb",
"X11-xcb",
})
end