147 lines
3.7 KiB
CMake
147 lines
3.7 KiB
CMake
cmake_minimum_required(VERSION 3.22)
|
|
|
|
project(rdp_worker LANGUAGES CXX)
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
|
|
|
find_package(PkgConfig REQUIRED)
|
|
find_package(Threads REQUIRED)
|
|
find_package(OpenSSL REQUIRED)
|
|
find_package(Boost REQUIRED)
|
|
pkg_check_modules(FREERDP REQUIRED IMPORTED_TARGET freerdp2)
|
|
pkg_check_modules(FREERDP_CLIENT REQUIRED IMPORTED_TARGET freerdp-client2)
|
|
pkg_check_modules(WINPR REQUIRED IMPORTED_TARGET winpr2)
|
|
|
|
set(RDP_WORKER_COMMON_SOURCES
|
|
src/adapter/adapter_event_router.cpp
|
|
src/adapter/rdp_adapter_runtime.cpp
|
|
src/adapter/service_adapter_protocol.cpp
|
|
src/common/json.cpp
|
|
src/common/logger.cpp
|
|
src/common/time.cpp
|
|
src/cursor/cursor_adapter.cpp
|
|
src/cursor/cursor_update.cpp
|
|
src/graphics/graphics_adapter.cpp
|
|
src/graphics/render_update.cpp
|
|
src/config/config.cpp
|
|
src/coordination/redis_client.cpp
|
|
src/coordination/control_plane.cpp
|
|
src/dataplane/direct_wss_server.cpp
|
|
src/dataplane/token_validator.cpp
|
|
src/runtime/direct_bind_policy.cpp
|
|
src/runtime/session_manager.cpp
|
|
src/runtime/session_runtime.cpp
|
|
src/freerdp/rdp_runtime.cpp
|
|
)
|
|
|
|
add_executable(rdp-worker
|
|
src/main.cpp
|
|
${RDP_WORKER_COMMON_SOURCES}
|
|
)
|
|
|
|
add_executable(rdp-worker-dataplane-token-probe
|
|
src/tools/data_plane_token_probe.cpp
|
|
src/common/json.cpp
|
|
src/dataplane/token_validator.cpp
|
|
)
|
|
|
|
add_executable(rdp-worker-dataplane-bind-probe
|
|
src/tools/data_plane_bind_probe.cpp
|
|
src/runtime/direct_bind_policy.cpp
|
|
)
|
|
|
|
add_executable(rdp-worker-graphics-adapter-probe
|
|
src/tools/graphics_adapter_probe.cpp
|
|
src/graphics/graphics_adapter.cpp
|
|
src/graphics/render_update.cpp
|
|
)
|
|
|
|
add_executable(rdp-worker-cursor-adapter-probe
|
|
src/tools/cursor_adapter_probe.cpp
|
|
src/common/json.cpp
|
|
src/cursor/cursor_adapter.cpp
|
|
src/cursor/cursor_update.cpp
|
|
)
|
|
|
|
add_executable(rdp-worker-service-adapter-protocol-probe
|
|
src/tools/service_adapter_protocol_probe.cpp
|
|
src/adapter/service_adapter_protocol.cpp
|
|
)
|
|
|
|
target_include_directories(rdp-worker
|
|
PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include
|
|
)
|
|
|
|
target_include_directories(rdp-worker-dataplane-token-probe
|
|
PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include
|
|
)
|
|
|
|
target_include_directories(rdp-worker-dataplane-bind-probe
|
|
PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include
|
|
)
|
|
|
|
target_include_directories(rdp-worker-graphics-adapter-probe
|
|
PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include
|
|
)
|
|
|
|
target_include_directories(rdp-worker-cursor-adapter-probe
|
|
PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include
|
|
)
|
|
|
|
target_include_directories(rdp-worker-service-adapter-protocol-probe
|
|
PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include
|
|
)
|
|
|
|
target_link_libraries(rdp-worker
|
|
PRIVATE
|
|
Threads::Threads
|
|
OpenSSL::SSL
|
|
OpenSSL::Crypto
|
|
Boost::headers
|
|
PkgConfig::FREERDP
|
|
PkgConfig::FREERDP_CLIENT
|
|
PkgConfig::WINPR
|
|
)
|
|
|
|
target_link_libraries(rdp-worker-dataplane-token-probe
|
|
PRIVATE
|
|
OpenSSL::Crypto
|
|
Boost::headers
|
|
)
|
|
|
|
target_link_libraries(rdp-worker-dataplane-bind-probe
|
|
PRIVATE
|
|
Boost::headers
|
|
)
|
|
|
|
if(WIN32)
|
|
target_link_libraries(rdp-worker PRIVATE ws2_32)
|
|
endif()
|
|
|
|
include(GNUInstallDirs)
|
|
|
|
install(TARGETS rdp-worker rdp-worker-dataplane-token-probe rdp-worker-dataplane-bind-probe
|
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
)
|
|
|
|
install(TARGETS rdp-worker-graphics-adapter-probe
|
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
)
|
|
|
|
install(TARGETS rdp-worker-cursor-adapter-probe
|
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
)
|
|
|
|
install(TARGETS rdp-worker-service-adapter-protocol-probe
|
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
)
|