diff --git a/CMakeLists.txt b/CMakeLists.txt index 8e76c60..54fa2ac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,8 @@ set(CMAKE_C_STANDARD 11) set(CMAKE_C_STANDARD_REQUIRED ON) 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/win32/region.c src/stream/win32/present.c @@ -14,22 +15,14 @@ add_library(vgpustream STATIC src/stream/win32/capture_nvfbc.c src/stream/win32/capture_dda.c src/stream/win32/capture_gdi.c) -target_include_directories(vgpustream - PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src/stream/include - ${CMAKE_CURRENT_SOURCE_DIR}/src/stream/win32 - ${CMAKE_CURRENT_SOURCE_DIR}/third_party) # vendor NvFBC + Windows.h shim -target_compile_definitions(vgpustream PRIVATE CINTERFACE WIN32_LEAN_AND_MEAN=) -target_compile_options(vgpustream PRIVATE +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 + ${CMAKE_CURRENT_SOURCE_DIR}/third_party) # vendor NvFBC + Windows.h shim +target_compile_definitions(vgpu-streamer PRIVATE CINTERFACE WIN32_LEAN_AND_MEAN=) +target_compile_options(vgpu-streamer PRIVATE $<$:-O2;-Wall;-Wextra> $<$:/O2;/W3>) -target_link_libraries(vgpustream 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_libraries(vgpu-streamer PRIVATE d3d11 dxgi dxguid uuid user32 gdi32) target_link_options(vgpu-streamer PRIVATE $<$:-static;-s>)