[Build] Convert build system to raw cmake and remove premake layer
This commit is contained in:
40
src/xenia/ui/vulkan/CMakeLists.txt
Normal file
40
src/xenia/ui/vulkan/CMakeLists.txt
Normal 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()
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user