mirror of
https://github.com/pound-emu/pound.git
synced 2025-12-12 01:36:57 +00:00
build: Refactor CMake build system
This new architecture decomposes the project into several distict static libraries: common, host, kvm, and frontend. By using static libraries, changes within one module will only require that library to be re-linked, rather than recompiling and re-linking the entire executable. The third party library ImGui is now built as a static library target. Signed-off-by: Ronald Caesar <github43132@proton.me>
This commit is contained in:
parent
8b483849f4
commit
a3ed44003b
16 changed files with 133 additions and 302 deletions
19
3rd_Party/CMakeLists.txt
vendored
19
3rd_Party/CMakeLists.txt
vendored
|
|
@ -1,5 +1,3 @@
|
|||
# Copyright 2025 Xenon Emulator Project. All rights reserved.
|
||||
|
||||
set(BUILD_SHARED_LIBS OFF)
|
||||
set(BUILD_TESTING OFF)
|
||||
set_directory_properties(PROPERTIES EXCLUDE_FROM_ALL ON SYSTEM ON)
|
||||
|
|
@ -19,3 +17,20 @@ if (NOT TARGET SDL3::SDL3)
|
|||
set(SDL_PIPEWIRE OFF)
|
||||
add_subdirectory(SDL3)
|
||||
endif()
|
||||
|
||||
# ImGui
|
||||
set(IMGUI_SRC
|
||||
imgui/imgui.cpp
|
||||
imgui/imgui_demo.cpp
|
||||
imgui/imgui_draw.cpp
|
||||
imgui/imgui_tables.cpp
|
||||
imgui/imgui_widgets.cpp
|
||||
imgui/backends/imgui_impl_sdl3.cpp
|
||||
imgui/backends/imgui_impl_opengl3.cpp
|
||||
)
|
||||
add_library(imgui STATIC ${IMGUI_SRC})
|
||||
target_link_libraries(imgui PRIVATE SDL3::SDL3)
|
||||
target_include_directories(imgui PUBLIC
|
||||
imgui
|
||||
imgui/backends
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue