v0.1.0: software map renderer + SDL3 window viewer
This commit is contained in:
+33
-1
@@ -83,13 +83,45 @@ target_sources(ra3_skirmish
|
||||
target_link_libraries(ra3_skirmish PUBLIC ra3_core ra3_logic ra3_game ra3_map)
|
||||
openra3_target_defaults(ra3_skirmish)
|
||||
|
||||
# --- software renderer: framebuffer, TGA decode, BMP encode, map compositing ---
|
||||
add_library(ra3_render STATIC)
|
||||
target_sources(ra3_render
|
||||
PUBLIC FILE_SET CXX_MODULES FILES
|
||||
src/render/ra3.render.cppm
|
||||
)
|
||||
target_link_libraries(ra3_render PUBLIC ra3_core)
|
||||
openra3_target_defaults(ra3_render)
|
||||
|
||||
# --- windowed viewer: SDL3 when available, otherwise a null backend ---
|
||||
find_package(PkgConfig QUIET)
|
||||
if(PkgConfig_FOUND)
|
||||
pkg_check_modules(SDL3 QUIET IMPORTED_TARGET sdl3)
|
||||
endif()
|
||||
add_library(ra3_ui STATIC)
|
||||
if(SDL3_FOUND)
|
||||
target_sources(ra3_ui
|
||||
PUBLIC FILE_SET CXX_MODULES FILES
|
||||
src/ui/ra3.ui.sdl.cppm
|
||||
)
|
||||
target_link_libraries(ra3_ui PUBLIC ra3_core ra3_render PkgConfig::SDL3)
|
||||
message(STATUS "OpenRA3: SDL3 ${SDL3_VERSION} found - windowed viewer enabled")
|
||||
else()
|
||||
target_sources(ra3_ui
|
||||
PUBLIC FILE_SET CXX_MODULES FILES
|
||||
src/ui/ra3.ui.null.cppm
|
||||
)
|
||||
target_link_libraries(ra3_ui PUBLIC ra3_core ra3_render)
|
||||
message(STATUS "OpenRA3: SDL3 not found - offscreen BMP output only")
|
||||
endif()
|
||||
openra3_target_defaults(ra3_ui)
|
||||
|
||||
# --- umbrella module re-exporting the whole SDK ---
|
||||
add_library(ra3 STATIC)
|
||||
target_sources(ra3
|
||||
PUBLIC FILE_SET CXX_MODULES FILES
|
||||
src/ra3.cppm
|
||||
)
|
||||
target_link_libraries(ra3 PUBLIC ra3_core ra3_logic ra3_client ra3_game ra3_fs ra3_map ra3_skirmish)
|
||||
target_link_libraries(ra3 PUBLIC ra3_core ra3_logic ra3_client ra3_game ra3_fs ra3_map ra3_skirmish ra3_render ra3_ui)
|
||||
openra3_target_defaults(ra3)
|
||||
|
||||
# --- the headless game executable ---
|
||||
|
||||
Reference in New Issue
Block a user