build: build guest agent as a single executable (drop intermediate static lib)

This commit is contained in:
2026-06-17 13:04:49 +03:00
parent fefa736fb8
commit d5518634cc
+8 -15
View File
@@ -5,7 +5,8 @@ set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS OFF) # strict c11; shim uses __asm__/__atomic_* — ok set(CMAKE_C_EXTENSIONS OFF) # strict c11; shim uses __asm__/__atomic_* — ok
add_library(vgpustream STATIC add_executable(vgpu-streamer
src/stream/win32/main.c
src/stream/publish.c src/stream/publish.c
src/stream/win32/region.c src/stream/win32/region.c
src/stream/win32/present.c src/stream/win32/present.c
@@ -14,22 +15,14 @@ add_library(vgpustream STATIC
src/stream/win32/capture_nvfbc.c src/stream/win32/capture_nvfbc.c
src/stream/win32/capture_dda.c src/stream/win32/capture_dda.c
src/stream/win32/capture_gdi.c) src/stream/win32/capture_gdi.c)
target_include_directories(vgpustream target_include_directories(vgpu-streamer PRIVATE
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_CURRENT_SOURCE_DIR}/include
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src/stream/include ${CMAKE_CURRENT_SOURCE_DIR}/src/stream/include
${CMAKE_CURRENT_SOURCE_DIR}/src/stream/win32 ${CMAKE_CURRENT_SOURCE_DIR}/src/stream/win32
${CMAKE_CURRENT_SOURCE_DIR}/third_party) # vendor NvFBC + Windows.h shim ${CMAKE_CURRENT_SOURCE_DIR}/third_party) # vendor NvFBC + Windows.h shim
target_compile_definitions(vgpustream PRIVATE CINTERFACE WIN32_LEAN_AND_MEAN=) target_compile_definitions(vgpu-streamer PRIVATE CINTERFACE WIN32_LEAN_AND_MEAN=)
target_compile_options(vgpustream PRIVATE target_compile_options(vgpu-streamer PRIVATE
$<$<C_COMPILER_ID:GNU>:-O2;-Wall;-Wextra> $<$<C_COMPILER_ID:GNU>:-O2;-Wall;-Wextra>
$<$<C_COMPILER_ID:MSVC>:/O2;/W3>) $<$<C_COMPILER_ID:MSVC>:/O2;/W3>)
target_link_libraries(vgpustream PRIVATE d3d11 dxgi dxguid uuid user32 gdi32) target_link_libraries(vgpu-streamer PRIVATE d3d11 dxgi dxguid uuid user32 gdi32)
add_executable(vgpu-streamer src/stream/win32/main.c)
set_target_properties(vgpu-streamer PROPERTIES OUTPUT_NAME vgpu-streamer)
target_include_directories(vgpu-streamer
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/src/stream/include
${CMAKE_CURRENT_SOURCE_DIR}/src/stream/win32)
target_link_libraries(vgpu-streamer PRIVATE vgpustream)
target_link_options(vgpu-streamer PRIVATE $<$<C_COMPILER_ID:GNU>:-static;-s>) target_link_options(vgpu-streamer PRIVATE $<$<C_COMPILER_ID:GNU>:-static;-s>)