mirror of
https://github.com/FreeRDP/FreeRDP.git
synced 2024-12-02 14:24:14 +08:00
commit
f7e5e6507b
@ -1,4 +1,3 @@
|
||||
|
||||
# Generate .txt license file for CPack (PackageMaker requires a file extension)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/LICENSE ${CMAKE_CURRENT_BINARY_DIR}/LICENSE.txt @ONLY)
|
||||
|
||||
@ -6,28 +5,28 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/LICENSE ${CMAKE_CURRENT_BINARY_DIR}/L
|
||||
# If c++ macros/defines are set __cplusplus is also set which causes
|
||||
# problems when compiling freerdp/jni. To prevent this problem we set the macros to "".
|
||||
|
||||
if (ANDROID AND CMAKE_EXTRA_GENERATOR STREQUAL "Eclipse CDT4")
|
||||
set(CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_DEFINED_MACROS "")
|
||||
message(STATUS "Disabled CXX system defines for eclipse (workaround).")
|
||||
if(ANDROID AND CMAKE_EXTRA_GENERATOR STREQUAL "Eclipse CDT4")
|
||||
set(CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_DEFINED_MACROS "")
|
||||
message(STATUS "Disabled CXX system defines for eclipse (workaround).")
|
||||
endif()
|
||||
|
||||
set(CPACK_SOURCE_IGNORE_FILES "/\\\\.git/;/\\\\.gitignore;/CMakeCache.txt")
|
||||
|
||||
if(NOT WIN32)
|
||||
if(APPLE AND (NOT IOS))
|
||||
if(APPLE AND (NOT IOS))
|
||||
|
||||
if(WITH_SERVER)
|
||||
set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} "mfreerdp-server")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(WITH_X11)
|
||||
set(CPACK_PACKAGE_EXECUTABLES "xfreerdp")
|
||||
|
||||
if(WITH_SERVER)
|
||||
set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} "xfreerdp-server")
|
||||
endif()
|
||||
if(WITH_SERVER)
|
||||
set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} "mfreerdp-server")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(WITH_X11)
|
||||
set(CPACK_PACKAGE_EXECUTABLES "xfreerdp")
|
||||
|
||||
if(WITH_SERVER)
|
||||
set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} "xfreerdp-server")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(CPACK_SYSTEM_NAME "${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
|
||||
@ -43,7 +42,7 @@ set(CPACK_PACKAGE_VERSION ${FREERDP_VERSION_FULL})
|
||||
set(CPACK_PACKAGE_VERSION_MAJOR ${FREERDP_VERSION_MAJOR})
|
||||
set(CPACK_PACKAGE_VERSION_MINOR ${FREERDP_VERSION_MINOR})
|
||||
set(CPACK_PACKAGE_VERSION_PATCH ${FREERDP_VERSION_REVISION})
|
||||
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "FreeRDP: A Remote Desktop Protocol Implementation")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "FreeRDP: A Remote Desktop Protocol Implementation")
|
||||
|
||||
set(CPACK_PACKAGE_CONTACT "Marc-Andre Moreau")
|
||||
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "marcandre.moreau@gmail.com")
|
||||
@ -61,16 +60,14 @@ set(CPACK_NSIS_MUI_UNICON "${PROJECT_SOURCE_DIR}/resource\\\\FreeRDP_Icon_96px.i
|
||||
set(CPACK_COMPONENTS_ALL client server libraries headers symbols tools)
|
||||
|
||||
if(MSVC)
|
||||
string(FIND ${CMAKE_MSVC_RUNTIME_LIBRARY} "DLL" IS_SHARED)
|
||||
string(FIND ${CMAKE_MSVC_RUNTIME_LIBRARY} "DLL" IS_SHARED)
|
||||
|
||||
if(NOT IS_SHARED STREQUAL "-1")
|
||||
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE)
|
||||
include(InstallRequiredSystemLibraries)
|
||||
if(NOT IS_SHARED STREQUAL "-1")
|
||||
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE)
|
||||
include(InstallRequiredSystemLibraries)
|
||||
|
||||
install(PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS}
|
||||
DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
COMPONENT libraries)
|
||||
endif()
|
||||
install(PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT libraries)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(CPACK_COMPONENT_CLIENT_DISPLAY_NAME "Client")
|
||||
@ -95,8 +92,7 @@ set(CPACK_COMPONENT_GROUP_RUNTIME_DESCRIPTION "Runtime")
|
||||
set(CPACK_COMPONENT_GROUP_APPLICATIONS_DESCRIPTION "Applications")
|
||||
set(CPACK_COMPONENT_GROUP_DEVELOPMENT_DESCRIPTION "Development")
|
||||
|
||||
configure_file("${PROJECT_SOURCE_DIR}/CMakeCPackOptions.cmake.in"
|
||||
"${PROJECT_BINARY_DIR}/CMakeCPackOptions.cmake" @ONLY)
|
||||
configure_file("${PROJECT_SOURCE_DIR}/CMakeCPackOptions.cmake.in" "${PROJECT_BINARY_DIR}/CMakeCPackOptions.cmake" @ONLY)
|
||||
set(CPACK_PROJECT_CONFIG_FILE "${PROJECT_BINARY_DIR}/CMakeCPackOptions.cmake")
|
||||
|
||||
include(CPack)
|
||||
|
715
CMakeLists.txt
715
CMakeLists.txt
@ -21,44 +21,40 @@
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
|
||||
if(POLICY CMP0091)
|
||||
cmake_policy(SET CMP0091 NEW)
|
||||
cmake_policy(SET CMP0091 NEW)
|
||||
endif()
|
||||
project(FreeRDP
|
||||
LANGUAGES C
|
||||
)
|
||||
project(FreeRDP LANGUAGES C)
|
||||
|
||||
set(CMAKE_C_STANDARD 11)
|
||||
set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_C_EXTENSIONS ON)
|
||||
|
||||
add_custom_target(fuzzers
|
||||
COMMENT "Build fuzzers"
|
||||
)
|
||||
add_custom_target(fuzzers COMMENT "Build fuzzers")
|
||||
|
||||
if(NOT DEFINED VENDOR)
|
||||
set(VENDOR "FreeRDP" CACHE STRING "FreeRDP package vendor")
|
||||
set(VENDOR "FreeRDP" CACHE STRING "FreeRDP package vendor")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED PRODUCT)
|
||||
set(PRODUCT "FreeRDP" CACHE STRING "FreeRDP package name")
|
||||
set(PRODUCT "FreeRDP" CACHE STRING "FreeRDP package name")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED FREERDP_VENDOR)
|
||||
set(FREERDP_VENDOR 1)
|
||||
set(FREERDP_VENDOR 1)
|
||||
endif()
|
||||
|
||||
if (NOT WIN32 AND NOT ANDROID)
|
||||
if (APPLE)
|
||||
set(OPT_DEFAULT_VAL OFF)
|
||||
else()
|
||||
set(OPT_DEFAULT_VAL ON)
|
||||
endif()
|
||||
option(WITH_X11 "build X11 client/server" ${OPT_DEFAULT_VAL})
|
||||
if(NOT WIN32 AND NOT ANDROID)
|
||||
if(APPLE)
|
||||
set(OPT_DEFAULT_VAL OFF)
|
||||
else()
|
||||
set(OPT_DEFAULT_VAL ON)
|
||||
endif()
|
||||
option(WITH_X11 "build X11 client/server" ${OPT_DEFAULT_VAL})
|
||||
endif()
|
||||
|
||||
# Enable coverity related pragma definitions
|
||||
if (COVERITY_BUILD)
|
||||
add_compile_definitions(COVERITY_BUILD)
|
||||
if(COVERITY_BUILD)
|
||||
add_compile_definitions(COVERITY_BUILD)
|
||||
endif()
|
||||
|
||||
# Include our extra modules
|
||||
@ -69,7 +65,7 @@ include(CheckCmakeCompat)
|
||||
|
||||
# Include cmake modules
|
||||
if(WITH_CLANG_FORMAT)
|
||||
include(ClangFormat)
|
||||
include(ClangFormat)
|
||||
endif()
|
||||
|
||||
include(CompilerFlags)
|
||||
@ -93,22 +89,22 @@ include(Doxygen)
|
||||
|
||||
# Soname versioning
|
||||
set(BUILD_NUMBER 0)
|
||||
if ($ENV{BUILD_NUMBER})
|
||||
set(BUILD_NUMBER $ENV{BUILD_NUMBER})
|
||||
if($ENV{BUILD_NUMBER})
|
||||
set(BUILD_NUMBER $ENV{BUILD_NUMBER})
|
||||
endif()
|
||||
|
||||
set(VERSION_REGEX "^(.*)([0-9]+)\\.([0-9]+)\\.([0-9]+)-?(.*)")
|
||||
set(RAW_VERSION_STRING "3.9.1-dev0")
|
||||
if(EXISTS "${PROJECT_SOURCE_DIR}/.source_tag")
|
||||
file(READ ${PROJECT_SOURCE_DIR}/.source_tag RAW_VERSION_STRING)
|
||||
file(READ ${PROJECT_SOURCE_DIR}/.source_tag RAW_VERSION_STRING)
|
||||
elseif(USE_VERSION_FROM_GIT_TAG)
|
||||
git_get_exact_tag(_GIT_TAG --tags --always)
|
||||
if (NOT ${_GIT_TAG} STREQUAL "n/a")
|
||||
string(REGEX MATCH ${VERSION_REGEX} FOUND_TAG "${_GIT_TAG}")
|
||||
if (FOUND_TAG)
|
||||
set(RAW_VERSION_STRING ${_GIT_TAG})
|
||||
endif()
|
||||
endif()
|
||||
git_get_exact_tag(_GIT_TAG --tags --always)
|
||||
if(NOT ${_GIT_TAG} STREQUAL "n/a")
|
||||
string(REGEX MATCH ${VERSION_REGEX} FOUND_TAG "${_GIT_TAG}")
|
||||
if(FOUND_TAG)
|
||||
set(RAW_VERSION_STRING ${_GIT_TAG})
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
string(STRIP ${RAW_VERSION_STRING} RAW_VERSION_STRING)
|
||||
|
||||
@ -119,27 +115,27 @@ string(REGEX REPLACE "${VERSION_REGEX}" "\\5" FREERDP_VERSION_SUFFIX "${RAW_VERS
|
||||
|
||||
set(FREERDP_API_VERSION "${FREERDP_VERSION_MAJOR}")
|
||||
set(FREERDP_VERSION "${FREERDP_VERSION_MAJOR}.${FREERDP_VERSION_MINOR}.${FREERDP_VERSION_REVISION}")
|
||||
if (FREERDP_VERSION_SUFFIX)
|
||||
set(FREERDP_VERSION_FULL "${FREERDP_VERSION}-${FREERDP_VERSION_SUFFIX}")
|
||||
if(FREERDP_VERSION_SUFFIX)
|
||||
set(FREERDP_VERSION_FULL "${FREERDP_VERSION}-${FREERDP_VERSION_SUFFIX}")
|
||||
else()
|
||||
set(FREERDP_VERSION_FULL "${FREERDP_VERSION}")
|
||||
set(FREERDP_VERSION_FULL "${FREERDP_VERSION}")
|
||||
endif()
|
||||
message("FREERDP_VERSION=${FREERDP_VERSION_FULL}")
|
||||
|
||||
if(EXISTS "${PROJECT_SOURCE_DIR}/.source_version" )
|
||||
file(READ ${PROJECT_SOURCE_DIR}/.source_version GIT_REVISION)
|
||||
if(EXISTS "${PROJECT_SOURCE_DIR}/.source_version")
|
||||
file(READ ${PROJECT_SOURCE_DIR}/.source_version GIT_REVISION)
|
||||
|
||||
string(STRIP ${GIT_REVISION} GIT_REVISION)
|
||||
elseif(USE_VERSION_FROM_GIT_TAG)
|
||||
git_get_exact_tag(GIT_REVISION --tags --always)
|
||||
git_get_exact_tag(GIT_REVISION --tags --always)
|
||||
|
||||
if (${GIT_REVISION} STREQUAL "n/a")
|
||||
git_rev_parse (GIT_REVISION --short)
|
||||
endif()
|
||||
if(${GIT_REVISION} STREQUAL "n/a")
|
||||
git_rev_parse(GIT_REVISION --short)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (NOT GIT_REVISION)
|
||||
set(GIT_REVISION ${FREERDP_VERSION})
|
||||
if(NOT GIT_REVISION)
|
||||
set(GIT_REVISION ${FREERDP_VERSION})
|
||||
endif()
|
||||
|
||||
message(STATUS "Git Revision ${GIT_REVISION}")
|
||||
@ -151,43 +147,43 @@ set(FREERDP_MAJOR_DIR "freerdp${FREERDP_VERSION_MAJOR}")
|
||||
set(FREERDP_INCLUDE_DIR "include/${FREERDP_MAJOR_DIR}/")
|
||||
|
||||
option(WITH_SMARTCARD_EMULATE "Emulate smartcards instead of redirecting readers" ON)
|
||||
if (WITH_SMARTCARD_EMULATE)
|
||||
add_definitions(-DWITH_SMARTCARD_EMULATE)
|
||||
find_package(ZLIB REQUIRED)
|
||||
if(WITH_SMARTCARD_EMULATE)
|
||||
add_definitions(-DWITH_SMARTCARD_EMULATE)
|
||||
find_package(ZLIB REQUIRED)
|
||||
endif()
|
||||
|
||||
option(WITH_FREERDP_DEPRECATED "Build FreeRDP deprecated symbols" OFF)
|
||||
if (WITH_FREERDP_DEPRECATED)
|
||||
add_definitions(-DWITH_FREERDP_DEPRECATED)
|
||||
if(WITH_FREERDP_DEPRECATED)
|
||||
add_definitions(-DWITH_FREERDP_DEPRECATED)
|
||||
endif()
|
||||
|
||||
option(WITH_FREERDP_DEPRECATED_COMMANDLINE "Build FreeRDP deprecated command line options" OFF)
|
||||
if (WITH_FREERDP_DEPRECATED_COMMANDLINE)
|
||||
add_definitions(-DWITH_FREERDP_DEPRECATED_COMMANDLINE)
|
||||
if(WITH_FREERDP_DEPRECATED_COMMANDLINE)
|
||||
add_definitions(-DWITH_FREERDP_DEPRECATED_COMMANDLINE)
|
||||
endif()
|
||||
|
||||
# Make paths absolute
|
||||
if (CMAKE_INSTALL_PREFIX)
|
||||
get_filename_component(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" ABSOLUTE)
|
||||
if(CMAKE_INSTALL_PREFIX)
|
||||
get_filename_component(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" ABSOLUTE)
|
||||
endif()
|
||||
if (FREERDP_EXTERNAL_PATH)
|
||||
get_filename_component (FREERDP_EXTERNAL_PATH "${FREERDP_EXTERNAL_PATH}" ABSOLUTE)
|
||||
if(FREERDP_EXTERNAL_PATH)
|
||||
get_filename_component(FREERDP_EXTERNAL_PATH "${FREERDP_EXTERNAL_PATH}" ABSOLUTE)
|
||||
endif()
|
||||
|
||||
# Allow to search the host machine for git/ccache
|
||||
if(CMAKE_CROSSCOMPILING)
|
||||
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH)
|
||||
endif(CMAKE_CROSSCOMPILING)
|
||||
|
||||
find_program(CCACHE ccache)
|
||||
if(CCACHE AND WITH_CCACHE)
|
||||
if(NOT DEFINED CMAKE_C_COMPILER_LAUNCHER)
|
||||
SET(CMAKE_C_COMPILER_LAUNCHER ${CCACHE})
|
||||
endif(NOT DEFINED CMAKE_C_COMPILER_LAUNCHER)
|
||||
if(NOT DEFINED CMAKE_C_COMPILER_LAUNCHER)
|
||||
set(CMAKE_C_COMPILER_LAUNCHER ${CCACHE})
|
||||
endif(NOT DEFINED CMAKE_C_COMPILER_LAUNCHER)
|
||||
endif(CCACHE AND WITH_CCACHE)
|
||||
|
||||
if(CMAKE_CROSSCOMPILING)
|
||||
SET (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)
|
||||
endif(CMAKE_CROSSCOMPILING)
|
||||
# /Allow to search the host machine for git/ccache
|
||||
|
||||
@ -196,273 +192,286 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||
|
||||
option(CTEST_OUTPUT_ON_FAILURE ON "show verbose output on CTest failures")
|
||||
if(BUILD_TESTING_INTERNAL)
|
||||
set(EXPORT_ALL_SYMBOLS ON CACHE BOOL "testing default" FORCE)
|
||||
add_definitions(-DBUILD_TESTING_INTERNAL)
|
||||
set(EXPORT_ALL_SYMBOLS ON CACHE BOOL "testing default" FORCE)
|
||||
add_definitions(-DBUILD_TESTING_INTERNAL)
|
||||
elseif(BUILD_TESTING)
|
||||
set(EXPORT_ALL_SYMBOLS OFF CACHE BOOL "testing default" FORCE)
|
||||
set(EXPORT_ALL_SYMBOLS OFF CACHE BOOL "testing default" FORCE)
|
||||
else()
|
||||
option(EXPORT_ALL_SYMBOLS "Export all symbols form library" OFF)
|
||||
option(EXPORT_ALL_SYMBOLS "Export all symbols form library" OFF)
|
||||
endif()
|
||||
|
||||
if (EXPORT_ALL_SYMBOLS)
|
||||
# set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
|
||||
add_definitions(-DEXPORT_ALL_SYMBOLS)
|
||||
if(EXPORT_ALL_SYMBOLS)
|
||||
# set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
|
||||
add_definitions(-DEXPORT_ALL_SYMBOLS)
|
||||
endif(EXPORT_ALL_SYMBOLS)
|
||||
|
||||
# Compiler-specific flags
|
||||
if(CMAKE_COMPILER_IS_GNUCC)
|
||||
if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "i686")
|
||||
CHECK_SYMBOL_EXISTS(__x86_64__ "" IS_X86_64)
|
||||
if(IS_X86_64)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
|
||||
else()
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=i686")
|
||||
endif()
|
||||
endif()
|
||||
if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "i686")
|
||||
check_symbol_exists(__x86_64__ "" IS_X86_64)
|
||||
if(IS_X86_64)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
|
||||
else()
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=i686")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
|
||||
|
||||
if(NOT EXPORT_ALL_SYMBOLS)
|
||||
message(STATUS "GCC default symbol visibility: hidden")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden")
|
||||
endif()
|
||||
CHECK_C_COMPILER_FLAG (-Wimplicit-function-declaration Wimplicit-function-declaration)
|
||||
if(Wimplicit-function-declaration)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wimplicit-function-declaration")
|
||||
endif()
|
||||
if(NOT EXPORT_ALL_SYMBOLS)
|
||||
message(STATUS "GCC default symbol visibility: hidden")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden")
|
||||
endif()
|
||||
check_c_compiler_flag(-Wimplicit-function-declaration Wimplicit-function-declaration)
|
||||
if(Wimplicit-function-declaration)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wimplicit-function-declaration")
|
||||
endif()
|
||||
|
||||
if (NOT OPENBSD)
|
||||
CHECK_C_COMPILER_FLAG (-Wredundant-decls Wredundant-decls)
|
||||
if(Wredundant-decls)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wredundant-decls")
|
||||
endif()
|
||||
endif()
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||
add_definitions(-DNDEBUG)
|
||||
else()
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g")
|
||||
endif()
|
||||
if(NOT OPENBSD)
|
||||
check_c_compiler_flag(-Wredundant-decls Wredundant-decls)
|
||||
if(Wredundant-decls)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wredundant-decls")
|
||||
endif()
|
||||
endif()
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||
add_definitions(-DNDEBUG)
|
||||
else()
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(THREAD_PREFER_PTHREAD_FLAG TRUE)
|
||||
|
||||
if(NOT IOS)
|
||||
find_package(Threads REQUIRED)
|
||||
find_package(Threads REQUIRED)
|
||||
endif()
|
||||
|
||||
# Enable address sanitizer, where supported and when required
|
||||
if(CMAKE_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCC)
|
||||
set(CMAKE_REQUIRED_LINK_OPTIONS_SAVED ${CMAKE_REQUIRED_LINK_OPTIONS})
|
||||
file(WRITE ${PROJECT_BINARY_DIR}/foo.txt "")
|
||||
if(WITH_SANITIZE_ADDRESS)
|
||||
list(APPEND CMAKE_REQUIRED_LINK_OPTIONS "-fsanitize=address")
|
||||
CHECK_C_COMPILER_FLAG ("-fsanitize=address" fsanitize-address)
|
||||
CHECK_C_COMPILER_FLAG ("-fsanitize-blacklist=${PROJECT_BINARY_DIR}/foo.txt" fsanitize-blacklist)
|
||||
CHECK_C_COMPILER_FLAG ("-fsanitize-address-use-after-scope" fsanitize-address-use-after-scope)
|
||||
set(CMAKE_REQUIRED_LINK_OPTIONS_SAVED ${CMAKE_REQUIRED_LINK_OPTIONS})
|
||||
file(WRITE ${PROJECT_BINARY_DIR}/foo.txt "")
|
||||
if(WITH_SANITIZE_ADDRESS)
|
||||
list(APPEND CMAKE_REQUIRED_LINK_OPTIONS "-fsanitize=address")
|
||||
check_c_compiler_flag("-fsanitize=address" fsanitize-address)
|
||||
check_c_compiler_flag("-fsanitize-blacklist=${PROJECT_BINARY_DIR}/foo.txt" fsanitize-blacklist)
|
||||
check_c_compiler_flag("-fsanitize-address-use-after-scope" fsanitize-address-use-after-scope)
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fsanitize=address")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fsanitize=address")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address")
|
||||
|
||||
if(fsanitize-blacklist)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize-blacklist=${PROJECT_SOURCE_DIR}/scripts/blacklist-address-sanitizer.txt")
|
||||
endif(fsanitize-blacklist)
|
||||
if(fsanitize-blacklist)
|
||||
set(CMAKE_C_FLAGS
|
||||
"${CMAKE_C_FLAGS} -fsanitize-blacklist=${PROJECT_SOURCE_DIR}/scripts/blacklist-address-sanitizer.txt"
|
||||
)
|
||||
endif(fsanitize-blacklist)
|
||||
|
||||
if(fsanitize-address-use-after-scope)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize-address-use-after-scope")
|
||||
endif(fsanitize-address-use-after-scope)
|
||||
elseif(WITH_SANITIZE_MEMORY)
|
||||
list(APPEND CMAKE_REQUIRED_LINK_OPTIONS "-fsanitize=memory")
|
||||
CHECK_C_COMPILER_FLAG ("-fsanitize=memory" fsanitize-memory)
|
||||
CHECK_C_COMPILER_FLAG ("-fsanitize-blacklist=${PROJECT_BINARY_DIR}/foo.txt" fsanitize-blacklist)
|
||||
CHECK_C_COMPILER_FLAG ("-fsanitize-memory-use-after-dtor" fsanitize-memory-use-after-dtor)
|
||||
CHECK_C_COMPILER_FLAG ("-fsanitize-memory-track-origins" fsanitize-memory-track-origins)
|
||||
if(fsanitize-address-use-after-scope)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize-address-use-after-scope")
|
||||
endif(fsanitize-address-use-after-scope)
|
||||
elseif(WITH_SANITIZE_MEMORY)
|
||||
list(APPEND CMAKE_REQUIRED_LINK_OPTIONS "-fsanitize=memory")
|
||||
check_c_compiler_flag("-fsanitize=memory" fsanitize-memory)
|
||||
check_c_compiler_flag("-fsanitize-blacklist=${PROJECT_BINARY_DIR}/foo.txt" fsanitize-blacklist)
|
||||
check_c_compiler_flag("-fsanitize-memory-use-after-dtor" fsanitize-memory-use-after-dtor)
|
||||
check_c_compiler_flag("-fsanitize-memory-track-origins" fsanitize-memory-track-origins)
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=memory")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fsanitize=memory")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=memory")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=memory")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fsanitize=memory")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=memory")
|
||||
|
||||
if(fsanitize-blacklist)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize-blacklist=${PROJECT_SOURCE_DIR}/scripts/blacklist-memory-sanitizer.txt")
|
||||
endif(fsanitize-blacklist)
|
||||
if(fsanitize-blacklist)
|
||||
set(CMAKE_C_FLAGS
|
||||
"${CMAKE_C_FLAGS} -fsanitize-blacklist=${PROJECT_SOURCE_DIR}/scripts/blacklist-memory-sanitizer.txt"
|
||||
)
|
||||
endif(fsanitize-blacklist)
|
||||
|
||||
if (fsanitize-memory-use-after-dtor)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize-memory-use-after-dtor")
|
||||
endif(fsanitize-memory-use-after-dtor)
|
||||
if(fsanitize-memory-use-after-dtor)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize-memory-use-after-dtor")
|
||||
endif(fsanitize-memory-use-after-dtor)
|
||||
|
||||
if (fsanitize-memory-track-origins)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize-memory-track-origins")
|
||||
endif(fsanitize-memory-track-origins)
|
||||
elseif(WITH_SANITIZE_THREAD)
|
||||
list(APPEND CMAKE_REQUIRED_LINK_OPTIONS "-fsanitize=thread")
|
||||
CHECK_C_COMPILER_FLAG ("-fsanitize=thread" fsanitize-thread)
|
||||
CHECK_C_COMPILER_FLAG ("-fsanitize-blacklist=${PROJECT_BINARY_DIR}/foo.txt" fsanitize-blacklist)
|
||||
if(fsanitize-memory-track-origins)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize-memory-track-origins")
|
||||
endif(fsanitize-memory-track-origins)
|
||||
elseif(WITH_SANITIZE_THREAD)
|
||||
list(APPEND CMAKE_REQUIRED_LINK_OPTIONS "-fsanitize=thread")
|
||||
check_c_compiler_flag("-fsanitize=thread" fsanitize-thread)
|
||||
check_c_compiler_flag("-fsanitize-blacklist=${PROJECT_BINARY_DIR}/foo.txt" fsanitize-blacklist)
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=thread")
|
||||
if(fsanitize-blacklist)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize-blacklist=${PROJECT_SOURCE_DIR}/scripts/blacklist-thread-sanitizer.txt")
|
||||
endif(fsanitize-blacklist)
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fsanitize=thread")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=thread")
|
||||
endif()
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=thread")
|
||||
if(fsanitize-blacklist)
|
||||
set(CMAKE_C_FLAGS
|
||||
"${CMAKE_C_FLAGS} -fsanitize-blacklist=${PROJECT_SOURCE_DIR}/scripts/blacklist-thread-sanitizer.txt"
|
||||
)
|
||||
endif(fsanitize-blacklist)
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fsanitize=thread")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=thread")
|
||||
endif()
|
||||
|
||||
file(REMOVE ${PROJECT_BINARY_DIR}/foo.txt)
|
||||
set(CMAKE_REQUIRED_LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS_SAVED})
|
||||
file(REMOVE ${PROJECT_BINARY_DIR}/foo.txt)
|
||||
set(CMAKE_REQUIRED_LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS_SAVED})
|
||||
|
||||
if (WITH_NO_UNDEFINED)
|
||||
CHECK_C_COMPILER_FLAG (-Wl,--no-undefined no-undefined)
|
||||
if(WITH_NO_UNDEFINED)
|
||||
check_c_compiler_flag(-Wl,--no-undefined no-undefined)
|
||||
|
||||
if(no-undefined)
|
||||
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--no-undefined" )
|
||||
SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined" )
|
||||
endif()
|
||||
endif()
|
||||
if(no-undefined)
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--no-undefined")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Gd")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Gd")
|
||||
|
||||
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
|
||||
set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
|
||||
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
|
||||
set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
|
||||
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||
else()
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Zi")
|
||||
endif()
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||
|
||||
add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
|
||||
else()
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Zi")
|
||||
endif()
|
||||
|
||||
add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
|
||||
endif()
|
||||
|
||||
if(ANDROID)
|
||||
# workaround for https://github.com/android-ndk/ndk/issues/243
|
||||
string(REPLACE "-g " "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
|
||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g")
|
||||
# workaround for https://github.com/android-ndk/ndk/issues/243
|
||||
string(REPLACE "-g " "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
|
||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g")
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
add_definitions(-DUNICODE -D_UNICODE)
|
||||
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
||||
add_definitions(-DWIN32_LEAN_AND_MEAN)
|
||||
add_definitions(-D_WINSOCK_DEPRECATED_NO_WARNINGS)
|
||||
add_definitions(-DUNICODE -D_UNICODE)
|
||||
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
||||
add_definitions(-DWIN32_LEAN_AND_MEAN)
|
||||
add_definitions(-D_WINSOCK_DEPRECATED_NO_WARNINGS)
|
||||
|
||||
set(CMAKE_DL_LIBS "")
|
||||
set(CMAKE_USE_RELATIVE_PATH ON)
|
||||
string(TIMESTAMP RC_VERSION_YEAR "%Y")
|
||||
set(CMAKE_DL_LIBS "")
|
||||
set(CMAKE_USE_RELATIVE_PATH ON)
|
||||
string(TIMESTAMP RC_VERSION_YEAR "%Y")
|
||||
|
||||
if(NOT DEFINED CMAKE_WINDOWS_VERSION)
|
||||
set(CMAKE_WINDOWS_VERSION "WIN7")
|
||||
endif()
|
||||
if(NOT DEFINED CMAKE_WINDOWS_VERSION)
|
||||
set(CMAKE_WINDOWS_VERSION "WIN7")
|
||||
endif()
|
||||
|
||||
if(CMAKE_WINDOWS_VERSION STREQUAL "WINXP")
|
||||
add_definitions(-DWINVER=0x0501 -D_WIN32_WINNT=0x0501)
|
||||
elseif(CMAKE_WINDOWS_VERSION STREQUAL "WIN7")
|
||||
add_definitions(-DWINVER=0x0601 -D_WIN32_WINNT=0x0601)
|
||||
elseif(CMAKE_WINDOWS_VERSION STREQUAL "WIN8")
|
||||
add_definitions(-DWINVER=0x0602 -D_WIN32_WINNT=0x0602)
|
||||
elseif(CMAKE_WINDOWS_VERSION STREQUAL "WIN10")
|
||||
add_definitions(-DWINVER=0x0A00 -D_WIN32_WINNT=0x0A00)
|
||||
endif()
|
||||
if(CMAKE_WINDOWS_VERSION STREQUAL "WINXP")
|
||||
add_definitions(-DWINVER=0x0501 -D_WIN32_WINNT=0x0501)
|
||||
elseif(CMAKE_WINDOWS_VERSION STREQUAL "WIN7")
|
||||
add_definitions(-DWINVER=0x0601 -D_WIN32_WINNT=0x0601)
|
||||
elseif(CMAKE_WINDOWS_VERSION STREQUAL "WIN8")
|
||||
add_definitions(-DWINVER=0x0602 -D_WIN32_WINNT=0x0602)
|
||||
elseif(CMAKE_WINDOWS_VERSION STREQUAL "WIN10")
|
||||
add_definitions(-DWINVER=0x0A00 -D_WIN32_WINNT=0x0A00)
|
||||
endif()
|
||||
|
||||
# Set product and vendor for dll and exe version information.
|
||||
set(RC_VERSION_VENDOR ${VENDOR})
|
||||
set(RC_VERSION_PRODUCT ${PRODUCT})
|
||||
set(RC_VERSION_PATCH ${BUILD_NUMBER})
|
||||
set(RC_VERSION_DESCRIPTION "${FREERDP_VERSION_FULL} ${GIT_REVISION} ${CMAKE_WINDOWS_VERSION} ${CMAKE_SYSTEM_PROCESSOR}")
|
||||
# Set product and vendor for dll and exe version information.
|
||||
set(RC_VERSION_VENDOR ${VENDOR})
|
||||
set(RC_VERSION_PRODUCT ${PRODUCT})
|
||||
set(RC_VERSION_PATCH ${BUILD_NUMBER})
|
||||
set(RC_VERSION_DESCRIPTION
|
||||
"${FREERDP_VERSION_FULL} ${GIT_REVISION} ${CMAKE_WINDOWS_VERSION} ${CMAKE_SYSTEM_PROCESSOR}"
|
||||
)
|
||||
|
||||
if (FREERDP_EXTERNAL_SSL_PATH)
|
||||
set(OPENSSL_ROOT_DIR ${FREERDP_EXTERNAL_SSL_PATH})
|
||||
endif()
|
||||
if(FREERDP_EXTERNAL_SSL_PATH)
|
||||
set(OPENSSL_ROOT_DIR ${FREERDP_EXTERNAL_SSL_PATH})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
add_definitions(-DFREERDP_EXPORTS)
|
||||
|
||||
# Mac OS X
|
||||
if(APPLE)
|
||||
if(IOS)
|
||||
if (NOT FREERDP_IOS_EXTERNAL_SSL_PATH)
|
||||
message(STATUS "FREERDP_IOS_EXTERNAL_SSL_PATH not set! Required if openssl is not found in the iOS SDK (which usually isn't")
|
||||
endif()
|
||||
set(CMAKE_FIND_ROOT_PATH ${CMAKE_FIND_ROOT_PATH} ${FREERDP_IOS_EXTERNAL_SSL_PATH})
|
||||
set_property(GLOBAL PROPERTY XCODE_ATTRIBUTE_SKIP_INSTALL YES)
|
||||
endif(IOS)
|
||||
if(IOS)
|
||||
if(NOT FREERDP_IOS_EXTERNAL_SSL_PATH)
|
||||
message(
|
||||
STATUS
|
||||
"FREERDP_IOS_EXTERNAL_SSL_PATH not set! Required if openssl is not found in the iOS SDK (which usually isn't"
|
||||
)
|
||||
endif()
|
||||
set(CMAKE_FIND_ROOT_PATH ${CMAKE_FIND_ROOT_PATH} ${FREERDP_IOS_EXTERNAL_SSL_PATH})
|
||||
set_property(GLOBAL PROPERTY XCODE_ATTRIBUTE_SKIP_INSTALL YES)
|
||||
endif(IOS)
|
||||
|
||||
# Temporarily disabled, causes the cmake script to be reexecuted, causing the compilation to fail.
|
||||
# Workaround: specify the parameter in the command-line
|
||||
# if(WITH_CLANG)
|
||||
# set(CMAKE_C_COMPILER "clang")
|
||||
# endif()
|
||||
# Temporarily disabled, causes the cmake script to be reexecuted, causing the compilation to fail.
|
||||
# Workaround: specify the parameter in the command-line
|
||||
# if(WITH_CLANG)
|
||||
# set(CMAKE_C_COMPILER "clang")
|
||||
# endif()
|
||||
|
||||
if (WITH_VERBOSE)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -v")
|
||||
endif()
|
||||
if(WITH_VERBOSE)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -v")
|
||||
endif()
|
||||
endif(APPLE)
|
||||
|
||||
# Android
|
||||
if(ANDROID)
|
||||
set_property( GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS ${ANDROID_LIBRARY_USE_LIB64_PATHS} )
|
||||
set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS ${ANDROID_LIBRARY_USE_LIB64_PATHS})
|
||||
|
||||
if (${ANDROID_ABI} STREQUAL "armeabi")
|
||||
set (WITH_NEON OFF)
|
||||
endif()
|
||||
if(${ANDROID_ABI} STREQUAL "armeabi")
|
||||
set(WITH_NEON OFF)
|
||||
endif()
|
||||
|
||||
if(ANDROID_ABI STREQUAL arm64-v8a)
|
||||
include (CheckCCompilerFlag)
|
||||
check_c_compiler_flag("-mfloat-abi=softfp" ABI_SOFTFP_SUPPORTED)
|
||||
if(ANDROID_ABI STREQUAL arm64-v8a)
|
||||
include(CheckCCompilerFlag)
|
||||
check_c_compiler_flag("-mfloat-abi=softfp" ABI_SOFTFP_SUPPORTED)
|
||||
|
||||
if (ABI_SOFTFP_SUPPORTED)
|
||||
# https://github.com/android/ndk/issues/910
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfloat-abi=softfp")
|
||||
endif()
|
||||
endif()
|
||||
if(ABI_SOFTFP_SUPPORTED)
|
||||
# https://github.com/android/ndk/issues/910
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfloat-abi=softfp")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
|
||||
add_definitions(-DNDK_DEBUG=1)
|
||||
if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
|
||||
add_definitions(-DNDK_DEBUG=1)
|
||||
|
||||
# NOTE: Manually add -gdwarf-3, as newer toolchains default to -gdwarf-4,
|
||||
# which is not supported by the gdbserver binary shipped with
|
||||
# the android NDK (tested with r9b)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_DEBUG} -gdwarf-3")
|
||||
endif()
|
||||
set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -llog")
|
||||
# NOTE: Manually add -gdwarf-3, as newer toolchains default to -gdwarf-4,
|
||||
# which is not supported by the gdbserver binary shipped with
|
||||
# the android NDK (tested with r9b)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_DEBUG} -gdwarf-3")
|
||||
endif()
|
||||
set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -llog")
|
||||
|
||||
# CMAKE_PREFIX_PATH detection is broken in most Android toolchain files
|
||||
# Append it to CMAKE_FIND_ROOT_PATH and avoid potential duplicates
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH})
|
||||
list(REMOVE_DUPLICATES CMAKE_FIND_ROOT_PATH)
|
||||
# CMAKE_PREFIX_PATH detection is broken in most Android toolchain files
|
||||
# Append it to CMAKE_FIND_ROOT_PATH and avoid potential duplicates
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH})
|
||||
list(REMOVE_DUPLICATES CMAKE_FIND_ROOT_PATH)
|
||||
|
||||
if (NOT FREERDP_EXTERNAL_PATH)
|
||||
if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/external/")
|
||||
set (FREERDP_EXTERNAL_PATH "${CMAKE_CURRENT_SOURCE_DIR}/external/")
|
||||
else()
|
||||
message(STATUS "FREERDP_EXTERNAL_PATH not set!")
|
||||
endif()
|
||||
endif()
|
||||
if(NOT FREERDP_EXTERNAL_PATH)
|
||||
if(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/external/")
|
||||
set(FREERDP_EXTERNAL_PATH "${CMAKE_CURRENT_SOURCE_DIR}/external/")
|
||||
else()
|
||||
message(STATUS "FREERDP_EXTERNAL_PATH not set!")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
list (APPEND CMAKE_INCLUDE_PATH ${FREERDP_EXTERNAL_PATH}/${ANDROID_ABI}/include)
|
||||
list (APPEND CMAKE_LIBRARY_PATH ${FREERDP_EXTERNAL_PATH}/${ANDROID_ABI}/ )
|
||||
set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH )
|
||||
set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH )
|
||||
list(APPEND CMAKE_INCLUDE_PATH ${FREERDP_EXTERNAL_PATH}/${ANDROID_ABI}/include)
|
||||
list(APPEND CMAKE_LIBRARY_PATH ${FREERDP_EXTERNAL_PATH}/${ANDROID_ABI}/)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
|
||||
if (WITH_GPROF)
|
||||
CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/scripts/gprof_generate.sh.cmake
|
||||
${PROJECT_BINARY_DIR}/scripts/gprof_generate.sh @ONLY)
|
||||
endif(WITH_GPROF)
|
||||
if(WITH_GPROF)
|
||||
configure_file(
|
||||
${PROJECT_SOURCE_DIR}/scripts/gprof_generate.sh.in ${PROJECT_BINARY_DIR}/scripts/gprof_generate.sh @ONLY
|
||||
)
|
||||
endif(WITH_GPROF)
|
||||
endif()
|
||||
|
||||
if(WITH_VALGRIND_MEMCHECK)
|
||||
check_include_files(valgrind/memcheck.h FREERDP_HAVE_VALGRIND_MEMCHECK_H)
|
||||
check_include_files(valgrind/memcheck.h FREERDP_HAVE_VALGRIND_MEMCHECK_H)
|
||||
else()
|
||||
unset(FREERDP_HAVE_VALGRIND_MEMCHECK_H CACHE)
|
||||
unset(FREERDP_HAVE_VALGRIND_MEMCHECK_H CACHE)
|
||||
endif()
|
||||
|
||||
if(UNIX OR CYGWIN)
|
||||
set(WAYLAND_FEATURE_TYPE "RECOMMENDED")
|
||||
set(WAYLAND_FEATURE_TYPE "RECOMMENDED")
|
||||
else()
|
||||
set(WAYLAND_FEATURE_TYPE "DISABLED")
|
||||
set(WAYLAND_FEATURE_TYPE "DISABLED")
|
||||
endif()
|
||||
|
||||
if(WITH_PCSC_WINPR)
|
||||
find_package(PCSCWinPR)
|
||||
find_package(PCSCWinPR)
|
||||
endif()
|
||||
|
||||
set(WAYLAND_FEATURE_PURPOSE "Wayland")
|
||||
@ -509,44 +518,44 @@ set(SOXR_FEATURE_PURPOSE "codec")
|
||||
set(SOXR_FEATURE_DESCRIPTION "SOX audio resample library")
|
||||
|
||||
if(WIN32)
|
||||
set(WAYLAND_FEATURE_TYPE "DISABLED")
|
||||
set(PCSC_FEATURE_TYPE "DISABLED")
|
||||
set(WAYLAND_FEATURE_TYPE "DISABLED")
|
||||
set(PCSC_FEATURE_TYPE "DISABLED")
|
||||
endif()
|
||||
|
||||
if(APPLE)
|
||||
set(WAYLAND_FEATURE_TYPE "DISABLED")
|
||||
if(IOS)
|
||||
set(PCSC_FEATURE_TYPE "DISABLED")
|
||||
endif()
|
||||
set(WAYLAND_FEATURE_TYPE "DISABLED")
|
||||
if(IOS)
|
||||
set(PCSC_FEATURE_TYPE "DISABLED")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(ANDROID)
|
||||
set(WAYLAND_FEATURE_TYPE "DISABLED")
|
||||
set(PCSC_FEATURE_TYPE "DISABLED")
|
||||
set(WAYLAND_FEATURE_TYPE "DISABLED")
|
||||
set(PCSC_FEATURE_TYPE "DISABLED")
|
||||
endif()
|
||||
|
||||
find_feature(Wayland ${WAYLAND_FEATURE_TYPE} ${WAYLAND_FEATURE_PURPOSE} ${WAYLAND_FEATURE_DESCRIPTION})
|
||||
|
||||
option(WITH_LIBRESSL "build with LibreSSL" OFF)
|
||||
if (WITH_LIBRESSL)
|
||||
find_package(LibreSSL REQUIRED)
|
||||
include_directories(SYSTEM ${LibreSSL_INCLUDE_DIRS})
|
||||
set(OPENSSL_INCLUDE_DIR ${LIBRESSL_INCLUDE_DIR})
|
||||
set(OPENSSL_LIBRARIES ${LIBRESSL_LIBRARIES})
|
||||
set(OPENSSL_CRYPTO_LIBRARIES ${LIBRESSL_LIBRARIES})
|
||||
set(WITH_OPENSSL ON)
|
||||
set(OPENSSL_FOUND ON)
|
||||
add_definitions("-DWITH_LIBRESSL")
|
||||
add_definitions("-DWITH_OPENSSL")
|
||||
if(WITH_LIBRESSL)
|
||||
find_package(LibreSSL REQUIRED)
|
||||
include_directories(SYSTEM ${LibreSSL_INCLUDE_DIRS})
|
||||
set(OPENSSL_INCLUDE_DIR ${LIBRESSL_INCLUDE_DIR})
|
||||
set(OPENSSL_LIBRARIES ${LIBRESSL_LIBRARIES})
|
||||
set(OPENSSL_CRYPTO_LIBRARIES ${LIBRESSL_LIBRARIES})
|
||||
set(WITH_OPENSSL ON)
|
||||
set(OPENSSL_FOUND ON)
|
||||
add_definitions("-DWITH_LIBRESSL")
|
||||
add_definitions("-DWITH_OPENSSL")
|
||||
else()
|
||||
find_feature(OpenSSL ${OPENSSL_FEATURE_TYPE} ${OPENSSL_FEATURE_PURPOSE} ${OPENSSL_FEATURE_DESCRIPTION})
|
||||
find_feature(MbedTLS ${MBEDTLS_FEATURE_TYPE} ${MBEDTLS_FEATURE_PURPOSE} ${MBEDTLS_FEATURE_DESCRIPTION})
|
||||
find_feature(OpenSSL ${OPENSSL_FEATURE_TYPE} ${OPENSSL_FEATURE_PURPOSE} ${OPENSSL_FEATURE_DESCRIPTION})
|
||||
find_feature(MbedTLS ${MBEDTLS_FEATURE_TYPE} ${MBEDTLS_FEATURE_PURPOSE} ${MBEDTLS_FEATURE_DESCRIPTION})
|
||||
endif()
|
||||
|
||||
find_feature(PCSC ${PCSC_FEATURE_TYPE} ${PCSC_FEATURE_PURPOSE} ${PCSC_FEATURE_DESCRIPTION})
|
||||
|
||||
if (WITH_DSP_FFMPEG OR WITH_VIDEO_FFMPEG OR WITH_FFMPEG)
|
||||
find_package(FFmpeg REQUIRED COMPONENTS AVUTIL AVCODEC)
|
||||
if(WITH_DSP_FFMPEG OR WITH_VIDEO_FFMPEG OR WITH_FFMPEG)
|
||||
find_package(FFmpeg REQUIRED COMPONENTS AVUTIL AVCODEC)
|
||||
endif()
|
||||
|
||||
find_feature(OpenH264 ${OPENH264_FEATURE_TYPE} ${OPENH264_FEATURE_PURPOSE} ${OPENH264_FEATURE_DESCRIPTION})
|
||||
@ -557,67 +566,70 @@ find_feature(FAAD2 ${FAAD2_FEATURE_TYPE} ${FAAD2_FEATURE_PURPOSE} ${FAAD2_FEATUR
|
||||
find_feature(FAAC ${FAAC_FEATURE_TYPE} ${FAAC_FEATURE_PURPOSE} ${FAAC_FEATURE_DESCRIPTION})
|
||||
find_feature(soxr ${SOXR_FEATURE_TYPE} ${SOXR_FEATURE_PURPOSE} ${SOXR_FEATURE_DESCRIPTION})
|
||||
|
||||
if (WITH_OPENH264 AND NOT WITH_OPENH264_LOADING)
|
||||
option(WITH_OPENH264_LOADING "Use LoadLibrary to load openh264 at runtime" OFF)
|
||||
endif (WITH_OPENH264 AND NOT WITH_OPENH264_LOADING)
|
||||
if(WITH_OPENH264 AND NOT WITH_OPENH264_LOADING)
|
||||
option(WITH_OPENH264_LOADING "Use LoadLibrary to load openh264 at runtime" OFF)
|
||||
endif(WITH_OPENH264 AND NOT WITH_OPENH264_LOADING)
|
||||
|
||||
# Version check, if we have detected FFMPEG but the version is too old
|
||||
# deactivate it as sound backend.
|
||||
if (WITH_DSP_FFMPEG)
|
||||
if (AVCODEC_VERSION VERSION_LESS "57.48.101")
|
||||
message(WARNING "FFmpeg version detected (${AVCODEC_VERSION}) is too old. (Require at least 57.48.101 for sound). Deactivating")
|
||||
set(WITH_DSP_FFMPEG OFF)
|
||||
endif()
|
||||
endif (WITH_DSP_FFMPEG)
|
||||
if(WITH_DSP_FFMPEG)
|
||||
if(AVCODEC_VERSION VERSION_LESS "57.48.101")
|
||||
message(
|
||||
WARNING
|
||||
"FFmpeg version detected (${AVCODEC_VERSION}) is too old. (Require at least 57.48.101 for sound). Deactivating"
|
||||
)
|
||||
set(WITH_DSP_FFMPEG OFF)
|
||||
endif()
|
||||
endif(WITH_DSP_FFMPEG)
|
||||
|
||||
if (WITH_OPENH264 AND NOT OPENH264_FOUND)
|
||||
message(FATAL_ERROR "OpenH264 support requested but not detected")
|
||||
if(WITH_OPENH264 AND NOT OPENH264_FOUND)
|
||||
message(FATAL_ERROR "OpenH264 support requested but not detected")
|
||||
endif()
|
||||
set(WITH_OPENH264 ${OPENH264_FOUND})
|
||||
|
||||
if(OPENSSL_FOUND)
|
||||
add_definitions("-DWITH_OPENSSL")
|
||||
message(STATUS "Using OpenSSL Version: ${OPENSSL_VERSION}")
|
||||
include_directories(SYSTEM ${OPENSSL_INCLUDE_DIR})
|
||||
add_definitions("-DWITH_OPENSSL")
|
||||
message(STATUS "Using OpenSSL Version: ${OPENSSL_VERSION}")
|
||||
include_directories(SYSTEM ${OPENSSL_INCLUDE_DIR})
|
||||
endif()
|
||||
|
||||
if(MBEDTLS_FOUND)
|
||||
add_definitions("-DWITH_MBEDTLS")
|
||||
add_definitions("-DWITH_MBEDTLS")
|
||||
endif()
|
||||
|
||||
if (WITH_OPENH264 OR WITH_MEDIA_FOUNDATION OR WITH_VIDEO_FFMPEG OR WITH_MEDIACODEC)
|
||||
set(WITH_GFX_H264 ON)
|
||||
if(WITH_OPENH264 OR WITH_MEDIA_FOUNDATION OR WITH_VIDEO_FFMPEG OR WITH_MEDIACODEC)
|
||||
set(WITH_GFX_H264 ON)
|
||||
else()
|
||||
set(WITH_GFX_H264 OFF)
|
||||
set(WITH_GFX_H264 OFF)
|
||||
endif()
|
||||
|
||||
# Android expects all libraries to be loadable
|
||||
# without paths.
|
||||
if (ANDROID OR WIN32 OR MAC_BUNDLE)
|
||||
set(PLUGIN_ABS_PATHS_DEFAULT OFF)
|
||||
if(ANDROID OR WIN32 OR MAC_BUNDLE)
|
||||
set(PLUGIN_ABS_PATHS_DEFAULT OFF)
|
||||
else()
|
||||
set(PLUGIN_ABS_PATHS_DEFAULT ON)
|
||||
set(PLUGIN_ABS_PATHS_DEFAULT ON)
|
||||
endif()
|
||||
option(WITH_ABSOLUTE_PLUGIN_LOAD_PATHS "Load plugins with absolute paths" ${PLUGIN_ABS_PATHS_DEFAULT})
|
||||
|
||||
if (NOT WITH_ABSOLUTE_PLUGIN_LOAD_PATHS)
|
||||
if(NOT WITH_ABSOLUTE_PLUGIN_LOAD_PATHS)
|
||||
set(FREERDP_DATA_PATH "share")
|
||||
if (NOT FREERDP_INSTALL_PREFIX)
|
||||
set(FREERDP_INSTALL_PREFIX ".")
|
||||
if(NOT FREERDP_INSTALL_PREFIX)
|
||||
set(FREERDP_INSTALL_PREFIX ".")
|
||||
endif()
|
||||
set(FREERDP_LIBRARY_PATH ".")
|
||||
set(FREERDP_PLUGIN_PATH ".")
|
||||
else()
|
||||
set(FREERDP_DATA_PATH "${CMAKE_INSTALL_PREFIX}/share/${FREERDP_MAJOR_DIR}")
|
||||
if (NOT FREERDP_INSTALL_PREFIX)
|
||||
set(FREERDP_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
|
||||
endif()
|
||||
set(FREERDP_LIBRARY_PATH "${CMAKE_INSTALL_LIBDIR}")
|
||||
if (WIN32)
|
||||
set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_BINDIR}/${FREERDP_MAJOR_DIR}")
|
||||
else()
|
||||
set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_LIBDIR}/${FREERDP_MAJOR_DIR}")
|
||||
endif()
|
||||
set(FREERDP_DATA_PATH "${CMAKE_INSTALL_PREFIX}/share/${FREERDP_MAJOR_DIR}")
|
||||
if(NOT FREERDP_INSTALL_PREFIX)
|
||||
set(FREERDP_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
|
||||
endif()
|
||||
set(FREERDP_LIBRARY_PATH "${CMAKE_INSTALL_LIBDIR}")
|
||||
if(WIN32)
|
||||
set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_BINDIR}/${FREERDP_MAJOR_DIR}")
|
||||
else()
|
||||
set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_LIBDIR}/${FREERDP_MAJOR_DIR}")
|
||||
endif()
|
||||
endif()
|
||||
set(FREERDP_ADDIN_PATH "${FREERDP_PLUGIN_PATH}")
|
||||
|
||||
@ -628,20 +640,19 @@ set(FREERDP_EXTENSION_PATH "${CMAKE_INSTALL_FULL_LIBDIR}/${FREERDP_EXTENSION_POS
|
||||
|
||||
# Proxy plugins path
|
||||
if(NOT DEFINED PROXY_PLUGINDIR)
|
||||
message("using default plugins location")
|
||||
set(FREERDP_PROXY_PLUGINDIR "${FREERDP_PLUGIN_PATH}/proxy/")
|
||||
message("using default plugins location")
|
||||
set(FREERDP_PROXY_PLUGINDIR "${FREERDP_PLUGIN_PATH}/proxy/")
|
||||
else()
|
||||
set(FREERDP_PROXY_PLUGINDIR "${PROXY_PLUGINDIR}")
|
||||
set(FREERDP_PROXY_PLUGINDIR "${PROXY_PLUGINDIR}")
|
||||
endif()
|
||||
|
||||
# Android profiling
|
||||
if(ANDROID)
|
||||
if(WITH_GPROF)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pg")
|
||||
set(PROFILER_LIBRARIES
|
||||
"${FREERDP_EXTERNAL_PROFILER_PATH}/obj/local/${ANDROID_ABI}/libandroid-ndk-profiler.a")
|
||||
include_directories(SYSTEM "${FREERDP_EXTERNAL_PROFILER_PATH}")
|
||||
endif()
|
||||
if(WITH_GPROF)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pg")
|
||||
set(PROFILER_LIBRARIES "${FREERDP_EXTERNAL_PROFILER_PATH}/obj/local/${ANDROID_ABI}/libandroid-ndk-profiler.a")
|
||||
include_directories(SYSTEM "${FREERDP_EXTERNAL_PROFILER_PATH}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Unit Tests
|
||||
@ -649,34 +660,34 @@ endif()
|
||||
include(CTest)
|
||||
|
||||
if(BUILD_TESTING_INTERNAL OR BUILD_TESTING)
|
||||
enable_testing()
|
||||
enable_testing()
|
||||
|
||||
if(MSVC)
|
||||
set(TESTING_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
|
||||
else()
|
||||
set(TESTING_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/Testing")
|
||||
endif()
|
||||
if(MSVC)
|
||||
set(TESTING_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
|
||||
else()
|
||||
set(TESTING_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/Testing")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
include(CommonConfigOptions)
|
||||
|
||||
if (FREERDP_UNIFIED_BUILD)
|
||||
add_subdirectory(winpr)
|
||||
if (WITH_WAYLAND)
|
||||
add_subdirectory(uwac)
|
||||
endif()
|
||||
if (WITH_SERVER)
|
||||
option(WITH_RDTK "build rdtk toolkit" ON)
|
||||
if (WITH_RDTK)
|
||||
add_subdirectory(rdtk)
|
||||
endif()
|
||||
endif()
|
||||
if(FREERDP_UNIFIED_BUILD)
|
||||
add_subdirectory(winpr)
|
||||
if(WITH_WAYLAND)
|
||||
add_subdirectory(uwac)
|
||||
endif()
|
||||
if(WITH_SERVER)
|
||||
option(WITH_RDTK "build rdtk toolkit" ON)
|
||||
if(WITH_RDTK)
|
||||
add_subdirectory(rdtk)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
include_directories(${PROJECT_SOURCE_DIR}/winpr/include)
|
||||
include_directories(${PROJECT_BINARY_DIR}/winpr/include)
|
||||
include_directories(${PROJECT_SOURCE_DIR}/winpr/include)
|
||||
include_directories(${PROJECT_BINARY_DIR}/winpr/include)
|
||||
else()
|
||||
find_package(WinPR 3 REQUIRED)
|
||||
include_directories(SYSTEM ${WinPR_INCLUDE_DIR})
|
||||
find_package(WinPR 3 REQUIRED)
|
||||
include_directories(SYSTEM ${WinPR_INCLUDE_DIR})
|
||||
endif()
|
||||
|
||||
option(WITH_AAD "Compile with support for Azure AD authentication" ${WITH_WINPR_JSON})
|
||||
@ -689,25 +700,24 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||
# Sub-directories
|
||||
|
||||
if(WITH_THIRD_PARTY)
|
||||
add_subdirectory(third-party)
|
||||
if (NOT "${THIRD_PARTY_INCLUDES}" STREQUAL "")
|
||||
include_directories(SYSTEM ${THIRD_PARTY_INCLUDES})
|
||||
endif()
|
||||
add_subdirectory(third-party)
|
||||
if(NOT "${THIRD_PARTY_INCLUDES}" STREQUAL "")
|
||||
include_directories(SYSTEM ${THIRD_PARTY_INCLUDES})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
add_subdirectory(libfreerdp)
|
||||
|
||||
if(WITH_CHANNELS)
|
||||
add_subdirectory(channels)
|
||||
add_subdirectory(channels)
|
||||
endif()
|
||||
|
||||
if(WITH_CLIENT_COMMON OR WITH_CLIENT)
|
||||
add_subdirectory(client)
|
||||
add_subdirectory(client)
|
||||
endif()
|
||||
|
||||
if(WITH_SERVER)
|
||||
add_subdirectory(server)
|
||||
add_subdirectory(server)
|
||||
endif()
|
||||
|
||||
# Packaging
|
||||
@ -715,22 +725,22 @@ endif()
|
||||
set(CMAKE_CPACK_INCLUDE_FILE "CMakeCPack.cmake")
|
||||
|
||||
if(NOT (VENDOR MATCHES "FreeRDP"))
|
||||
if(DEFINED CLIENT_VENDOR_PATH)
|
||||
if(EXISTS "${PROJECT_SOURCE_DIR}/${CLIENT_VENDOR_PATH}/CMakeCPack.cmake")
|
||||
set(CMAKE_CPACK_INCLUDE_FILE "${CLIENT_VENDOR_PATH}/CMakeCPack.cmake")
|
||||
endif()
|
||||
endif()
|
||||
if(DEFINED CLIENT_VENDOR_PATH)
|
||||
if(EXISTS "${PROJECT_SOURCE_DIR}/${CLIENT_VENDOR_PATH}/CMakeCPack.cmake")
|
||||
set(CMAKE_CPACK_INCLUDE_FILE "${CLIENT_VENDOR_PATH}/CMakeCPack.cmake")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
#message("VENDOR: ${VENDOR} CLIENT_VENDOR_PATH: ${CLIENT_VENDOR_PATH} CMAKE_CPACK_INCLUDE_FILE: ${CMAKE_CPACK_INCLUDE_FILE}")
|
||||
|
||||
set(FREERDP_BUILD_CONFIG_LIST "")
|
||||
GET_CMAKE_PROPERTY(res VARIABLES)
|
||||
FOREACH(var ${res})
|
||||
IF (var MATCHES "^WITH_*|^BUILD_TESTING*|^WINPR_HAVE_*")
|
||||
LIST(APPEND FREERDP_BUILD_CONFIG_LIST "${var}=${${var}}")
|
||||
ENDIF()
|
||||
ENDFOREACH()
|
||||
get_cmake_property(res VARIABLES)
|
||||
foreach(var ${res})
|
||||
if(var MATCHES "^WITH_*|^BUILD_TESTING*|^WINPR_HAVE_*")
|
||||
list(APPEND FREERDP_BUILD_CONFIG_LIST "${var}=${${var}}")
|
||||
endif()
|
||||
endforeach()
|
||||
string(REPLACE ";" " " FREERDP_BUILD_CONFIG "${FREERDP_BUILD_CONFIG_LIST}")
|
||||
|
||||
add_subdirectory(include)
|
||||
@ -740,8 +750,5 @@ include(${CMAKE_CPACK_INCLUDE_FILE})
|
||||
message(STATUS "Intrinsic path configuration:")
|
||||
#ShowCMakeVars("^CMAKE_INSTALL_PREFIX")
|
||||
#ShowCMakeVars("^CMAKE_INSTALL_LIBDIR")
|
||||
ShowCMakeVars("^FREERDP_INSTALL_PREFIX|^FREERDP_LIBRARY_PATH|^FREERDP_PLUGIN_PATH")
|
||||
ShowCMakeVars("^FREERDP_ADDIN_PATH|^FREERDP_EXTENSION_PATH|^FREERDP_PROXY_PLUGINDIR")
|
||||
|
||||
|
||||
|
||||
showcmakevars("^FREERDP_INSTALL_PREFIX|^FREERDP_LIBRARY_PATH|^FREERDP_PLUGIN_PATH")
|
||||
showcmakevars("^FREERDP_ADDIN_PATH|^FREERDP_EXTENSION_PATH|^FREERDP_PROXY_PLUGINDIR")
|
||||
|
@ -21,11 +21,7 @@ include(CMakeDependentOption)
|
||||
macro(define_channel_options)
|
||||
set(PREFIX "CHANNEL")
|
||||
|
||||
cmake_parse_arguments(${PREFIX}
|
||||
""
|
||||
"NAME;TYPE;DESCRIPTION;SPECIFICATIONS;DEFAULT"
|
||||
""
|
||||
${ARGN})
|
||||
cmake_parse_arguments(${PREFIX} "" "NAME;TYPE;DESCRIPTION;SPECIFICATIONS;DEFAULT" "" ${ARGN})
|
||||
|
||||
string(TOUPPER "CHANNEL_${CHANNEL_NAME}" CHANNEL_OPTION)
|
||||
string(TOUPPER "CHANNEL_${CHANNEL_NAME}_CLIENT" CHANNEL_CLIENT_OPTION)
|
||||
@ -52,8 +48,8 @@ macro(define_channel_options)
|
||||
|
||||
set(CHANNEL_OPTION_DOC "Build ${CHANNEL_NAME} ${CHANNEL_TYPE} channel")
|
||||
|
||||
if ("${CHANNEL_TYPE}" STREQUAL "DYNAMIC")
|
||||
CMAKE_DEPENDENT_OPTION(${CHANNEL_OPTION} "${CHANNEL_OPTION_DOC}" ${CHANNEL_DEFAULT} "CHANNEL_DRDYNVC" OFF)
|
||||
if("${CHANNEL_TYPE}" STREQUAL "DYNAMIC")
|
||||
cmake_dependent_option(${CHANNEL_OPTION} "${CHANNEL_OPTION_DOC}" ${CHANNEL_DEFAULT} "CHANNEL_DRDYNVC" OFF)
|
||||
else()
|
||||
option(${CHANNEL_OPTION} "${CHANNEL_OPTION_DOC}" ${CHANNEL_DEFAULT})
|
||||
endif()
|
||||
@ -65,8 +61,9 @@ macro(define_channel_client_options _channel_client_default)
|
||||
string(TOUPPER "CHANNEL_${CHANNEL_NAME}" CHANNEL_OPTION)
|
||||
set(CHANNEL_CLIENT_OPTION_DOC "Build ${CHANNEL_NAME} ${CHANNEL_TYPE} channel client")
|
||||
|
||||
CMAKE_DEPENDENT_OPTION(${CHANNEL_CLIENT_OPTION} "${CHANNEL_CLIENT_OPTION_DOC}"
|
||||
${_channel_client_default} "${CHANNEL_OPTION}" OFF)
|
||||
cmake_dependent_option(
|
||||
${CHANNEL_CLIENT_OPTION} "${CHANNEL_CLIENT_OPTION_DOC}" ${_channel_client_default} "${CHANNEL_OPTION}" OFF
|
||||
)
|
||||
endmacro(define_channel_client_options)
|
||||
|
||||
macro(define_channel_server_options _channel_server_default)
|
||||
@ -74,8 +71,9 @@ macro(define_channel_server_options _channel_server_default)
|
||||
string(TOUPPER "CHANNEL_${CHANNEL_NAME}" CHANNEL_OPTION)
|
||||
set(CHANNEL_SERVER_OPTION_DOC "Build ${CHANNEL_NAME} ${CHANNEL_TYPE} channel server")
|
||||
|
||||
CMAKE_DEPENDENT_OPTION(${CHANNEL_SERVER_OPTION} "${CHANNEL_SERVER_OPTION_DOC}"
|
||||
${_channel_server_default} "${CHANNEL_OPTION}" OFF)
|
||||
cmake_dependent_option(
|
||||
${CHANNEL_SERVER_OPTION} "${CHANNEL_SERVER_OPTION_DOC}" ${_channel_server_default} "${CHANNEL_OPTION}" OFF
|
||||
)
|
||||
endmacro(define_channel_server_options)
|
||||
|
||||
macro(define_channel _channel_name)
|
||||
@ -119,29 +117,33 @@ macro(define_channel_server_subsystem _channel_name _subsystem _type)
|
||||
endmacro(define_channel_server_subsystem)
|
||||
|
||||
macro(add_channel_client _channel_prefix _channel_name)
|
||||
if (${_channel_prefix}_CLIENT)
|
||||
add_subdirectory(client)
|
||||
if(${${_channel_prefix}_CLIENT_STATIC})
|
||||
set(CHANNEL_STATIC_CLIENT_MODULES ${CHANNEL_STATIC_CLIENT_MODULES} ${_channel_prefix} PARENT_SCOPE)
|
||||
set(${_channel_prefix}_CLIENT_NAME ${${_channel_prefix}_CLIENT_NAME} PARENT_SCOPE)
|
||||
set(${_channel_prefix}_CLIENT_CHANNEL ${${_channel_prefix}_CLIENT_CHANNEL} PARENT_SCOPE)
|
||||
set(${_channel_prefix}_CLIENT_ENTRY ${${_channel_prefix}_CLIENT_ENTRY} PARENT_SCOPE)
|
||||
set(CHANNEL_STATIC_CLIENT_ENTRIES ${CHANNEL_STATIC_CLIENT_ENTRIES} ${${_channel_prefix}_CLIENT_ENTRY} PARENT_SCOPE)
|
||||
endif()
|
||||
endif()
|
||||
if(${_channel_prefix}_CLIENT)
|
||||
add_subdirectory(client)
|
||||
if(${${_channel_prefix}_CLIENT_STATIC})
|
||||
set(CHANNEL_STATIC_CLIENT_MODULES ${CHANNEL_STATIC_CLIENT_MODULES} ${_channel_prefix} PARENT_SCOPE)
|
||||
set(${_channel_prefix}_CLIENT_NAME ${${_channel_prefix}_CLIENT_NAME} PARENT_SCOPE)
|
||||
set(${_channel_prefix}_CLIENT_CHANNEL ${${_channel_prefix}_CLIENT_CHANNEL} PARENT_SCOPE)
|
||||
set(${_channel_prefix}_CLIENT_ENTRY ${${_channel_prefix}_CLIENT_ENTRY} PARENT_SCOPE)
|
||||
set(CHANNEL_STATIC_CLIENT_ENTRIES ${CHANNEL_STATIC_CLIENT_ENTRIES} ${${_channel_prefix}_CLIENT_ENTRY}
|
||||
PARENT_SCOPE
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
endmacro(add_channel_client)
|
||||
|
||||
macro(add_channel_server _channel_prefix _channel_name)
|
||||
if (${_channel_prefix}_SERVER)
|
||||
add_subdirectory(server)
|
||||
if(${${_channel_prefix}_SERVER_STATIC})
|
||||
set(CHANNEL_STATIC_SERVER_MODULES ${CHANNEL_STATIC_SERVER_MODULES} ${_channel_prefix} PARENT_SCOPE)
|
||||
set(${_channel_prefix}_SERVER_NAME ${${_channel_prefix}_SERVER_NAME} PARENT_SCOPE)
|
||||
set(${_channel_prefix}_SERVER_CHANNEL ${${_channel_prefix}_SERVER_CHANNEL} PARENT_SCOPE)
|
||||
set(${_channel_prefix}_SERVER_ENTRY ${${_channel_prefix}_SERVER_ENTRY} PARENT_SCOPE)
|
||||
set(CHANNEL_STATIC_SERVER_ENTRIES ${CHANNEL_STATIC_SERVER_ENTRIES} ${${_channel_prefix}_SERVER_ENTRY} PARENT_SCOPE)
|
||||
endif()
|
||||
endif()
|
||||
if(${_channel_prefix}_SERVER)
|
||||
add_subdirectory(server)
|
||||
if(${${_channel_prefix}_SERVER_STATIC})
|
||||
set(CHANNEL_STATIC_SERVER_MODULES ${CHANNEL_STATIC_SERVER_MODULES} ${_channel_prefix} PARENT_SCOPE)
|
||||
set(${_channel_prefix}_SERVER_NAME ${${_channel_prefix}_SERVER_NAME} PARENT_SCOPE)
|
||||
set(${_channel_prefix}_SERVER_CHANNEL ${${_channel_prefix}_SERVER_CHANNEL} PARENT_SCOPE)
|
||||
set(${_channel_prefix}_SERVER_ENTRY ${${_channel_prefix}_SERVER_ENTRY} PARENT_SCOPE)
|
||||
set(CHANNEL_STATIC_SERVER_ENTRIES ${CHANNEL_STATIC_SERVER_ENTRIES} ${${_channel_prefix}_SERVER_ENTRY}
|
||||
PARENT_SCOPE
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
endmacro(add_channel_server)
|
||||
|
||||
macro(add_channel_client_subsystem _channel_prefix _channel_name _subsystem _type)
|
||||
@ -165,79 +167,87 @@ macro(add_channel_client_subsystem _channel_prefix _channel_name _subsystem _typ
|
||||
endmacro(add_channel_client_subsystem)
|
||||
|
||||
macro(channel_install _targets _destination _export_target)
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
foreach(_target_name IN ITEMS ${_targets})
|
||||
target_include_directories(${_target_name} INTERFACE $<INSTALL_INTERFACE:include>)
|
||||
endforeach()
|
||||
install(TARGETS ${_targets} DESTINATION ${_destination} EXPORT ${_export_target})
|
||||
endif()
|
||||
if(NOT BUILD_SHARED_LIBS)
|
||||
foreach(_target_name IN ITEMS ${_targets})
|
||||
target_include_directories(${_target_name} INTERFACE $<INSTALL_INTERFACE:include>)
|
||||
endforeach()
|
||||
install(TARGETS ${_targets} DESTINATION ${_destination} EXPORT ${_export_target})
|
||||
endif()
|
||||
endmacro(channel_install)
|
||||
|
||||
macro(server_channel_install _targets _destination)
|
||||
channel_install(${_targets} ${_destination} "FreeRDP-ServerTargets")
|
||||
channel_install(${_targets} ${_destination} "FreeRDP-ServerTargets")
|
||||
endmacro(server_channel_install)
|
||||
|
||||
macro(client_channel_install _targets _destination)
|
||||
channel_install(${_targets} ${_destination} "FreeRDP-ClientTargets")
|
||||
channel_install(${_targets} ${_destination} "FreeRDP-ClientTargets")
|
||||
endmacro(client_channel_install)
|
||||
|
||||
macro(add_channel_client_library _module_prefix _module_name _channel_name _dynamic _entry)
|
||||
set(_lnk_dir ${${_module_prefix}_LINK_DIRS})
|
||||
if (NOT "${_lnk_dir}" STREQUAL "")
|
||||
if(NOT "${_lnk_dir}" STREQUAL "")
|
||||
link_directories(${_lnk_dir})
|
||||
endif()
|
||||
|
||||
set(${_module_prefix}_STATIC ON PARENT_SCOPE)
|
||||
set(${_module_prefix}_NAME ${_module_name} PARENT_SCOPE)
|
||||
set(${_module_prefix}_CHANNEL ${_channel_name} PARENT_SCOPE)
|
||||
set(${_module_prefix}_ENTRY ${_entry} PARENT_SCOPE)
|
||||
set(${_module_prefix}_STATIC ON PARENT_SCOPE)
|
||||
set(${_module_prefix}_NAME ${_module_name} PARENT_SCOPE)
|
||||
set(${_module_prefix}_CHANNEL ${_channel_name} PARENT_SCOPE)
|
||||
set(${_module_prefix}_ENTRY ${_entry} PARENT_SCOPE)
|
||||
|
||||
add_library(${_module_name} OBJECT ${${_module_prefix}_SRCS})
|
||||
set_property(TARGET ${_module_name} PROPERTY FOLDER "Channels/${CHANNEL_NAME}/Client")
|
||||
add_library(${_module_name} OBJECT ${${_module_prefix}_SRCS})
|
||||
set_property(TARGET ${_module_name} PROPERTY FOLDER "Channels/${CHANNEL_NAME}/Client")
|
||||
|
||||
if (${_module_prefix}_LIBS)
|
||||
target_link_libraries(${_module_name} PUBLIC ${${_module_prefix}_LIBS})
|
||||
endif()
|
||||
client_channel_install(${_module_name} ${FREERDP_ADDIN_PATH})
|
||||
if(${_module_prefix}_LIBS)
|
||||
target_link_libraries(${_module_name} PUBLIC ${${_module_prefix}_LIBS})
|
||||
endif()
|
||||
client_channel_install(${_module_name} ${FREERDP_ADDIN_PATH})
|
||||
endmacro(add_channel_client_library)
|
||||
|
||||
macro(add_channel_client_subsystem_library _module_prefix _module_name _channel_name _type _dynamic _entry)
|
||||
macro(
|
||||
add_channel_client_subsystem_library
|
||||
_module_prefix
|
||||
_module_name
|
||||
_channel_name
|
||||
_type
|
||||
_dynamic
|
||||
_entry
|
||||
)
|
||||
set(_lnk_dir ${${_module_prefix}_LINK_DIRS})
|
||||
if (NOT "${_lnk_dir}" STREQUAL "")
|
||||
if(NOT "${_lnk_dir}" STREQUAL "")
|
||||
link_directories(${_lnk_dir})
|
||||
endif()
|
||||
|
||||
set(${_module_prefix}_STATIC ON PARENT_SCOPE)
|
||||
set(${_module_prefix}_NAME ${_module_name} PARENT_SCOPE)
|
||||
set(${_module_prefix}_TYPE ${_type} PARENT_SCOPE)
|
||||
set(${_module_prefix}_STATIC ON PARENT_SCOPE)
|
||||
set(${_module_prefix}_NAME ${_module_name} PARENT_SCOPE)
|
||||
set(${_module_prefix}_TYPE ${_type} PARENT_SCOPE)
|
||||
|
||||
add_library(${_module_name} OBJECT ${${_module_prefix}_SRCS})
|
||||
set_property(TARGET ${_module_name} PROPERTY FOLDER "Channels/${_channel_name}/Client/Subsystem/${CHANNEL_SUBSYSTEM}")
|
||||
add_library(${_module_name} OBJECT ${${_module_prefix}_SRCS})
|
||||
set_property(TARGET ${_module_name} PROPERTY FOLDER "Channels/${_channel_name}/Client/Subsystem/${CHANNEL_SUBSYSTEM}")
|
||||
|
||||
if (${_module_prefix}_LIBS)
|
||||
target_link_libraries(${_module_name} PUBLIC ${${_module_prefix}_LIBS})
|
||||
endif()
|
||||
client_channel_install(${_module_name} ${FREERDP_ADDIN_PATH})
|
||||
if(${_module_prefix}_LIBS)
|
||||
target_link_libraries(${_module_name} PUBLIC ${${_module_prefix}_LIBS})
|
||||
endif()
|
||||
client_channel_install(${_module_name} ${FREERDP_ADDIN_PATH})
|
||||
endmacro(add_channel_client_subsystem_library)
|
||||
|
||||
macro(add_channel_server_library _module_prefix _module_name _channel_name _dynamic _entry)
|
||||
set(_lnk_dir ${${_module_prefix}_LINK_DIRS})
|
||||
if (NOT "${_lnk_dir}" STREQUAL "")
|
||||
if(NOT "${_lnk_dir}" STREQUAL "")
|
||||
link_directories(${_lnk_dir})
|
||||
endif()
|
||||
|
||||
set(${_module_prefix}_STATIC ON PARENT_SCOPE)
|
||||
set(${_module_prefix}_NAME ${_module_name} PARENT_SCOPE)
|
||||
set(${_module_prefix}_CHANNEL ${_channel_name} PARENT_SCOPE)
|
||||
set(${_module_prefix}_ENTRY ${_entry} PARENT_SCOPE)
|
||||
set(${_module_prefix}_STATIC ON PARENT_SCOPE)
|
||||
set(${_module_prefix}_NAME ${_module_name} PARENT_SCOPE)
|
||||
set(${_module_prefix}_CHANNEL ${_channel_name} PARENT_SCOPE)
|
||||
set(${_module_prefix}_ENTRY ${_entry} PARENT_SCOPE)
|
||||
|
||||
add_library(${_module_name} OBJECT ${${_module_prefix}_SRCS})
|
||||
set_property(TARGET ${_module_name} PROPERTY FOLDER "Channels/${CHANNEL_NAME}/Server")
|
||||
add_library(${_module_name} OBJECT ${${_module_prefix}_SRCS})
|
||||
set_property(TARGET ${_module_name} PROPERTY FOLDER "Channels/${CHANNEL_NAME}/Server")
|
||||
|
||||
if (${_module_prefix}_LIBS)
|
||||
target_link_libraries(${_module_name} PUBLIC ${${_module_prefix}_LIBS})
|
||||
endif()
|
||||
server_channel_install(${_module_name} ${FREERDP_ADDIN_PATH})
|
||||
if(${_module_prefix}_LIBS)
|
||||
target_link_libraries(${_module_name} PUBLIC ${${_module_prefix}_LIBS})
|
||||
endif()
|
||||
server_channel_install(${_module_name} ${FREERDP_ADDIN_PATH})
|
||||
endmacro(add_channel_server_library)
|
||||
|
||||
set(FILENAME "ChannelOptions.cmake")
|
||||
@ -254,7 +264,7 @@ foreach(FILEPATH ${FILEPATHS})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if (NOT "${DRDYNVC_MATCH}" STREQUAL "")
|
||||
if(NOT "${DRDYNVC_MATCH}" STREQUAL "")
|
||||
list(REMOVE_ITEM FILEPATHS ${DRDYNVC_MATCH})
|
||||
list(APPEND FILEPATHS ${DRDYNVC_MATCH})
|
||||
list(REVERSE FILEPATHS) # list PREPEND is not available on old CMake3
|
||||
@ -281,7 +291,7 @@ foreach(FILEPATH ${FILEPATHS})
|
||||
endif()
|
||||
endforeach(FILEPATH)
|
||||
|
||||
if (WITH_CHANNELS)
|
||||
if(WITH_CHANNELS)
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_subdirectory(client)
|
||||
set(FREERDP_CHANNELS_CLIENT_SRCS ${FREERDP_CHANNELS_CLIENT_SRCS} PARENT_SCOPE)
|
||||
|
@ -19,9 +19,9 @@
|
||||
define_channel("ainput")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
if(WITH_SERVER_CHANNELS)
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
@ -1,13 +1,19 @@
|
||||
|
||||
set(OPTION_DEFAULT OFF)
|
||||
set(OPTION_CLIENT_DEFAULT ON)
|
||||
set(OPTION_SERVER_DEFAULT ON)
|
||||
|
||||
define_channel_options(NAME "ainput" TYPE "dynamic"
|
||||
DESCRIPTION "Advanced Input Virtual Channel Extension"
|
||||
SPECIFICATIONS "[XXXXX]"
|
||||
DEFAULT ${OPTION_DEFAULT})
|
||||
define_channel_options(
|
||||
NAME
|
||||
"ainput"
|
||||
TYPE
|
||||
"dynamic"
|
||||
DESCRIPTION
|
||||
"Advanced Input Virtual Channel Extension"
|
||||
SPECIFICATIONS
|
||||
"[XXXXX]"
|
||||
DEFAULT
|
||||
${OPTION_DEFAULT}
|
||||
)
|
||||
|
||||
define_channel_client_options(${OPTION_CLIENT_DEFAULT})
|
||||
define_channel_server_options(${OPTION_SERVER_DEFAULT})
|
||||
|
||||
|
@ -18,14 +18,9 @@
|
||||
|
||||
define_channel_client("ainput")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
ainput_main.c
|
||||
ainput_main.h
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS ainput_main.c ainput_main.h)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr)
|
||||
|
||||
include_directories(..)
|
||||
|
||||
|
@ -18,11 +18,7 @@
|
||||
|
||||
define_channel_server("ainput")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
ainput_main.c
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS ainput_main.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
freerdp
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS freerdp)
|
||||
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "DVCPluginEntry")
|
||||
|
@ -18,9 +18,9 @@
|
||||
define_channel("audin")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
if(WITH_SERVER_CHANNELS)
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
@ -1,17 +1,23 @@
|
||||
|
||||
set(OPTION_DEFAULT OFF)
|
||||
set(OPTION_CLIENT_DEFAULT ON)
|
||||
set(OPTION_SERVER_DEFAULT ON)
|
||||
|
||||
if(ANDROID)
|
||||
set(OPTION_SERVER_DEFAULT OFF)
|
||||
set(OPTION_SERVER_DEFAULT OFF)
|
||||
endif()
|
||||
|
||||
define_channel_options(NAME "audin" TYPE "dynamic"
|
||||
DESCRIPTION "Audio Input Redirection Virtual Channel Extension"
|
||||
SPECIFICATIONS "[MS-RDPEAI]"
|
||||
DEFAULT ${OPTION_DEFAULT})
|
||||
define_channel_options(
|
||||
NAME
|
||||
"audin"
|
||||
TYPE
|
||||
"dynamic"
|
||||
DESCRIPTION
|
||||
"Audio Input Redirection Virtual Channel Extension"
|
||||
SPECIFICATIONS
|
||||
"[MS-RDPEAI]"
|
||||
DEFAULT
|
||||
${OPTION_DEFAULT}
|
||||
)
|
||||
|
||||
define_channel_client_options(${OPTION_CLIENT_DEFAULT})
|
||||
define_channel_server_options(${OPTION_SERVER_DEFAULT})
|
||||
|
||||
|
@ -17,47 +17,42 @@
|
||||
|
||||
define_channel_client("audin")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
audin_main.c
|
||||
audin_main.h
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS audin_main.c audin_main.h)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
freerdp winpr
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS freerdp winpr)
|
||||
|
||||
include_directories(..)
|
||||
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry")
|
||||
|
||||
if(WITH_OSS)
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "oss" "")
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "oss" "")
|
||||
endif()
|
||||
|
||||
if(WITH_ALSA)
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "alsa" "")
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "alsa" "")
|
||||
endif()
|
||||
|
||||
if(WITH_PULSE)
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "pulse" "")
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "pulse" "")
|
||||
endif()
|
||||
|
||||
if(WITH_OPENSLES)
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "opensles" "")
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "opensles" "")
|
||||
endif()
|
||||
|
||||
if(WITH_WINMM)
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "winmm" "")
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "winmm" "")
|
||||
endif()
|
||||
|
||||
if(WITH_MACAUDIO)
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "mac" "")
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "mac" "")
|
||||
endif()
|
||||
|
||||
if(WITH_SNDIO)
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "sndio" "")
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "sndio" "")
|
||||
endif()
|
||||
|
||||
if(WITH_IOSAUDIO)
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "ios" "")
|
||||
endif()
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "ios" "")
|
||||
endif()
|
||||
|
@ -19,15 +19,9 @@ define_channel_client_subsystem("audin" "alsa" "")
|
||||
|
||||
find_package(ALSA REQUIRED)
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
audin_alsa.c
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS audin_alsa.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr
|
||||
freerdp
|
||||
${ALSA_LIBRARIES}
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr freerdp ${ALSA_LIBRARIES})
|
||||
|
||||
include_directories(..)
|
||||
include_directories(SYSTEM ${ALSA_INCLUDE_DIRS})
|
||||
|
@ -1,37 +1,29 @@
|
||||
# FreeRDP: A Remote Desktop Protocol Implementation
|
||||
# FreeRDP cmake build script
|
||||
#
|
||||
# Copyright (c) 2015 Armin Novak <armin.novak@thincast.com>
|
||||
# Copyright (c) 2015 Thincast Technologies GmbH
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
# FreeRDP cmake build script
|
||||
#
|
||||
# Copyright (c) 2015 Armin Novak <armin.novak@thincast.com>
|
||||
# Copyright (c) 2015 Thincast Technologies GmbH
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
define_channel_client_subsystem("audin" "ios" "")
|
||||
FIND_LIBRARY(CORE_AUDIO CoreAudio)
|
||||
FIND_LIBRARY(AVFOUNDATION AVFoundation)
|
||||
FIND_LIBRARY(AUDIO_TOOL AudioToolbox)
|
||||
define_channel_client_subsystem("audin" "ios" "")
|
||||
find_library(CORE_AUDIO CoreAudio)
|
||||
find_library(AVFOUNDATION AVFoundation)
|
||||
find_library(AUDIO_TOOL AudioToolbox)
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
audin_ios.m
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS audin_ios.m)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr
|
||||
freerdp
|
||||
${AVFOUNDATION}
|
||||
${CORE_AUDIO}
|
||||
${AUDIO_TOOL}
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr freerdp ${AVFOUNDATION} ${CORE_AUDIO} ${AUDIO_TOOL})
|
||||
|
||||
include_directories(..)
|
||||
include_directories(SYSTEM ${MAC_INCLUDE_DIRS})
|
||||
|
@ -17,23 +17,14 @@
|
||||
# limitations under the License.
|
||||
|
||||
define_channel_client_subsystem("audin" "mac" "")
|
||||
FIND_LIBRARY(CORE_AUDIO CoreAudio)
|
||||
FIND_LIBRARY(AVFOUNDATION AVFoundation)
|
||||
FIND_LIBRARY(AUDIO_TOOL AudioToolbox)
|
||||
FIND_LIBRARY(APP_SERVICES ApplicationServices)
|
||||
find_library(CORE_AUDIO CoreAudio)
|
||||
find_library(AVFOUNDATION AVFoundation)
|
||||
find_library(AUDIO_TOOL AudioToolbox)
|
||||
find_library(APP_SERVICES ApplicationServices)
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
audin_mac.m
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS audin_mac.m)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr
|
||||
freerdp
|
||||
${AVFOUNDATION}
|
||||
${CORE_AUDIO}
|
||||
${AUDIO_TOOL}
|
||||
${APP_SERVICES}
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr freerdp ${AVFOUNDATION} ${CORE_AUDIO} ${AUDIO_TOOL} ${APP_SERVICES})
|
||||
|
||||
include_directories(..)
|
||||
include_directories(SYSTEM ${MAC_INCLUDE_DIRS})
|
||||
|
@ -19,16 +19,9 @@ define_channel_client_subsystem("audin" "opensles" "")
|
||||
|
||||
find_package(OpenSLES REQUIRED)
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
opensl_io.c
|
||||
audin_opensl_es.c
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS opensl_io.c audin_opensl_es.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr
|
||||
freerdp
|
||||
${OpenSLES_LIBRARIES}
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr freerdp ${OpenSLES_LIBRARIES})
|
||||
|
||||
include_directories(..)
|
||||
include_directories(SYSTEM ${OpenSLES_INCLUDE_DIRS})
|
||||
|
@ -19,24 +19,13 @@ define_channel_client_subsystem("audin" "oss" "")
|
||||
|
||||
find_package(OSS REQUIRED)
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
audin_oss.c
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS audin_oss.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr
|
||||
freerdp
|
||||
${OSS_LIBRARIES}
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr freerdp ${OSS_LIBRARIES})
|
||||
|
||||
include_directories(..)
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||
include_directories(SYSTEM ${OSS_INCLUDE_DIRS})
|
||||
cleaning_configure_file(
|
||||
${CMAKE_SOURCE_DIR}/cmake/oss-includes.h.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/oss-includes.h
|
||||
@ONLY
|
||||
)
|
||||
cleaning_configure_file(${CMAKE_SOURCE_DIR}/cmake/oss-includes.h.in ${CMAKE_CURRENT_BINARY_DIR}/oss-includes.h @ONLY)
|
||||
|
||||
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
|
||||
|
||||
|
@ -19,15 +19,9 @@ define_channel_client_subsystem("audin" "pulse" "")
|
||||
|
||||
find_package(PulseAudio REQUIRED)
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
audin_pulse.c)
|
||||
set(${MODULE_PREFIX}_SRCS audin_pulse.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr
|
||||
freerdp
|
||||
${PULSEAUDIO_LIBRARY}
|
||||
${PULSEAUDIO_MAINLOOP_LIBRARY}
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr freerdp ${PULSEAUDIO_LIBRARY} ${PULSEAUDIO_MAINLOOP_LIBRARY})
|
||||
|
||||
include_directories(..)
|
||||
include_directories(SYSTEM ${PULSEAUDIO_INCLUDE_DIR})
|
||||
|
@ -20,17 +20,11 @@ define_channel_client_subsystem("audin" "sndio" "")
|
||||
|
||||
find_package(SNDIO REQUIRED)
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
audin_sndio.c)
|
||||
set(${MODULE_PREFIX}_SRCS audin_sndio.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr
|
||||
freerdp
|
||||
${SNDIO_LIBRARIES}
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr freerdp ${SNDIO_LIBRARIES})
|
||||
|
||||
include_directories(..)
|
||||
include_directories(SYSTEM ${SNDIO_INCLUDE_DIRS})
|
||||
|
||||
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
|
||||
|
||||
|
@ -17,14 +17,9 @@
|
||||
|
||||
define_channel_client_subsystem("audin" "winmm" "")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
audin_winmm.c)
|
||||
set(${MODULE_PREFIX}_SRCS audin_winmm.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr
|
||||
freerdp
|
||||
winmm.lib
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr freerdp winmm.lib)
|
||||
|
||||
include_directories(..)
|
||||
|
||||
|
@ -17,11 +17,7 @@
|
||||
|
||||
define_channel_server("audin")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
audin.c
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS audin.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
freerdp
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS freerdp)
|
||||
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "DVCPluginEntry")
|
||||
|
@ -21,71 +21,75 @@ set(MODULE_NAME "freerdp-channels-client")
|
||||
set(MODULE_PREFIX "FREERDP_CHANNELS_CLIENT")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
${CMAKE_CURRENT_BINARY_DIR}/tables.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/tables.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/addin.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/addin.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/generic_dynvc.c)
|
||||
${CMAKE_CURRENT_BINARY_DIR}/tables.c ${CMAKE_CURRENT_SOURCE_DIR}/tables.h ${CMAKE_CURRENT_SOURCE_DIR}/addin.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/addin.h ${CMAKE_CURRENT_SOURCE_DIR}/generic_dynvc.c
|
||||
)
|
||||
|
||||
if(CHANNEL_STATIC_CLIENT_ENTRIES)
|
||||
list(REMOVE_DUPLICATES CHANNEL_STATIC_CLIENT_ENTRIES)
|
||||
list(REMOVE_DUPLICATES CHANNEL_STATIC_CLIENT_ENTRIES)
|
||||
endif()
|
||||
|
||||
foreach(STATIC_ENTRY ${CHANNEL_STATIC_CLIENT_ENTRIES})
|
||||
foreach(STATIC_MODULE ${CHANNEL_STATIC_CLIENT_MODULES})
|
||||
foreach(ENTRY ${${STATIC_MODULE}_CLIENT_ENTRY})
|
||||
if(${ENTRY} STREQUAL ${STATIC_ENTRY})
|
||||
set(STATIC_MODULE_NAME ${${STATIC_MODULE}_CLIENT_NAME})
|
||||
set(STATIC_MODULE_CHANNEL ${${STATIC_MODULE}_CLIENT_CHANNEL})
|
||||
list(APPEND ${MODULE_PREFIX}_LIBS ${STATIC_MODULE_NAME})
|
||||
foreach(STATIC_MODULE ${CHANNEL_STATIC_CLIENT_MODULES})
|
||||
foreach(ENTRY ${${STATIC_MODULE}_CLIENT_ENTRY})
|
||||
if(${ENTRY} STREQUAL ${STATIC_ENTRY})
|
||||
set(STATIC_MODULE_NAME ${${STATIC_MODULE}_CLIENT_NAME})
|
||||
set(STATIC_MODULE_CHANNEL ${${STATIC_MODULE}_CLIENT_CHANNEL})
|
||||
list(APPEND ${MODULE_PREFIX}_LIBS ${STATIC_MODULE_NAME})
|
||||
|
||||
set(ENTRY_POINT_NAME "${STATIC_MODULE_CHANNEL}_${ENTRY}")
|
||||
if(${ENTRY} STREQUAL "VirtualChannelEntry")
|
||||
set(ENTRY_POINT_IMPORT "extern BOOL VCAPITYPE ${ENTRY_POINT_NAME}(PCHANNEL_ENTRY_POINTS);")
|
||||
elseif(${ENTRY} STREQUAL "VirtualChannelEntryEx")
|
||||
set(ENTRY_POINT_IMPORT "extern BOOL VCAPITYPE ${ENTRY_POINT_NAME}(PCHANNEL_ENTRY_POINTS,PVOID);")
|
||||
elseif(${ENTRY} MATCHES "DVCPluginEntry$")
|
||||
set(ENTRY_POINT_IMPORT "extern UINT VCAPITYPE ${ENTRY_POINT_NAME}(IDRDYNVC_ENTRY_POINTS* pEntryPoints);")
|
||||
elseif(${ENTRY} MATCHES "DeviceServiceEntry$")
|
||||
set(ENTRY_POINT_IMPORT "extern UINT VCAPITYPE ${ENTRY_POINT_NAME}(PDEVICE_SERVICE_ENTRY_POINTS pEntryPoints);")
|
||||
else()
|
||||
set(ENTRY_POINT_IMPORT "extern UINT VCAPITYPE ${ENTRY_POINT_NAME}(void);")
|
||||
endif()
|
||||
set(ENTRY_POINT_NAME "${STATIC_MODULE_CHANNEL}_${ENTRY}")
|
||||
if(${ENTRY} STREQUAL "VirtualChannelEntry")
|
||||
set(ENTRY_POINT_IMPORT "extern BOOL VCAPITYPE ${ENTRY_POINT_NAME}(PCHANNEL_ENTRY_POINTS);")
|
||||
elseif(${ENTRY} STREQUAL "VirtualChannelEntryEx")
|
||||
set(ENTRY_POINT_IMPORT "extern BOOL VCAPITYPE ${ENTRY_POINT_NAME}(PCHANNEL_ENTRY_POINTS,PVOID);")
|
||||
elseif(${ENTRY} MATCHES "DVCPluginEntry$")
|
||||
set(ENTRY_POINT_IMPORT "extern UINT VCAPITYPE ${ENTRY_POINT_NAME}(IDRDYNVC_ENTRY_POINTS* pEntryPoints);")
|
||||
elseif(${ENTRY} MATCHES "DeviceServiceEntry$")
|
||||
set(ENTRY_POINT_IMPORT
|
||||
"extern UINT VCAPITYPE ${ENTRY_POINT_NAME}(PDEVICE_SERVICE_ENTRY_POINTS pEntryPoints);"
|
||||
)
|
||||
else()
|
||||
set(ENTRY_POINT_IMPORT "extern UINT VCAPITYPE ${ENTRY_POINT_NAME}(void);")
|
||||
endif()
|
||||
|
||||
string(APPEND ${STATIC_ENTRY}_IMPORTS "\n${ENTRY_POINT_IMPORT}")
|
||||
string(APPEND ${STATIC_ENTRY}_TABLE "\n\t{ \"${STATIC_MODULE_CHANNEL}\", ${ENTRY_POINT_NAME} },")
|
||||
endif()
|
||||
endforeach()
|
||||
endforeach()
|
||||
string(APPEND ${STATIC_ENTRY}_IMPORTS "\n${ENTRY_POINT_IMPORT}")
|
||||
string(APPEND ${STATIC_ENTRY}_TABLE "\n\t{ \"${STATIC_MODULE_CHANNEL}\", ${ENTRY_POINT_NAME} },")
|
||||
endif()
|
||||
endforeach()
|
||||
endforeach()
|
||||
endforeach()
|
||||
|
||||
string(APPEND CLIENT_STATIC_ENTRY_TABLES_LIST "\nextern const STATIC_ENTRY_TABLE CLIENT_STATIC_ENTRY_TABLES[];\n")
|
||||
string(APPEND CLIENT_STATIC_ENTRY_TABLES_LIST "const STATIC_ENTRY_TABLE CLIENT_STATIC_ENTRY_TABLES[] =\n{")
|
||||
|
||||
foreach(STATIC_ENTRY ${CHANNEL_STATIC_CLIENT_ENTRIES})
|
||||
set(CLIENT_STATIC_ENTRY_IMPORTS "${CLIENT_STATIC_ENTRY_IMPORTS}\n${${STATIC_ENTRY}_IMPORTS}")
|
||||
if(${STATIC_ENTRY} STREQUAL "VirtualChannelEntry")
|
||||
set(CLIENT_STATIC_ENTRY_TYPE "STATIC_ENTRY_VC")
|
||||
set(CLIENT_STATIC_ENTRY_INITIALIZER ".csevc")
|
||||
elseif(${STATIC_ENTRY} STREQUAL "VirtualChannelEntryEx")
|
||||
set(CLIENT_STATIC_ENTRY_TYPE "STATIC_ENTRY_VCEX")
|
||||
set(CLIENT_STATIC_ENTRY_INITIALIZER ".csevcex")
|
||||
elseif(${STATIC_ENTRY} MATCHES "DVCPluginEntry$")
|
||||
set(CLIENT_STATIC_ENTRY_TYPE "STATIC_ENTRY_DVC")
|
||||
set(CLIENT_STATIC_ENTRY_INITIALIZER ".csedvc")
|
||||
elseif(${STATIC_ENTRY} MATCHES "DeviceServiceEntry$")
|
||||
set(CLIENT_STATIC_ENTRY_TYPE "STATIC_ENTRY_DSE")
|
||||
set(CLIENT_STATIC_ENTRY_INITIALIZER ".csedse")
|
||||
else()
|
||||
set(CLIENT_STATIC_ENTRY_TYPE "STATIC_ENTRY")
|
||||
set(CLIENT_STATIC_ENTRY_INITIALIZER ".cse")
|
||||
endif()
|
||||
set(CLIENT_STATIC_ENTRY_IMPORTS "${CLIENT_STATIC_ENTRY_IMPORTS}\n${${STATIC_ENTRY}_IMPORTS}")
|
||||
if(${STATIC_ENTRY} STREQUAL "VirtualChannelEntry")
|
||||
set(CLIENT_STATIC_ENTRY_TYPE "STATIC_ENTRY_VC")
|
||||
set(CLIENT_STATIC_ENTRY_INITIALIZER ".csevc")
|
||||
elseif(${STATIC_ENTRY} STREQUAL "VirtualChannelEntryEx")
|
||||
set(CLIENT_STATIC_ENTRY_TYPE "STATIC_ENTRY_VCEX")
|
||||
set(CLIENT_STATIC_ENTRY_INITIALIZER ".csevcex")
|
||||
elseif(${STATIC_ENTRY} MATCHES "DVCPluginEntry$")
|
||||
set(CLIENT_STATIC_ENTRY_TYPE "STATIC_ENTRY_DVC")
|
||||
set(CLIENT_STATIC_ENTRY_INITIALIZER ".csedvc")
|
||||
elseif(${STATIC_ENTRY} MATCHES "DeviceServiceEntry$")
|
||||
set(CLIENT_STATIC_ENTRY_TYPE "STATIC_ENTRY_DSE")
|
||||
set(CLIENT_STATIC_ENTRY_INITIALIZER ".csedse")
|
||||
else()
|
||||
set(CLIENT_STATIC_ENTRY_TYPE "STATIC_ENTRY")
|
||||
set(CLIENT_STATIC_ENTRY_INITIALIZER ".cse")
|
||||
endif()
|
||||
|
||||
string(APPEND CLIENT_STATIC_ENTRY_TABLES "\nextern const ${CLIENT_STATIC_ENTRY_TYPE} CLIENT_${STATIC_ENTRY}_TABLE[];\n")
|
||||
string(APPEND CLIENT_STATIC_ENTRY_TABLES "const ${CLIENT_STATIC_ENTRY_TYPE} CLIENT_${STATIC_ENTRY}_TABLE[] =\n{")
|
||||
string(APPEND CLIENT_STATIC_ENTRY_TABLES "\n${${STATIC_ENTRY}_TABLE}")
|
||||
string(APPEND CLIENT_STATIC_ENTRY_TABLES "\n\t{ NULL, NULL }\n};")
|
||||
string(APPEND CLIENT_STATIC_ENTRY_TABLES_LIST "\n\t{ \"${STATIC_ENTRY}\", { ${CLIENT_STATIC_ENTRY_INITIALIZER} = CLIENT_${STATIC_ENTRY}_TABLE } },")
|
||||
string(APPEND CLIENT_STATIC_ENTRY_TABLES
|
||||
"\nextern const ${CLIENT_STATIC_ENTRY_TYPE} CLIENT_${STATIC_ENTRY}_TABLE[];\n"
|
||||
)
|
||||
string(APPEND CLIENT_STATIC_ENTRY_TABLES "const ${CLIENT_STATIC_ENTRY_TYPE} CLIENT_${STATIC_ENTRY}_TABLE[] =\n{")
|
||||
string(APPEND CLIENT_STATIC_ENTRY_TABLES "\n${${STATIC_ENTRY}_TABLE}")
|
||||
string(APPEND CLIENT_STATIC_ENTRY_TABLES "\n\t{ NULL, NULL }\n};")
|
||||
string(APPEND CLIENT_STATIC_ENTRY_TABLES_LIST
|
||||
"\n\t{ \"${STATIC_ENTRY}\", { ${CLIENT_STATIC_ENTRY_INITIALIZER} = CLIENT_${STATIC_ENTRY}_TABLE } },"
|
||||
)
|
||||
endforeach()
|
||||
|
||||
string(APPEND CLIENT_STATIC_ENTRY_TABLES_LIST "\n\t{ NULL, { .cse = NULL } }\n};")
|
||||
@ -94,52 +98,62 @@ set(CLIENT_STATIC_ADDIN_TABLE "extern const STATIC_ADDIN_TABLE CLIENT_STATIC_ADD
|
||||
string(APPEND CLIENT_STATIC_ADDIN_TABLE "const STATIC_ADDIN_TABLE CLIENT_STATIC_ADDIN_TABLE[] =\n{")
|
||||
|
||||
foreach(STATIC_MODULE ${CHANNEL_STATIC_CLIENT_MODULES})
|
||||
set(STATIC_MODULE_NAME ${${STATIC_MODULE}_CLIENT_NAME})
|
||||
set(STATIC_MODULE_CHANNEL ${${STATIC_MODULE}_CLIENT_CHANNEL})
|
||||
string(TOUPPER "CLIENT_${STATIC_MODULE_CHANNEL}_SUBSYSTEM_TABLE" SUBSYSTEM_TABLE_NAME)
|
||||
set(SUBSYSTEM_TABLE "extern const STATIC_SUBSYSTEM_ENTRY ${SUBSYSTEM_TABLE_NAME}[];\nconst STATIC_SUBSYSTEM_ENTRY ${SUBSYSTEM_TABLE_NAME}[] =\n{")
|
||||
get_target_property(CHANNEL_SUBSYSTEMS ${STATIC_MODULE_NAME} SUBSYSTEMS)
|
||||
if(CHANNEL_SUBSYSTEMS MATCHES "NOTFOUND")
|
||||
set(CHANNEL_SUBSYSTEMS "")
|
||||
endif()
|
||||
foreach(STATIC_SUBSYSTEM ${CHANNEL_SUBSYSTEMS})
|
||||
if(${STATIC_SUBSYSTEM} MATCHES "^([^-]*)-(.*)")
|
||||
string(REGEX REPLACE "^([^-]*)-(.*)" "\\1" STATIC_SUBSYSTEM_NAME ${STATIC_SUBSYSTEM})
|
||||
string(REGEX REPLACE "^([^-]*)-(.*)" "\\2" STATIC_SUBSYSTEM_TYPE ${STATIC_SUBSYSTEM})
|
||||
else()
|
||||
set(STATIC_SUBSYSTEM_NAME "${STATIC_SUBSYSTEM}")
|
||||
set(STATIC_SUBSYSTEM_TYPE "")
|
||||
endif()
|
||||
string(LENGTH "${STATIC_SUBSYSTEM_TYPE}" _type_length)
|
||||
set(SUBSYSTEM_MODULE_NAME "${STATIC_MODULE_NAME}-${STATIC_SUBSYSTEM}")
|
||||
list(APPEND ${MODULE_PREFIX}_LIBS ${SUBSYSTEM_MODULE_NAME})
|
||||
if(_type_length GREATER 0)
|
||||
set(STATIC_SUBSYSTEM_ENTRY "${STATIC_SUBSYSTEM_NAME}_freerdp_${STATIC_MODULE_CHANNEL}_client_${STATIC_SUBSYSTEM_TYPE}_subsystem_entry")
|
||||
else()
|
||||
set(STATIC_SUBSYSTEM_ENTRY "${STATIC_SUBSYSTEM_NAME}_freerdp_${STATIC_MODULE_CHANNEL}_client_subsystem_entry")
|
||||
endif()
|
||||
string(APPEND SUBSYSTEM_TABLE "\n\t{ \"${STATIC_SUBSYSTEM_NAME}\", \"${STATIC_SUBSYSTEM_TYPE}\", ${STATIC_SUBSYSTEM_ENTRY} },")
|
||||
set(SUBSYSTEM_IMPORT "extern UINT VCAPITYPE ${STATIC_SUBSYSTEM_ENTRY}(void*);")
|
||||
string(APPEND CLIENT_STATIC_SUBSYSTEM_IMPORTS "\n${SUBSYSTEM_IMPORT}")
|
||||
endforeach()
|
||||
string(APPEND SUBSYSTEM_TABLE "\n\t{ NULL, NULL, NULL }\n};")
|
||||
string(APPEND CLIENT_STATIC_SUBSYSTEM_TABLES "\n${SUBSYSTEM_TABLE}")
|
||||
set(STATIC_MODULE_NAME ${${STATIC_MODULE}_CLIENT_NAME})
|
||||
set(STATIC_MODULE_CHANNEL ${${STATIC_MODULE}_CLIENT_CHANNEL})
|
||||
string(TOUPPER "CLIENT_${STATIC_MODULE_CHANNEL}_SUBSYSTEM_TABLE" SUBSYSTEM_TABLE_NAME)
|
||||
set(SUBSYSTEM_TABLE
|
||||
"extern const STATIC_SUBSYSTEM_ENTRY ${SUBSYSTEM_TABLE_NAME}[];\nconst STATIC_SUBSYSTEM_ENTRY ${SUBSYSTEM_TABLE_NAME}[] =\n{"
|
||||
)
|
||||
get_target_property(CHANNEL_SUBSYSTEMS ${STATIC_MODULE_NAME} SUBSYSTEMS)
|
||||
if(CHANNEL_SUBSYSTEMS MATCHES "NOTFOUND")
|
||||
set(CHANNEL_SUBSYSTEMS "")
|
||||
endif()
|
||||
foreach(STATIC_SUBSYSTEM ${CHANNEL_SUBSYSTEMS})
|
||||
if(${STATIC_SUBSYSTEM} MATCHES "^([^-]*)-(.*)")
|
||||
string(REGEX REPLACE "^([^-]*)-(.*)" "\\1" STATIC_SUBSYSTEM_NAME ${STATIC_SUBSYSTEM})
|
||||
string(REGEX REPLACE "^([^-]*)-(.*)" "\\2" STATIC_SUBSYSTEM_TYPE ${STATIC_SUBSYSTEM})
|
||||
else()
|
||||
set(STATIC_SUBSYSTEM_NAME "${STATIC_SUBSYSTEM}")
|
||||
set(STATIC_SUBSYSTEM_TYPE "")
|
||||
endif()
|
||||
string(LENGTH "${STATIC_SUBSYSTEM_TYPE}" _type_length)
|
||||
set(SUBSYSTEM_MODULE_NAME "${STATIC_MODULE_NAME}-${STATIC_SUBSYSTEM}")
|
||||
list(APPEND ${MODULE_PREFIX}_LIBS ${SUBSYSTEM_MODULE_NAME})
|
||||
if(_type_length GREATER 0)
|
||||
set(STATIC_SUBSYSTEM_ENTRY
|
||||
"${STATIC_SUBSYSTEM_NAME}_freerdp_${STATIC_MODULE_CHANNEL}_client_${STATIC_SUBSYSTEM_TYPE}_subsystem_entry"
|
||||
)
|
||||
else()
|
||||
set(STATIC_SUBSYSTEM_ENTRY "${STATIC_SUBSYSTEM_NAME}_freerdp_${STATIC_MODULE_CHANNEL}_client_subsystem_entry")
|
||||
endif()
|
||||
string(APPEND SUBSYSTEM_TABLE
|
||||
"\n\t{ \"${STATIC_SUBSYSTEM_NAME}\", \"${STATIC_SUBSYSTEM_TYPE}\", ${STATIC_SUBSYSTEM_ENTRY} },"
|
||||
)
|
||||
set(SUBSYSTEM_IMPORT "extern UINT VCAPITYPE ${STATIC_SUBSYSTEM_ENTRY}(void*);")
|
||||
string(APPEND CLIENT_STATIC_SUBSYSTEM_IMPORTS "\n${SUBSYSTEM_IMPORT}")
|
||||
endforeach()
|
||||
string(APPEND SUBSYSTEM_TABLE "\n\t{ NULL, NULL, NULL }\n};")
|
||||
string(APPEND CLIENT_STATIC_SUBSYSTEM_TABLES "\n${SUBSYSTEM_TABLE}")
|
||||
|
||||
foreach(ENTRY ${${STATIC_MODULE}_CLIENT_ENTRY})
|
||||
set (ENTRY_POINT_NAME ${STATIC_MODULE_CHANNEL}_${ENTRY})
|
||||
if(${ENTRY} STREQUAL "VirtualChannelEntry")
|
||||
set(ENTRY_INITIALIZER ".csevc")
|
||||
elseif(${ENTRY} STREQUAL "VirtualChannelEntryEx")
|
||||
set(ENTRY_INITIALIZER ".csevcex")
|
||||
elseif(${ENTRY} MATCHES "DVCPluginEntry$")
|
||||
set(ENTRY_INITIALIZER ".csedvc")
|
||||
elseif(${ENTRY} MATCHES "DeviceServiceEntry$")
|
||||
set(ENTRY_INITIALIZER ".csedse")
|
||||
else()
|
||||
set(ENTRY_INITIALIZER ".cse")
|
||||
endif()
|
||||
string(APPEND CLIENT_STATIC_ADDIN_TABLE "\n\t{ \"${STATIC_MODULE_CHANNEL}\", \"${ENTRY}\", { ${ENTRY_INITIALIZER} = ${ENTRY_POINT_NAME} }, ${SUBSYSTEM_TABLE_NAME} },")
|
||||
endforeach()
|
||||
foreach(ENTRY ${${STATIC_MODULE}_CLIENT_ENTRY})
|
||||
set(ENTRY_POINT_NAME ${STATIC_MODULE_CHANNEL}_${ENTRY})
|
||||
if(${ENTRY} STREQUAL "VirtualChannelEntry")
|
||||
set(ENTRY_INITIALIZER ".csevc")
|
||||
elseif(${ENTRY} STREQUAL "VirtualChannelEntryEx")
|
||||
set(ENTRY_INITIALIZER ".csevcex")
|
||||
elseif(${ENTRY} MATCHES "DVCPluginEntry$")
|
||||
set(ENTRY_INITIALIZER ".csedvc")
|
||||
elseif(${ENTRY} MATCHES "DeviceServiceEntry$")
|
||||
set(ENTRY_INITIALIZER ".csedse")
|
||||
else()
|
||||
set(ENTRY_INITIALIZER ".cse")
|
||||
endif()
|
||||
string(
|
||||
APPEND
|
||||
CLIENT_STATIC_ADDIN_TABLE
|
||||
"\n\t{ \"${STATIC_MODULE_CHANNEL}\", \"${ENTRY}\", { ${ENTRY_INITIALIZER} = ${ENTRY_POINT_NAME} }, ${SUBSYSTEM_TABLE_NAME} },"
|
||||
)
|
||||
endforeach()
|
||||
endforeach()
|
||||
string(APPEND CLIENT_STATIC_ADDIN_TABLE "\n\t{ NULL, NULL, { .cse = NULL }, NULL }\n};")
|
||||
|
||||
|
@ -18,9 +18,9 @@
|
||||
define_channel("cliprdr")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
if(WITH_SERVER_CHANNELS)
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
@ -1,13 +1,19 @@
|
||||
|
||||
set(OPTION_DEFAULT OFF)
|
||||
set(OPTION_CLIENT_DEFAULT ON)
|
||||
set(OPTION_SERVER_DEFAULT ON)
|
||||
|
||||
define_channel_options(NAME "cliprdr" TYPE "static"
|
||||
DESCRIPTION "Clipboard Virtual Channel Extension"
|
||||
SPECIFICATIONS "[MS-RDPECLIP]"
|
||||
DEFAULT ${OPTION_DEFAULT})
|
||||
define_channel_options(
|
||||
NAME
|
||||
"cliprdr"
|
||||
TYPE
|
||||
"static"
|
||||
DESCRIPTION
|
||||
"Clipboard Virtual Channel Extension"
|
||||
SPECIFICATIONS
|
||||
"[MS-RDPECLIP]"
|
||||
DEFAULT
|
||||
${OPTION_DEFAULT}
|
||||
)
|
||||
|
||||
define_channel_client_options(${OPTION_CLIENT_DEFAULT})
|
||||
define_channel_server_options(${OPTION_SERVER_DEFAULT})
|
||||
|
||||
|
@ -17,16 +17,9 @@
|
||||
|
||||
define_channel_client("cliprdr")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
cliprdr_format.c
|
||||
cliprdr_format.h
|
||||
cliprdr_main.c
|
||||
cliprdr_main.h
|
||||
../cliprdr_common.h
|
||||
../cliprdr_common.c
|
||||
set(${MODULE_PREFIX}_SRCS cliprdr_format.c cliprdr_format.h cliprdr_main.c cliprdr_main.h ../cliprdr_common.h
|
||||
../cliprdr_common.c
|
||||
)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr freerdp
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr freerdp)
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntryEx")
|
||||
|
@ -17,14 +17,7 @@
|
||||
|
||||
define_channel_server("cliprdr")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
cliprdr_main.c
|
||||
cliprdr_main.h
|
||||
../cliprdr_common.h
|
||||
../cliprdr_common.c
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS cliprdr_main.c cliprdr_main.h ../cliprdr_common.h ../cliprdr_common.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
freerdp
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS freerdp)
|
||||
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntry")
|
||||
|
@ -18,9 +18,9 @@
|
||||
define_channel("disp")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
|
||||
if(WITH_SERVER_CHANNELS)
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
@ -1,12 +1,19 @@
|
||||
|
||||
set(OPTION_DEFAULT OFF)
|
||||
set(OPTION_CLIENT_DEFAULT ON)
|
||||
set(OPTION_SERVER_DEFAULT ON)
|
||||
|
||||
define_channel_options(NAME "disp" TYPE "dynamic"
|
||||
DESCRIPTION "Display Update Virtual Channel Extension"
|
||||
SPECIFICATIONS "[MS-RDPEDISP]"
|
||||
DEFAULT ${OPTION_DEFAULT})
|
||||
define_channel_options(
|
||||
NAME
|
||||
"disp"
|
||||
TYPE
|
||||
"dynamic"
|
||||
DESCRIPTION
|
||||
"Display Update Virtual Channel Extension"
|
||||
SPECIFICATIONS
|
||||
"[MS-RDPEDISP]"
|
||||
DEFAULT
|
||||
${OPTION_DEFAULT}
|
||||
)
|
||||
|
||||
define_channel_client_options(${OPTION_CLIENT_DEFAULT})
|
||||
define_channel_server_options(${OPTION_SERVER_DEFAULT})
|
||||
|
@ -17,16 +17,9 @@
|
||||
|
||||
define_channel_client("disp")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
disp_main.c
|
||||
disp_main.h
|
||||
../disp_common.c
|
||||
../disp_common.h
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS disp_main.c disp_main.h ../disp_common.c ../disp_common.h)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr)
|
||||
include_directories(..)
|
||||
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry")
|
||||
|
@ -17,16 +17,9 @@
|
||||
|
||||
define_channel_server("disp")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
disp_main.c
|
||||
disp_main.h
|
||||
../disp_common.c
|
||||
../disp_common.h
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS disp_main.c disp_main.h ../disp_common.c ../disp_common.h)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
freerdp
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS freerdp)
|
||||
include_directories(..)
|
||||
|
||||
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "DVCPluginEntry")
|
||||
|
@ -18,9 +18,9 @@
|
||||
define_channel("drdynvc")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
if(WITH_SERVER_CHANNELS)
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
@ -1,13 +1,19 @@
|
||||
|
||||
set(OPTION_DEFAULT OFF)
|
||||
set(OPTION_CLIENT_DEFAULT ON)
|
||||
set(OPTION_SERVER_DEFAULT ON)
|
||||
|
||||
define_channel_options(NAME "drdynvc" TYPE "static"
|
||||
DESCRIPTION "Dynamic Virtual Channel Extension"
|
||||
SPECIFICATIONS "[MS-RDPEDYC]"
|
||||
DEFAULT ${OPTION_DEFAULT})
|
||||
define_channel_options(
|
||||
NAME
|
||||
"drdynvc"
|
||||
TYPE
|
||||
"static"
|
||||
DESCRIPTION
|
||||
"Dynamic Virtual Channel Extension"
|
||||
SPECIFICATIONS
|
||||
"[MS-RDPEDYC]"
|
||||
DEFAULT
|
||||
${OPTION_DEFAULT}
|
||||
)
|
||||
|
||||
define_channel_client_options(${OPTION_CLIENT_DEFAULT})
|
||||
define_channel_server_options(${OPTION_SERVER_DEFAULT})
|
||||
|
||||
|
@ -17,9 +17,6 @@
|
||||
|
||||
define_channel_client("drdynvc")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
drdynvc_main.c
|
||||
drdynvc_main.h
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS drdynvc_main.c drdynvc_main.h)
|
||||
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntryEx")
|
||||
|
@ -17,12 +17,7 @@
|
||||
|
||||
define_channel_server("drdynvc")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
drdynvc_main.c
|
||||
drdynvc_main.h
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS drdynvc_main.c drdynvc_main.h)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
freerdp
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS freerdp)
|
||||
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntry")
|
||||
|
@ -18,6 +18,5 @@
|
||||
define_channel("drive")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
|
@ -1,13 +1,19 @@
|
||||
|
||||
set(OPTION_DEFAULT OFF)
|
||||
set(OPTION_CLIENT_DEFAULT ON)
|
||||
set(OPTION_SERVER_DEFAULT OFF)
|
||||
|
||||
define_channel_options(NAME "drive" TYPE "device"
|
||||
DESCRIPTION "Drive Redirection Virtual Channel Extension"
|
||||
SPECIFICATIONS "[MS-RDPEFS]"
|
||||
DEFAULT ${OPTION_DEFAULT})
|
||||
define_channel_options(
|
||||
NAME
|
||||
"drive"
|
||||
TYPE
|
||||
"device"
|
||||
DESCRIPTION
|
||||
"Drive Redirection Virtual Channel Extension"
|
||||
SPECIFICATIONS
|
||||
"[MS-RDPEFS]"
|
||||
DEFAULT
|
||||
${OPTION_DEFAULT}
|
||||
)
|
||||
|
||||
define_channel_client_options(${OPTION_CLIENT_DEFAULT})
|
||||
define_channel_server_options(${OPTION_SERVER_DEFAULT})
|
||||
|
||||
|
@ -17,13 +17,7 @@
|
||||
|
||||
define_channel_client("drive")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
drive_file.c
|
||||
drive_file.h
|
||||
drive_main.c
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS drive_file.c drive_file.h drive_main.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr freerdp
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr freerdp)
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DeviceServiceEntry")
|
||||
|
@ -18,9 +18,9 @@
|
||||
define_channel("echo")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
if(WITH_SERVER_CHANNELS)
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
@ -1,13 +1,19 @@
|
||||
|
||||
set(OPTION_DEFAULT OFF)
|
||||
set(OPTION_CLIENT_DEFAULT ON)
|
||||
set(OPTION_SERVER_DEFAULT ON)
|
||||
|
||||
define_channel_options(NAME "echo" TYPE "dynamic"
|
||||
DESCRIPTION "Echo Virtual Channel Extension"
|
||||
SPECIFICATIONS "[MS-RDPEECO]"
|
||||
DEFAULT ${OPTION_DEFAULT})
|
||||
define_channel_options(
|
||||
NAME
|
||||
"echo"
|
||||
TYPE
|
||||
"dynamic"
|
||||
DESCRIPTION
|
||||
"Echo Virtual Channel Extension"
|
||||
SPECIFICATIONS
|
||||
"[MS-RDPEECO]"
|
||||
DEFAULT
|
||||
${OPTION_DEFAULT}
|
||||
)
|
||||
|
||||
define_channel_client_options(${OPTION_CLIENT_DEFAULT})
|
||||
define_channel_server_options(${OPTION_SERVER_DEFAULT})
|
||||
|
||||
|
@ -17,14 +17,9 @@
|
||||
|
||||
define_channel_client("echo")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
echo_main.c
|
||||
echo_main.h
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS echo_main.c echo_main.h)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr)
|
||||
include_directories(..)
|
||||
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry")
|
||||
|
@ -17,11 +17,7 @@
|
||||
|
||||
define_channel_server("echo")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
echo_main.c
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS echo_main.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
freerdp
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS freerdp)
|
||||
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "DVCPluginEntry")
|
||||
|
@ -18,9 +18,9 @@
|
||||
define_channel("encomsp")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
if(WITH_SERVER_CHANNELS)
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
@ -1,13 +1,19 @@
|
||||
|
||||
set(OPTION_DEFAULT OFF)
|
||||
set(OPTION_CLIENT_DEFAULT ON)
|
||||
set(OPTION_SERVER_DEFAULT ON)
|
||||
|
||||
define_channel_options(NAME "encomsp" TYPE "static"
|
||||
DESCRIPTION "Multiparty Virtual Channel Extension"
|
||||
SPECIFICATIONS "[MS-RDPEMC]"
|
||||
DEFAULT ${OPTION_DEFAULT})
|
||||
define_channel_options(
|
||||
NAME
|
||||
"encomsp"
|
||||
TYPE
|
||||
"static"
|
||||
DESCRIPTION
|
||||
"Multiparty Virtual Channel Extension"
|
||||
SPECIFICATIONS
|
||||
"[MS-RDPEMC]"
|
||||
DEFAULT
|
||||
${OPTION_DEFAULT}
|
||||
)
|
||||
|
||||
define_channel_client_options(${OPTION_CLIENT_DEFAULT})
|
||||
define_channel_server_options(${OPTION_SERVER_DEFAULT})
|
||||
|
||||
|
@ -19,9 +19,6 @@ define_channel_client("encomsp")
|
||||
|
||||
include_directories(..)
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
encomsp_main.c
|
||||
encomsp_main.h
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS encomsp_main.c encomsp_main.h)
|
||||
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntryEx")
|
||||
|
@ -19,12 +19,7 @@ define_channel_server("encomsp")
|
||||
|
||||
include_directories(..)
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
encomsp_main.c
|
||||
encomsp_main.h
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS encomsp_main.c encomsp_main.h)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr)
|
||||
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntry")
|
||||
|
@ -18,5 +18,5 @@
|
||||
define_channel("geometry")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
@ -1,11 +1,18 @@
|
||||
|
||||
set(OPTION_DEFAULT OFF)
|
||||
set(OPTION_CLIENT_DEFAULT ON)
|
||||
set(OPTION_SERVER_DEFAULT OFF)
|
||||
|
||||
define_channel_options(NAME "geometry" TYPE "dynamic"
|
||||
DESCRIPTION "Geometry tracking Virtual Channel Extension"
|
||||
SPECIFICATIONS "[MS-RDPEGT]"
|
||||
DEFAULT ${OPTION_DEFAULT})
|
||||
define_channel_options(
|
||||
NAME
|
||||
"geometry"
|
||||
TYPE
|
||||
"dynamic"
|
||||
DESCRIPTION
|
||||
"Geometry tracking Virtual Channel Extension"
|
||||
SPECIFICATIONS
|
||||
"[MS-RDPEGT]"
|
||||
DEFAULT
|
||||
${OPTION_DEFAULT}
|
||||
)
|
||||
|
||||
define_channel_client_options(${OPTION_CLIENT_DEFAULT})
|
||||
|
@ -17,14 +17,9 @@
|
||||
|
||||
define_channel_client("geometry")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
geometry_main.c
|
||||
geometry_main.h
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS geometry_main.c geometry_main.h)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr)
|
||||
|
||||
include_directories(..)
|
||||
|
||||
|
@ -16,8 +16,8 @@
|
||||
# limitations under the License.
|
||||
|
||||
if(WITH_CHANNEL_GFXREDIR)
|
||||
define_channel("gfxredir")
|
||||
if(WITH_SERVER_CHANNELS)
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
define_channel("gfxredir")
|
||||
if(WITH_SERVER_CHANNELS)
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
endif()
|
||||
|
@ -1,12 +1,20 @@
|
||||
if(WITH_CHANNEL_GFXREDIR)
|
||||
set(OPTION_DEFAULT OFF)
|
||||
set(OPTION_CLIENT_DEFAULT OFF)
|
||||
set(OPTION_SERVER_DEFAULT ON)
|
||||
set(OPTION_DEFAULT OFF)
|
||||
set(OPTION_CLIENT_DEFAULT OFF)
|
||||
set(OPTION_SERVER_DEFAULT ON)
|
||||
|
||||
define_channel_options(NAME "gfxredir" TYPE "dynamic"
|
||||
DESCRIPTION "Graphics Redirection Virtual Channel Extension"
|
||||
SPECIFICATIONS "[MS-RDPXXXX]"
|
||||
DEFAULT ${OPTION_DEFAULT})
|
||||
define_channel_options(
|
||||
NAME
|
||||
"gfxredir"
|
||||
TYPE
|
||||
"dynamic"
|
||||
DESCRIPTION
|
||||
"Graphics Redirection Virtual Channel Extension"
|
||||
SPECIFICATIONS
|
||||
"[MS-RDPXXXX]"
|
||||
DEFAULT
|
||||
${OPTION_DEFAULT}
|
||||
)
|
||||
|
||||
define_channel_server_options(${OPTION_SERVER_DEFAULT})
|
||||
define_channel_server_options(${OPTION_SERVER_DEFAULT})
|
||||
endif()
|
||||
|
@ -17,16 +17,9 @@
|
||||
|
||||
define_channel_server("gfxredir")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
gfxredir_main.c
|
||||
gfxredir_main.h
|
||||
../gfxredir_common.c
|
||||
../gfxredir_common.h
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS gfxredir_main.c gfxredir_main.h ../gfxredir_common.c ../gfxredir_common.h)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
freerdp
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS freerdp)
|
||||
include_directories(..)
|
||||
|
||||
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "DVCPluginEntry")
|
||||
|
@ -18,9 +18,9 @@
|
||||
define_channel("location")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
if(WITH_SERVER_CHANNELS)
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
@ -1,13 +1,19 @@
|
||||
|
||||
set(OPTION_DEFAULT ON)
|
||||
set(OPTION_CLIENT_DEFAULT ON)
|
||||
set(OPTION_SERVER_DEFAULT ON)
|
||||
|
||||
define_channel_options(NAME "location" TYPE "dynamic"
|
||||
DESCRIPTION "Location Virtual Channel Extension"
|
||||
SPECIFICATIONS "[MS-RDPEL]"
|
||||
DEFAULT ${OPTION_DEFAULT})
|
||||
define_channel_options(
|
||||
NAME
|
||||
"location"
|
||||
TYPE
|
||||
"dynamic"
|
||||
DESCRIPTION
|
||||
"Location Virtual Channel Extension"
|
||||
SPECIFICATIONS
|
||||
"[MS-RDPEL]"
|
||||
DEFAULT
|
||||
${OPTION_DEFAULT}
|
||||
)
|
||||
|
||||
define_channel_client_options(${OPTION_CLIENT_DEFAULT})
|
||||
define_channel_server_options(${OPTION_SERVER_DEFAULT})
|
||||
|
||||
|
@ -18,13 +18,9 @@
|
||||
|
||||
define_channel_client("location")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
location_main.c
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS location_main.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr)
|
||||
include_directories(..)
|
||||
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry")
|
||||
|
@ -17,12 +17,8 @@
|
||||
|
||||
define_channel_server("location")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
location_main.c
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS location_main.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
freerdp
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS freerdp)
|
||||
|
||||
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "DVCPluginEntry")
|
||||
|
@ -18,5 +18,5 @@
|
||||
define_channel("parallel")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
@ -1,31 +1,37 @@
|
||||
|
||||
set(OPTION_DEFAULT OFF)
|
||||
set(OPTION_CLIENT_DEFAULT ON)
|
||||
set(OPTION_SERVER_DEFAULT OFF)
|
||||
|
||||
if(WIN32)
|
||||
set(OPTION_CLIENT_DEFAULT OFF)
|
||||
set(OPTION_SERVER_DEFAULT OFF)
|
||||
message("Serial redirection not supported on windows")
|
||||
set(OPTION_CLIENT_DEFAULT OFF)
|
||||
set(OPTION_SERVER_DEFAULT OFF)
|
||||
message("Serial redirection not supported on windows")
|
||||
endif()
|
||||
|
||||
if(APPLE)
|
||||
set(OPTION_CLIENT_DEFAULT OFF)
|
||||
set(OPTION_SERVER_DEFAULT OFF)
|
||||
message("Serial redirection not supported on apple")
|
||||
set(OPTION_CLIENT_DEFAULT OFF)
|
||||
set(OPTION_SERVER_DEFAULT OFF)
|
||||
message("Serial redirection not supported on apple")
|
||||
endif()
|
||||
|
||||
if(ANDROID)
|
||||
set(OPTION_CLIENT_DEFAULT OFF)
|
||||
set(OPTION_SERVER_DEFAULT OFF)
|
||||
message("Serial redirection not supported on android")
|
||||
set(OPTION_CLIENT_DEFAULT OFF)
|
||||
set(OPTION_SERVER_DEFAULT OFF)
|
||||
message("Serial redirection not supported on android")
|
||||
endif()
|
||||
|
||||
define_channel_options(NAME "parallel" TYPE "device"
|
||||
DESCRIPTION "Parallel Port Virtual Channel Extension"
|
||||
SPECIFICATIONS "[MS-RDPESP]"
|
||||
DEFAULT ${OPTION_DEFAULT})
|
||||
define_channel_options(
|
||||
NAME
|
||||
"parallel"
|
||||
TYPE
|
||||
"device"
|
||||
DESCRIPTION
|
||||
"Parallel Port Virtual Channel Extension"
|
||||
SPECIFICATIONS
|
||||
"[MS-RDPESP]"
|
||||
DEFAULT
|
||||
${OPTION_DEFAULT}
|
||||
)
|
||||
|
||||
define_channel_client_options(${OPTION_CLIENT_DEFAULT})
|
||||
define_channel_server_options(${OPTION_SERVER_DEFAULT})
|
||||
|
||||
|
@ -17,11 +17,7 @@
|
||||
|
||||
define_channel_client("parallel")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
parallel_main.c
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS parallel_main.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr freerdp
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr freerdp)
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DeviceServiceEntry")
|
||||
|
@ -18,5 +18,5 @@
|
||||
define_channel("printer")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
@ -1,33 +1,39 @@
|
||||
|
||||
set(OPTION_DEFAULT OFF)
|
||||
set(OPTION_CLIENT_DEFAULT ON)
|
||||
set(OPTION_SERVER_DEFAULT OFF)
|
||||
|
||||
if(WIN32)
|
||||
set(OPTION_CLIENT_DEFAULT ON)
|
||||
set(OPTION_SERVER_DEFAULT OFF)
|
||||
set(OPTION_CLIENT_DEFAULT ON)
|
||||
set(OPTION_SERVER_DEFAULT OFF)
|
||||
else()
|
||||
# cups is available on mac os and linux by default, on android it is optional.
|
||||
if (NOT IOS AND NOT ANDROID)
|
||||
set(CUPS_DEFAULT ON)
|
||||
else()
|
||||
set(CUPS_DEFAULT OFF)
|
||||
endif()
|
||||
option(WITH_CUPS "CUPS printer support" ${CUPS_DEFAULT})
|
||||
if(WITH_CUPS)
|
||||
set(OPTION_CLIENT_DEFAULT ON)
|
||||
set(OPTION_SERVER_DEFAULT OFF)
|
||||
else()
|
||||
set(OPTION_CLIENT_DEFAULT OFF)
|
||||
set(OPTION_SERVER_DEFAULT OFF)
|
||||
endif()
|
||||
# cups is available on mac os and linux by default, on android it is optional.
|
||||
if(NOT IOS AND NOT ANDROID)
|
||||
set(CUPS_DEFAULT ON)
|
||||
else()
|
||||
set(CUPS_DEFAULT OFF)
|
||||
endif()
|
||||
option(WITH_CUPS "CUPS printer support" ${CUPS_DEFAULT})
|
||||
if(WITH_CUPS)
|
||||
set(OPTION_CLIENT_DEFAULT ON)
|
||||
set(OPTION_SERVER_DEFAULT OFF)
|
||||
else()
|
||||
set(OPTION_CLIENT_DEFAULT OFF)
|
||||
set(OPTION_SERVER_DEFAULT OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
define_channel_options(NAME "printer" TYPE "device"
|
||||
DESCRIPTION "Print Virtual Channel Extension"
|
||||
SPECIFICATIONS "[MS-RDPEPC]"
|
||||
DEFAULT ${OPTION_DEFAULT})
|
||||
define_channel_options(
|
||||
NAME
|
||||
"printer"
|
||||
TYPE
|
||||
"device"
|
||||
DESCRIPTION
|
||||
"Print Virtual Channel Extension"
|
||||
SPECIFICATIONS
|
||||
"[MS-RDPEPC]"
|
||||
DEFAULT
|
||||
${OPTION_DEFAULT}
|
||||
)
|
||||
|
||||
define_channel_client_options(${OPTION_CLIENT_DEFAULT})
|
||||
define_channel_server_options(${OPTION_SERVER_DEFAULT})
|
||||
|
||||
|
@ -17,19 +17,15 @@
|
||||
|
||||
define_channel_client("printer")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
printer_main.c
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS printer_main.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr freerdp
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr freerdp)
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DeviceServiceEntry")
|
||||
|
||||
if(WITH_CUPS)
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "cups" "")
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "cups" "")
|
||||
endif()
|
||||
|
||||
if(WIN32 AND NOT UWP)
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "win" "")
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "win" "")
|
||||
endif()
|
||||
|
@ -18,14 +18,9 @@
|
||||
define_channel_client_subsystem("printer" "cups" "")
|
||||
|
||||
find_package(Cups 2.0 REQUIRED)
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
printer_cups.c)
|
||||
set(${MODULE_PREFIX}_SRCS printer_cups.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr
|
||||
freerdp
|
||||
${CUPS_LIBRARIES}
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr freerdp ${CUPS_LIBRARIES})
|
||||
|
||||
include_directories(..)
|
||||
include_directories(SYSTEM ${CUPS_INCLUDE_DIRS})
|
||||
|
@ -17,13 +17,9 @@
|
||||
# limitations under the License.
|
||||
define_channel_client_subsystem("printer" "win" "")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
printer_win.c)
|
||||
set(${MODULE_PREFIX}_SRCS printer_win.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr
|
||||
freerdp
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr freerdp)
|
||||
|
||||
include_directories(..)
|
||||
|
||||
|
@ -18,9 +18,9 @@
|
||||
define_channel("rail")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
if(WITH_SERVER_CHANNELS)
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
@ -1,13 +1,19 @@
|
||||
|
||||
set(OPTION_DEFAULT OFF)
|
||||
set(OPTION_CLIENT_DEFAULT ON)
|
||||
set(OPTION_SERVER_DEFAULT ON)
|
||||
|
||||
define_channel_options(NAME "rail" TYPE "static"
|
||||
DESCRIPTION "Remote Programs Virtual Channel Extension"
|
||||
SPECIFICATIONS "[MS-RDPERP]"
|
||||
DEFAULT ${OPTION_DEFAULT})
|
||||
define_channel_options(
|
||||
NAME
|
||||
"rail"
|
||||
TYPE
|
||||
"static"
|
||||
DESCRIPTION
|
||||
"Remote Programs Virtual Channel Extension"
|
||||
SPECIFICATIONS
|
||||
"[MS-RDPERP]"
|
||||
DEFAULT
|
||||
${OPTION_DEFAULT}
|
||||
)
|
||||
|
||||
define_channel_client_options(${OPTION_CLIENT_DEFAULT})
|
||||
define_channel_server_options(${OPTION_SERVER_DEFAULT})
|
||||
|
||||
|
@ -18,16 +18,14 @@
|
||||
define_channel_client("rail")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
../rail_common.h
|
||||
../rail_common.c
|
||||
client_rails.c
|
||||
rail_main.c
|
||||
rail_main.h
|
||||
rail_orders.c
|
||||
rail_orders.h
|
||||
../rail_common.h
|
||||
../rail_common.c
|
||||
client_rails.c
|
||||
rail_main.c
|
||||
rail_main.h
|
||||
rail_orders.c
|
||||
rail_orders.h
|
||||
)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
freerdp
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS freerdp)
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntryEx")
|
||||
|
@ -17,16 +17,9 @@
|
||||
|
||||
define_channel_server("rail")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
../rail_common.c
|
||||
../rail_common.h
|
||||
rail_main.c
|
||||
rail_main.h
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS ../rail_common.c ../rail_common.h rail_main.c rail_main.h)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
freerdp
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS freerdp)
|
||||
|
||||
include_directories(..)
|
||||
|
||||
|
@ -18,5 +18,5 @@
|
||||
define_channel("rdp2tcp")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
@ -2,9 +2,16 @@ set(OPTION_DEFAULT OFF)
|
||||
set(OPTION_CLIENT_DEFAULT ON)
|
||||
set(OPTION_SERVER_DEFAULT OFF)
|
||||
|
||||
define_channel_options(NAME "rdp2tcp" TYPE "static"
|
||||
DESCRIPTION "Tunneling TCP over RDP"
|
||||
DEFAULT ${OPTION_DEFAULT})
|
||||
define_channel_options(
|
||||
NAME
|
||||
"rdp2tcp"
|
||||
TYPE
|
||||
"static"
|
||||
DESCRIPTION
|
||||
"Tunneling TCP over RDP"
|
||||
DEFAULT
|
||||
${OPTION_DEFAULT}
|
||||
)
|
||||
|
||||
define_channel_client_options(${OPTION_CLIENT_DEFAULT})
|
||||
define_channel_server_options(${OPTION_SERVER_DEFAULT})
|
||||
|
@ -17,11 +17,7 @@
|
||||
|
||||
define_channel_client("rdp2tcp")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
rdp2tcp_main.c
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS rdp2tcp_main.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
freerdp
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS freerdp)
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "VirtualChannelEntryEx")
|
||||
|
@ -18,9 +18,9 @@
|
||||
define_channel("rdpdr")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
if(WITH_SERVER_CHANNELS)
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
@ -1,13 +1,19 @@
|
||||
|
||||
set(OPTION_DEFAULT OFF)
|
||||
set(OPTION_CLIENT_DEFAULT ON)
|
||||
set(OPTION_SERVER_DEFAULT ON)
|
||||
|
||||
define_channel_options(NAME "rdpdr" TYPE "static"
|
||||
DESCRIPTION "Device Redirection Virtual Channel Extension"
|
||||
SPECIFICATIONS "[MS-RDPEFS] [MS-RDPEPC] [MS-RDPESC] [MS-RDPESP]"
|
||||
DEFAULT ${OPTION_DEFAULT})
|
||||
define_channel_options(
|
||||
NAME
|
||||
"rdpdr"
|
||||
TYPE
|
||||
"static"
|
||||
DESCRIPTION
|
||||
"Device Redirection Virtual Channel Extension"
|
||||
SPECIFICATIONS
|
||||
"[MS-RDPEFS] [MS-RDPEPC] [MS-RDPESC] [MS-RDPESP]"
|
||||
DEFAULT
|
||||
${OPTION_DEFAULT}
|
||||
)
|
||||
|
||||
define_channel_client_options(${OPTION_CLIENT_DEFAULT})
|
||||
define_channel_server_options(${OPTION_SERVER_DEFAULT})
|
||||
|
||||
|
@ -19,30 +19,26 @@
|
||||
|
||||
define_channel_client("rdpdr")
|
||||
|
||||
include (CheckFunctionExists)
|
||||
include(CheckFunctionExists)
|
||||
check_function_exists(getmntent_r FREERDP_HAVE_GETMNTENT_R)
|
||||
if (FREERDP_HAVE_GETMNTENT_R)
|
||||
add_definitions(-DFREERDP_HAVE_GETMNTENT_R)
|
||||
if(FREERDP_HAVE_GETMNTENT_R)
|
||||
add_definitions(-DFREERDP_HAVE_GETMNTENT_R)
|
||||
endif()
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
irp.c
|
||||
irp.h
|
||||
devman.c
|
||||
devman.h
|
||||
rdpdr_main.c
|
||||
rdpdr_main.h
|
||||
rdpdr_capabilities.c
|
||||
rdpdr_capabilities.h
|
||||
irp.c
|
||||
irp.h
|
||||
devman.c
|
||||
devman.h
|
||||
rdpdr_main.c
|
||||
rdpdr_main.h
|
||||
rdpdr_capabilities.c
|
||||
rdpdr_capabilities.h
|
||||
)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr freerdp
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr freerdp)
|
||||
if(APPLE AND (NOT IOS))
|
||||
find_library(CORESERVICES_LIBRARY CoreServices)
|
||||
list(APPEND ${MODULE_PREFIX}_LIBS
|
||||
${CORESERVICES_LIBRARY}
|
||||
)
|
||||
find_library(CORESERVICES_LIBRARY CoreServices)
|
||||
list(APPEND ${MODULE_PREFIX}_LIBS ${CORESERVICES_LIBRARY})
|
||||
endif()
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntryEx")
|
||||
|
@ -17,13 +17,8 @@
|
||||
|
||||
define_channel_server("rdpdr")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
rdpdr_main.c
|
||||
rdpdr_main.h
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS rdpdr_main.c rdpdr_main.h)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
freerdp
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS freerdp)
|
||||
|
||||
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntry")
|
||||
|
@ -15,24 +15,24 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
if (NOT IOS AND NOT WIN32 AND NOT ANDROID)
|
||||
find_package(KRB5)
|
||||
if(NOT IOS AND NOT WIN32 AND NOT ANDROID)
|
||||
find_package(KRB5)
|
||||
|
||||
if(KRB5_FOUND)
|
||||
define_channel("rdpear")
|
||||
if(KRB5_FOUND)
|
||||
define_channel("rdpear")
|
||||
|
||||
include_directories(common)
|
||||
include_directories(common)
|
||||
|
||||
if(WITH_CLIENT_CHANNELS OR WITH_SERVER_CHANNELS)
|
||||
add_subdirectory(common)
|
||||
endif()
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
#if(WITH_SERVER_CHANNELS)
|
||||
# add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
#endif()
|
||||
if(WITH_CLIENT_CHANNELS OR WITH_SERVER_CHANNELS)
|
||||
add_subdirectory(common)
|
||||
endif()
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
#if(WITH_SERVER_CHANNELS)
|
||||
# add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
#endif()
|
||||
endif()
|
||||
endif()
|
||||
|
@ -1,13 +1,19 @@
|
||||
|
||||
set(OPTION_DEFAULT OFF)
|
||||
set(OPTION_CLIENT_DEFAULT OFF)
|
||||
set(OPTION_SERVER_DEFAULT OFF)
|
||||
|
||||
define_channel_options(NAME "rdpear" TYPE "dynamic"
|
||||
DESCRIPTION "Authentication redirection Virtual Channel Extension"
|
||||
SPECIFICATIONS "[MS-RDPEAR]"
|
||||
DEFAULT ${OPTION_DEFAULT})
|
||||
define_channel_options(
|
||||
NAME
|
||||
"rdpear"
|
||||
TYPE
|
||||
"dynamic"
|
||||
DESCRIPTION
|
||||
"Authentication redirection Virtual Channel Extension"
|
||||
SPECIFICATIONS
|
||||
"[MS-RDPEAR]"
|
||||
DEFAULT
|
||||
${OPTION_DEFAULT}
|
||||
)
|
||||
|
||||
define_channel_client_options(${OPTION_CLIENT_DEFAULT})
|
||||
define_channel_server_options(${OPTION_SERVER_DEFAULT})
|
||||
|
||||
|
@ -17,15 +17,8 @@
|
||||
|
||||
define_channel_client("rdpear")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
rdpear_main.c
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS rdpear_main.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr
|
||||
freerdp
|
||||
rdpear-common
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr freerdp rdpear-common)
|
||||
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry")
|
||||
|
||||
|
@ -16,43 +16,22 @@
|
||||
# limitations under the License.
|
||||
|
||||
add_library(rdpear-common INTERFACE)
|
||||
add_library(rdpear-common-obj OBJECT
|
||||
ndr.c
|
||||
rdpear_asn1.c
|
||||
rdpear_common.c
|
||||
rdpear-common/ndr.h
|
||||
rdpear-common/rdpear_asn1.h
|
||||
rdpear-common/rdpear_common.h
|
||||
add_library(
|
||||
rdpear-common-obj OBJECT ndr.c rdpear_asn1.c rdpear_common.c rdpear-common/ndr.h rdpear-common/rdpear_asn1.h
|
||||
rdpear-common/rdpear_common.h
|
||||
)
|
||||
|
||||
target_include_directories(rdpear-common
|
||||
SYSTEM
|
||||
INTERFACE ${KRB5_INCLUDE_DIRS}
|
||||
)
|
||||
target_compile_options(rdpear-common
|
||||
INTERFACE
|
||||
${KRB5_CFLAGS}
|
||||
)
|
||||
target_link_options(rdpear-common
|
||||
INTERFACE
|
||||
${KRB5_LDFLAGS}
|
||||
)
|
||||
target_include_directories(rdpear-common SYSTEM INTERFACE ${KRB5_INCLUDE_DIRS})
|
||||
target_compile_options(rdpear-common INTERFACE ${KRB5_CFLAGS})
|
||||
target_link_options(rdpear-common INTERFACE ${KRB5_LDFLAGS})
|
||||
|
||||
target_include_directories(rdpear-common-obj
|
||||
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
target_include_directories(rdpear-common-obj
|
||||
SYSTEM
|
||||
PRIVATE ${KRB5_INCLUDE_DIRS}
|
||||
)
|
||||
target_include_directories(rdpear-common-obj PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
target_include_directories(rdpear-common-obj SYSTEM PRIVATE ${KRB5_INCLUDE_DIRS})
|
||||
target_link_directories(rdpear-common INTERFACE ${KRB5_LIBRARY_DIRS})
|
||||
target_link_libraries(rdpear-common INTERFACE
|
||||
${KRB5_LIBRARIES}
|
||||
$<TARGET_OBJECTS:rdpear-common-obj>
|
||||
)
|
||||
target_link_libraries(rdpear-common INTERFACE ${KRB5_LIBRARIES} $<TARGET_OBJECTS:rdpear-common-obj>)
|
||||
|
||||
channel_install(rdpear-common ${FREERDP_ADDIN_PATH} "FreeRDPTargets")
|
||||
|
||||
if (BUILD_TESTING_INTERNAL OR BUILD_TESTING)
|
||||
add_subdirectory(test)
|
||||
if(BUILD_TESTING_INTERNAL OR BUILD_TESTING)
|
||||
add_subdirectory(test)
|
||||
endif()
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
set(MODULE_NAME "TestRdpear")
|
||||
set(MODULE_PREFIX "TEST_RDPEAR")
|
||||
|
||||
@ -6,20 +5,13 @@ set(TEST_RDPEAR_DRIVER TestRdpear.c)
|
||||
|
||||
disable_warnings_for_directory(${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
set(TEST_RDPEAR_TESTS
|
||||
TestNdr.c
|
||||
)
|
||||
set(TEST_RDPEAR_TESTS TestNdr.c)
|
||||
|
||||
if (BUILD_TESTING_INTERNAL)
|
||||
list(APPEND TEST_RDPEAR_TESTS
|
||||
TestNdrEar.c
|
||||
)
|
||||
if(BUILD_TESTING_INTERNAL)
|
||||
list(APPEND TEST_RDPEAR_TESTS TestNdrEar.c)
|
||||
endif()
|
||||
|
||||
create_test_sourcelist(TEST_RDPEAR_SRCS
|
||||
TestRdpear.c
|
||||
${TEST_RDPEAR_TESTS}
|
||||
)
|
||||
create_test_sourcelist(TEST_RDPEAR_SRCS TestRdpear.c ${TEST_RDPEAR_TESTS})
|
||||
|
||||
add_executable(${MODULE_NAME} ${TEST_RDPEAR_SRCS})
|
||||
|
||||
@ -28,13 +20,11 @@ add_definitions(-DTESTING_SRC_DIRECTORY="${PROJECT_SOURCE_DIR}")
|
||||
|
||||
target_link_libraries(${MODULE_NAME} freerdp winpr freerdp-client)
|
||||
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${TESTING_OUTPUT_DIRECTORY}")
|
||||
|
||||
foreach(test ${${MODULE_PREFIX}_TESTS})
|
||||
get_filename_component(TestName ${test} NAME_WE)
|
||||
add_test(${TestName} ${TESTING_OUTPUT_DIRECTORY}/${MODULE_NAME} ${TestName})
|
||||
get_filename_component(TestName ${test} NAME_WE)
|
||||
add_test(${TestName} ${TESTING_OUTPUT_DIRECTORY}/${MODULE_NAME} ${TestName})
|
||||
endforeach()
|
||||
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "FreeRDP/Rdpear/Test")
|
||||
|
||||
|
@ -18,12 +18,12 @@
|
||||
define_channel("rdpecam")
|
||||
|
||||
if(WITH_SERVER_CHANNELS)
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
option(RDPECAM_CLIENT_CHANNEL_STUB "Only build [MS-RDPECAM] channel stub" OFF)
|
||||
if (NOT RDPECAM_CLIENT_CHANNEL_STUB)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
option(RDPECAM_CLIENT_CHANNEL_STUB "Only build [MS-RDPECAM] channel stub" OFF)
|
||||
if(NOT RDPECAM_CLIENT_CHANNEL_STUB)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
endif()
|
||||
|
@ -1,13 +1,19 @@
|
||||
|
||||
set(OPTION_DEFAULT ON)
|
||||
set(OPTION_CLIENT_DEFAULT OFF)
|
||||
set(OPTION_SERVER_DEFAULT ON)
|
||||
|
||||
define_channel_options(NAME "rdpecam" TYPE "dynamic"
|
||||
DESCRIPTION "Video Capture Virtual Channel Extension"
|
||||
SPECIFICATIONS "[MS-RDPECAM]"
|
||||
DEFAULT ${OPTION_DEFAULT})
|
||||
define_channel_options(
|
||||
NAME
|
||||
"rdpecam"
|
||||
TYPE
|
||||
"dynamic"
|
||||
DESCRIPTION
|
||||
"Video Capture Virtual Channel Extension"
|
||||
SPECIFICATIONS
|
||||
"[MS-RDPECAM]"
|
||||
DEFAULT
|
||||
${OPTION_DEFAULT}
|
||||
)
|
||||
|
||||
define_channel_server_options(${OPTION_SERVER_DEFAULT})
|
||||
define_channel_client_options(${OPTION_CLIENT_DEFAULT})
|
||||
|
||||
|
@ -18,46 +18,37 @@
|
||||
define_channel_client("rdpecam")
|
||||
|
||||
if(NOT WITH_SWSCALE OR NOT WITH_FFMPEG)
|
||||
message(FATAL_ERROR "WITH_FFMPEG and WITH_SWSCALE required for CHANNEL_RDPECAM_CLIENT")
|
||||
message(FATAL_ERROR "WITH_FFMPEG and WITH_SWSCALE required for CHANNEL_RDPECAM_CLIENT")
|
||||
endif()
|
||||
|
||||
# currently camera redirect client supported for platforms with Video4Linux only
|
||||
find_package(FFmpeg REQUIRED COMPONENTS SWSCALE)
|
||||
find_package(V4L)
|
||||
if(V4L_FOUND)
|
||||
set(WITH_V4L ON)
|
||||
add_definitions("-DWITH_V4L")
|
||||
set(WITH_V4L ON)
|
||||
add_definitions("-DWITH_V4L")
|
||||
else()
|
||||
message(FATAL_ERROR "libv4l-dev required for CHANNEL_RDPECAM_CLIENT")
|
||||
message(FATAL_ERROR "libv4l-dev required for CHANNEL_RDPECAM_CLIENT")
|
||||
endif()
|
||||
|
||||
option(RDPECAM_INPUT_FORMAT_H264 "[MS-RDPECAM] Enable H264 camera format (passthrough)" ON)
|
||||
if(RDPECAM_INPUT_FORMAT_H264)
|
||||
add_definitions("-DWITH_INPUT_FORMAT_H264")
|
||||
add_definitions("-DWITH_INPUT_FORMAT_H264")
|
||||
endif()
|
||||
|
||||
option(RDPECAM_INPUT_FORMAT_MJPG "[MS-RDPECAM] Enable MJPG camera format" ON)
|
||||
if(RDPECAM_INPUT_FORMAT_MJPG)
|
||||
add_definitions("-DWITH_INPUT_FORMAT_MJPG")
|
||||
add_definitions("-DWITH_INPUT_FORMAT_MJPG")
|
||||
endif()
|
||||
|
||||
include_directories(SYSTEM ${SWSCALE_INCLUDE_DIRS})
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
camera_device_enum_main.c
|
||||
camera_device_main.c
|
||||
encoding.c
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS camera_device_enum_main.c camera_device_main.c encoding.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
freerdp
|
||||
winpr
|
||||
${SWSCALE_LIBRARIES}
|
||||
${FFMPEG_LIBRARIES}
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS freerdp winpr ${SWSCALE_LIBRARIES} ${FFMPEG_LIBRARIES})
|
||||
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry")
|
||||
|
||||
if(V4L_FOUND)
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "v4l" "")
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "v4l" "")
|
||||
endif()
|
||||
|
@ -17,20 +17,14 @@
|
||||
|
||||
if(WITH_V4L)
|
||||
|
||||
define_channel_client_subsystem("rdpecam" "v4l" "")
|
||||
define_channel_client_subsystem("rdpecam" "v4l" "")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
camera_v4l.c
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS camera_v4l.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr
|
||||
freerdp
|
||||
${V4L_TARGETS}
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr freerdp ${V4L_TARGETS})
|
||||
|
||||
include_directories(..)
|
||||
include_directories(..)
|
||||
|
||||
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
|
||||
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
|
||||
|
||||
endif()
|
||||
|
@ -17,13 +17,8 @@
|
||||
|
||||
define_channel_server("rdpecam")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
camera_device_enumerator_main.c
|
||||
camera_device_main.c
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS camera_device_enumerator_main.c camera_device_main.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
freerdp
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS freerdp)
|
||||
|
||||
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "DVCPluginEntry")
|
||||
|
@ -18,9 +18,9 @@
|
||||
define_channel("rdpei")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
if(WITH_SERVER_CHANNELS)
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
@ -1,13 +1,19 @@
|
||||
|
||||
set(OPTION_DEFAULT OFF)
|
||||
set(OPTION_CLIENT_DEFAULT ON)
|
||||
set(OPTION_SERVER_DEFAULT ON)
|
||||
|
||||
define_channel_options(NAME "rdpei" TYPE "dynamic"
|
||||
DESCRIPTION "Input Virtual Channel Extension"
|
||||
SPECIFICATIONS "[MS-RDPEI]"
|
||||
DEFAULT ${OPTION_DEFAULT})
|
||||
define_channel_options(
|
||||
NAME
|
||||
"rdpei"
|
||||
TYPE
|
||||
"dynamic"
|
||||
DESCRIPTION
|
||||
"Input Virtual Channel Extension"
|
||||
SPECIFICATIONS
|
||||
"[MS-RDPEI]"
|
||||
DEFAULT
|
||||
${OPTION_DEFAULT}
|
||||
)
|
||||
|
||||
define_channel_client_options(${OPTION_CLIENT_DEFAULT})
|
||||
define_channel_server_options(${OPTION_SERVER_DEFAULT})
|
||||
|
||||
|
@ -17,17 +17,9 @@
|
||||
|
||||
define_channel_client("rdpei")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
rdpei_main.c
|
||||
rdpei_main.h
|
||||
../rdpei_common.c
|
||||
../rdpei_common.h
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS rdpei_main.c rdpei_main.h ../rdpei_common.c ../rdpei_common.h)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr freerdp
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr freerdp)
|
||||
include_directories(..)
|
||||
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry")
|
||||
|
||||
|
@ -18,15 +18,8 @@
|
||||
|
||||
define_channel_server("rdpei")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
rdpei_main.c
|
||||
rdpei_main.h
|
||||
../rdpei_common.c
|
||||
../rdpei_common.h
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS rdpei_main.c rdpei_main.h ../rdpei_common.c ../rdpei_common.h)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr)
|
||||
|
||||
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntry")
|
||||
|
@ -18,5 +18,5 @@
|
||||
define_channel("rdpemsc")
|
||||
|
||||
if(WITH_SERVER_CHANNELS)
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
@ -1,12 +1,18 @@
|
||||
|
||||
set(OPTION_DEFAULT ON)
|
||||
set(OPTION_CLIENT_DEFAULT OFF)
|
||||
set(OPTION_SERVER_DEFAULT ON)
|
||||
|
||||
define_channel_options(NAME "rdpemsc" TYPE "dynamic"
|
||||
DESCRIPTION "Mouse Cursor Virtual Channel Extension"
|
||||
SPECIFICATIONS "[MS-RDPEMSC]"
|
||||
DEFAULT ${OPTION_DEFAULT})
|
||||
define_channel_options(
|
||||
NAME
|
||||
"rdpemsc"
|
||||
TYPE
|
||||
"dynamic"
|
||||
DESCRIPTION
|
||||
"Mouse Cursor Virtual Channel Extension"
|
||||
SPECIFICATIONS
|
||||
"[MS-RDPEMSC]"
|
||||
DEFAULT
|
||||
${OPTION_DEFAULT}
|
||||
)
|
||||
|
||||
define_channel_server_options(${OPTION_SERVER_DEFAULT})
|
||||
|
||||
|
@ -17,12 +17,8 @@
|
||||
|
||||
define_channel_server("rdpemsc")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
mouse_cursor_main.c
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS mouse_cursor_main.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
freerdp
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS freerdp)
|
||||
|
||||
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "DVCPluginEntry")
|
||||
|
@ -18,9 +18,9 @@
|
||||
define_channel("rdpgfx")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
if(WITH_SERVER_CHANNELS)
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
@ -1,13 +1,19 @@
|
||||
|
||||
set(OPTION_DEFAULT OFF)
|
||||
set(OPTION_CLIENT_DEFAULT ON)
|
||||
set(OPTION_SERVER_DEFAULT ON)
|
||||
|
||||
define_channel_options(NAME "rdpgfx" TYPE "dynamic"
|
||||
DESCRIPTION "Graphics Pipeline Extension"
|
||||
SPECIFICATIONS "[MS-RDPEGFX]"
|
||||
DEFAULT ${OPTION_DEFAULT})
|
||||
define_channel_options(
|
||||
NAME
|
||||
"rdpgfx"
|
||||
TYPE
|
||||
"dynamic"
|
||||
DESCRIPTION
|
||||
"Graphics Pipeline Extension"
|
||||
SPECIFICATIONS
|
||||
"[MS-RDPEGFX]"
|
||||
DEFAULT
|
||||
${OPTION_DEFAULT}
|
||||
)
|
||||
|
||||
define_channel_client_options(${OPTION_CLIENT_DEFAULT})
|
||||
define_channel_server_options(${OPTION_SERVER_DEFAULT})
|
||||
|
||||
|
@ -17,19 +17,11 @@
|
||||
|
||||
define_channel_client("rdpgfx")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
rdpgfx_main.c
|
||||
rdpgfx_main.h
|
||||
rdpgfx_codec.c
|
||||
rdpgfx_codec.h
|
||||
../rdpgfx_common.c
|
||||
../rdpgfx_common.h
|
||||
set(${MODULE_PREFIX}_SRCS rdpgfx_main.c rdpgfx_main.h rdpgfx_codec.c rdpgfx_codec.h ../rdpgfx_common.c
|
||||
../rdpgfx_common.h
|
||||
)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr freerdp
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr freerdp)
|
||||
include_directories(..)
|
||||
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry")
|
||||
|
||||
|
@ -17,16 +17,9 @@
|
||||
|
||||
define_channel_server("rdpgfx")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
rdpgfx_main.c
|
||||
rdpgfx_main.h
|
||||
../rdpgfx_common.c
|
||||
../rdpgfx_common.h
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS rdpgfx_main.c rdpgfx_main.h ../rdpgfx_common.c ../rdpgfx_common.h)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
freerdp
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS freerdp)
|
||||
|
||||
include_directories(..)
|
||||
|
||||
|
@ -21,9 +21,9 @@ include_directories(common)
|
||||
add_subdirectory(common)
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
if(WITH_SERVER_CHANNELS)
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
@ -1,13 +1,19 @@
|
||||
|
||||
set(OPTION_DEFAULT OFF)
|
||||
set(OPTION_CLIENT_DEFAULT ON)
|
||||
set(OPTION_SERVER_DEFAULT ON)
|
||||
|
||||
define_channel_options(NAME "rdpsnd" TYPE "static;dynamic"
|
||||
DESCRIPTION "Audio Output Virtual Channel Extension"
|
||||
SPECIFICATIONS "[MS-RDPEA]"
|
||||
DEFAULT ${OPTION_DEFAULT})
|
||||
define_channel_options(
|
||||
NAME
|
||||
"rdpsnd"
|
||||
TYPE
|
||||
"static;dynamic"
|
||||
DESCRIPTION
|
||||
"Audio Output Virtual Channel Extension"
|
||||
SPECIFICATIONS
|
||||
"[MS-RDPEA]"
|
||||
DEFAULT
|
||||
${OPTION_DEFAULT}
|
||||
)
|
||||
|
||||
define_channel_client_options(${OPTION_CLIENT_DEFAULT})
|
||||
define_channel_server_options(${OPTION_SERVER_DEFAULT})
|
||||
|
||||
|
@ -17,50 +17,42 @@
|
||||
|
||||
define_channel_client("rdpsnd")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
rdpsnd_main.c
|
||||
rdpsnd_main.h
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS rdpsnd_main.c rdpsnd_main.h)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr
|
||||
freerdp
|
||||
${CMAKE_THREAD_LIBS_INIT}
|
||||
rdpsnd-common
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr freerdp ${CMAKE_THREAD_LIBS_INIT} rdpsnd-common)
|
||||
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntryEx;DVCPluginEntry")
|
||||
|
||||
if(WITH_OSS)
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "oss" "")
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "oss" "")
|
||||
endif()
|
||||
|
||||
if(WITH_ALSA)
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "alsa" "")
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "alsa" "")
|
||||
endif()
|
||||
|
||||
if(WITH_IOSAUDIO)
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "ios" "")
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "ios" "")
|
||||
endif()
|
||||
|
||||
if(WITH_PULSE)
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "pulse" "")
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "pulse" "")
|
||||
endif()
|
||||
|
||||
if(WITH_MACAUDIO)
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "mac" "")
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "mac" "")
|
||||
endif()
|
||||
|
||||
if(WITH_WINMM)
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "winmm" "")
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "winmm" "")
|
||||
endif()
|
||||
|
||||
if(WITH_OPENSLES)
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "opensles" "")
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "opensles" "")
|
||||
endif()
|
||||
|
||||
if(WITH_SNDIO)
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "sndio" "")
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "sndio" "")
|
||||
endif()
|
||||
|
||||
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "fake" "")
|
||||
|
@ -19,14 +19,9 @@ define_channel_client_subsystem("rdpsnd" "alsa" "")
|
||||
|
||||
find_package(ALSA REQUIRED)
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
rdpsnd_alsa.c)
|
||||
set(${MODULE_PREFIX}_SRCS rdpsnd_alsa.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr
|
||||
freerdp
|
||||
${ALSA_LIBRARIES}
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr freerdp ${ALSA_LIBRARIES})
|
||||
|
||||
include_directories(..)
|
||||
include_directories(SYSTEM ${ALSA_INCLUDE_DIRS})
|
||||
|
@ -18,14 +18,9 @@
|
||||
|
||||
define_channel_client_subsystem("rdpsnd" "fake" "")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
rdpsnd_fake.c
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS rdpsnd_fake.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr
|
||||
freerdp
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr freerdp)
|
||||
|
||||
include_directories(..)
|
||||
|
||||
|
@ -19,21 +19,13 @@
|
||||
|
||||
define_channel_client_subsystem("rdpsnd" "ios" "")
|
||||
|
||||
FIND_LIBRARY(CORE_AUDIO CoreAudio)
|
||||
FIND_LIBRARY(AUDIO_TOOL AudioToolbox)
|
||||
FIND_LIBRARY(CORE_FOUNDATION CoreFoundation)
|
||||
find_library(CORE_AUDIO CoreAudio)
|
||||
find_library(AUDIO_TOOL AudioToolbox)
|
||||
find_library(CORE_FOUNDATION CoreFoundation)
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
rdpsnd_ios.c
|
||||
TPCircularBuffer.c)
|
||||
set(${MODULE_PREFIX}_SRCS rdpsnd_ios.c TPCircularBuffer.c)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr
|
||||
freerdp
|
||||
${AUDIO_TOOL}
|
||||
${CORE_AUDIO}
|
||||
${CORE_FOUNDATION}
|
||||
)
|
||||
set(${MODULE_PREFIX}_LIBS winpr freerdp ${AUDIO_TOOL} ${CORE_AUDIO} ${CORE_FOUNDATION})
|
||||
|
||||
include_directories(..)
|
||||
|
||||
|
@ -20,16 +20,15 @@
|
||||
define_channel_client_subsystem("rdpsnd" "mac" "")
|
||||
|
||||
find_library(COCOA_LIBRARY Cocoa REQUIRED)
|
||||
FIND_LIBRARY(CORE_FOUNDATION CoreFoundation)
|
||||
FIND_LIBRARY(CORE_AUDIO CoreAudio REQUIRED)
|
||||
FIND_LIBRARY(AUDIO_TOOL AudioToolbox REQUIRED)
|
||||
FIND_LIBRARY(AV_FOUNDATION AVFoundation REQUIRED)
|
||||
find_library(CORE_FOUNDATION CoreFoundation)
|
||||
find_library(CORE_AUDIO CoreAudio REQUIRED)
|
||||
find_library(AUDIO_TOOL AudioToolbox REQUIRED)
|
||||
find_library(AV_FOUNDATION AVFoundation REQUIRED)
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
rdpsnd_mac.m)
|
||||
set(${MODULE_PREFIX}_SRCS rdpsnd_mac.m)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
winpr
|
||||
winpr
|
||||
freerdp
|
||||
${AUDIO_TOOL}
|
||||
${AV_FOUNDATION}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user