102 lines
2.2 KiB
CMake
102 lines
2.2 KiB
CMake
cmake_minimum_required(VERSION 3.20)
|
|
|
|
# The local Windows SDK image used by some contributors can miss gdi32.lib,
|
|
# while CMake's default MSVC console template links it unconditionally. This
|
|
# helper does not use GDI, so keep the standard library set minimal and explicit.
|
|
set(CMAKE_CXX_STANDARD_LIBRARIES
|
|
"kernel32.lib user32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib"
|
|
CACHE STRING "" FORCE)
|
|
|
|
project(openscreen-wgc-capture LANGUAGES CXX)
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
|
|
add_executable(wgc-capture
|
|
src/audio_sample_utils.cpp
|
|
src/audio_sample_utils.h
|
|
src/dshow_webcam_capture.cpp
|
|
src/dshow_webcam_capture.h
|
|
src/main.cpp
|
|
src/mf_encoder.cpp
|
|
src/mf_encoder.h
|
|
src/monitor_utils.cpp
|
|
src/monitor_utils.h
|
|
src/wasapi_loopback_capture.cpp
|
|
src/wasapi_loopback_capture.h
|
|
src/webcam_capture.cpp
|
|
src/webcam_capture.h
|
|
src/wgc_session.cpp
|
|
src/wgc_session.h
|
|
)
|
|
|
|
target_compile_definitions(wgc-capture PRIVATE
|
|
NOMINMAX
|
|
WIN32_LEAN_AND_MEAN
|
|
_WIN32_WINNT=0x0A00
|
|
)
|
|
|
|
target_compile_options(wgc-capture PRIVATE /EHsc /W4 /utf-8)
|
|
|
|
target_link_libraries(wgc-capture PRIVATE
|
|
d3d11
|
|
dxgi
|
|
mf
|
|
mfplat
|
|
mfreadwrite
|
|
mfuuid
|
|
runtimeobject
|
|
windowsapp
|
|
)
|
|
|
|
add_executable(cursor-sampler
|
|
src/cursor-sampler.cpp
|
|
)
|
|
|
|
target_compile_definitions(cursor-sampler PRIVATE
|
|
NOMINMAX
|
|
_WIN32_WINNT=0x0A00
|
|
)
|
|
|
|
target_compile_options(cursor-sampler PRIVATE /EHsc /W4 /utf-8)
|
|
|
|
target_link_libraries(cursor-sampler PRIVATE
|
|
gdi32
|
|
gdiplus
|
|
)
|
|
|
|
add_executable(guide-hotkey-listener
|
|
src/guide-hotkey-listener.cpp
|
|
)
|
|
|
|
target_compile_definitions(guide-hotkey-listener PRIVATE
|
|
NOMINMAX
|
|
WIN32_LEAN_AND_MEAN
|
|
_WIN32_WINNT=0x0A00
|
|
)
|
|
|
|
target_compile_options(guide-hotkey-listener PRIVATE /EHsc /W4 /utf-8)
|
|
|
|
target_link_libraries(guide-hotkey-listener PRIVATE
|
|
user32
|
|
)
|
|
|
|
add_executable(openscreen-ocr-service-wrapper
|
|
src/ocr-service-wrapper.cpp
|
|
)
|
|
|
|
target_compile_definitions(openscreen-ocr-service-wrapper PRIVATE
|
|
NOMINMAX
|
|
WIN32_LEAN_AND_MEAN
|
|
UNICODE
|
|
_UNICODE
|
|
_WIN32_WINNT=0x0A00
|
|
)
|
|
|
|
target_compile_options(openscreen-ocr-service-wrapper PRIVATE /EHsc /W4 /utf-8)
|
|
|
|
target_link_libraries(openscreen-ocr-service-wrapper PRIVATE
|
|
advapi32
|
|
)
|