[cmake,format] reformat all cmake files

This commit is contained in:
akallabeth
2024-11-27 20:31:31 +01:00
parent de98cde7b2
commit faae38120c
402 changed files with 6523 additions and 7808 deletions

View File

@@ -1,4 +1,3 @@
# Generate .txt license file for CPack (PackageMaker requires a file extension) # 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) 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 # 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 "". # problems when compiling freerdp/jni. To prevent this problem we set the macros to "".
if (ANDROID AND CMAKE_EXTRA_GENERATOR STREQUAL "Eclipse CDT4") if(ANDROID AND CMAKE_EXTRA_GENERATOR STREQUAL "Eclipse CDT4")
set(CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_DEFINED_MACROS "") set(CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_DEFINED_MACROS "")
message(STATUS "Disabled CXX system defines for eclipse (workaround).") message(STATUS "Disabled CXX system defines for eclipse (workaround).")
endif() endif()
set(CPACK_SOURCE_IGNORE_FILES "/\\\\.git/;/\\\\.gitignore;/CMakeCache.txt") set(CPACK_SOURCE_IGNORE_FILES "/\\\\.git/;/\\\\.gitignore;/CMakeCache.txt")
if(NOT WIN32) if(NOT WIN32)
if(APPLE AND (NOT IOS)) if(APPLE AND (NOT IOS))
if(WITH_SERVER) if(WITH_SERVER)
set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} "mfreerdp-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()
endif()
if(WITH_X11)
set(CPACK_PACKAGE_EXECUTABLES "xfreerdp")
if(WITH_SERVER)
set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} "xfreerdp-server")
endif()
endif()
endif() endif()
set(CPACK_SYSTEM_NAME "${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}") 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_MAJOR ${FREERDP_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${FREERDP_VERSION_MINOR}) set(CPACK_PACKAGE_VERSION_MINOR ${FREERDP_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${FREERDP_VERSION_REVISION}) 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_PACKAGE_CONTACT "Marc-Andre Moreau")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "marcandre.moreau@gmail.com") 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) set(CPACK_COMPONENTS_ALL client server libraries headers symbols tools)
if(MSVC) 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") if(NOT IS_SHARED STREQUAL "-1")
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE) set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE)
include(InstallRequiredSystemLibraries) include(InstallRequiredSystemLibraries)
install(PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} install(PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT libraries)
DESTINATION ${CMAKE_INSTALL_BINDIR} endif()
COMPONENT libraries)
endif()
endif() endif()
set(CPACK_COMPONENT_CLIENT_DISPLAY_NAME "Client") 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_APPLICATIONS_DESCRIPTION "Applications")
set(CPACK_COMPONENT_GROUP_DEVELOPMENT_DESCRIPTION "Development") set(CPACK_COMPONENT_GROUP_DEVELOPMENT_DESCRIPTION "Development")
configure_file("${PROJECT_SOURCE_DIR}/CMakeCPackOptions.cmake.in" configure_file("${PROJECT_SOURCE_DIR}/CMakeCPackOptions.cmake.in" "${PROJECT_BINARY_DIR}/CMakeCPackOptions.cmake" @ONLY)
"${PROJECT_BINARY_DIR}/CMakeCPackOptions.cmake" @ONLY)
set(CPACK_PROJECT_CONFIG_FILE "${PROJECT_BINARY_DIR}/CMakeCPackOptions.cmake") set(CPACK_PROJECT_CONFIG_FILE "${PROJECT_BINARY_DIR}/CMakeCPackOptions.cmake")
include(CPack) include(CPack)

View File

@@ -21,44 +21,40 @@
cmake_minimum_required(VERSION 3.13) cmake_minimum_required(VERSION 3.13)
if(POLICY CMP0091) if(POLICY CMP0091)
cmake_policy(SET CMP0091 NEW) cmake_policy(SET CMP0091 NEW)
endif() endif()
project(FreeRDP project(FreeRDP LANGUAGES C)
LANGUAGES C
)
set(CMAKE_C_STANDARD 11) set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS ON) set(CMAKE_C_EXTENSIONS ON)
add_custom_target(fuzzers add_custom_target(fuzzers COMMENT "Build fuzzers")
COMMENT "Build fuzzers"
)
if(NOT DEFINED VENDOR) if(NOT DEFINED VENDOR)
set(VENDOR "FreeRDP" CACHE STRING "FreeRDP package vendor") set(VENDOR "FreeRDP" CACHE STRING "FreeRDP package vendor")
endif() endif()
if(NOT DEFINED PRODUCT) if(NOT DEFINED PRODUCT)
set(PRODUCT "FreeRDP" CACHE STRING "FreeRDP package name") set(PRODUCT "FreeRDP" CACHE STRING "FreeRDP package name")
endif() endif()
if(NOT DEFINED FREERDP_VENDOR) if(NOT DEFINED FREERDP_VENDOR)
set(FREERDP_VENDOR 1) set(FREERDP_VENDOR 1)
endif() endif()
if (NOT WIN32 AND NOT ANDROID) if(NOT WIN32 AND NOT ANDROID)
if (APPLE) if(APPLE)
set(OPT_DEFAULT_VAL OFF) set(OPT_DEFAULT_VAL OFF)
else() else()
set(OPT_DEFAULT_VAL ON) set(OPT_DEFAULT_VAL ON)
endif() endif()
option(WITH_X11 "build X11 client/server" ${OPT_DEFAULT_VAL}) option(WITH_X11 "build X11 client/server" ${OPT_DEFAULT_VAL})
endif() endif()
# Enable coverity related pragma definitions # Enable coverity related pragma definitions
if (COVERITY_BUILD) if(COVERITY_BUILD)
add_compile_definitions(COVERITY_BUILD) add_compile_definitions(COVERITY_BUILD)
endif() endif()
# Include our extra modules # Include our extra modules
@@ -69,7 +65,7 @@ include(CheckCmakeCompat)
# Include cmake modules # Include cmake modules
if(WITH_CLANG_FORMAT) if(WITH_CLANG_FORMAT)
include(ClangFormat) include(ClangFormat)
endif() endif()
include(CompilerFlags) include(CompilerFlags)
@@ -93,22 +89,22 @@ include(Doxygen)
# Soname versioning # Soname versioning
set(BUILD_NUMBER 0) set(BUILD_NUMBER 0)
if ($ENV{BUILD_NUMBER}) if($ENV{BUILD_NUMBER})
set(BUILD_NUMBER $ENV{BUILD_NUMBER}) set(BUILD_NUMBER $ENV{BUILD_NUMBER})
endif() endif()
set(VERSION_REGEX "^(.*)([0-9]+)\\.([0-9]+)\\.([0-9]+)-?(.*)") set(VERSION_REGEX "^(.*)([0-9]+)\\.([0-9]+)\\.([0-9]+)-?(.*)")
set(RAW_VERSION_STRING "3.9.1-dev0") set(RAW_VERSION_STRING "3.9.1-dev0")
if(EXISTS "${PROJECT_SOURCE_DIR}/.source_tag") 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) elseif(USE_VERSION_FROM_GIT_TAG)
git_get_exact_tag(_GIT_TAG --tags --always) git_get_exact_tag(_GIT_TAG --tags --always)
if (NOT ${_GIT_TAG} STREQUAL "n/a") if(NOT ${_GIT_TAG} STREQUAL "n/a")
string(REGEX MATCH ${VERSION_REGEX} FOUND_TAG "${_GIT_TAG}") string(REGEX MATCH ${VERSION_REGEX} FOUND_TAG "${_GIT_TAG}")
if (FOUND_TAG) if(FOUND_TAG)
set(RAW_VERSION_STRING ${_GIT_TAG}) set(RAW_VERSION_STRING ${_GIT_TAG})
endif() endif()
endif() endif()
endif() endif()
string(STRIP ${RAW_VERSION_STRING} RAW_VERSION_STRING) 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_API_VERSION "${FREERDP_VERSION_MAJOR}")
set(FREERDP_VERSION "${FREERDP_VERSION_MAJOR}.${FREERDP_VERSION_MINOR}.${FREERDP_VERSION_REVISION}") set(FREERDP_VERSION "${FREERDP_VERSION_MAJOR}.${FREERDP_VERSION_MINOR}.${FREERDP_VERSION_REVISION}")
if (FREERDP_VERSION_SUFFIX) if(FREERDP_VERSION_SUFFIX)
set(FREERDP_VERSION_FULL "${FREERDP_VERSION}-${FREERDP_VERSION_SUFFIX}") set(FREERDP_VERSION_FULL "${FREERDP_VERSION}-${FREERDP_VERSION_SUFFIX}")
else() else()
set(FREERDP_VERSION_FULL "${FREERDP_VERSION}") set(FREERDP_VERSION_FULL "${FREERDP_VERSION}")
endif() endif()
message("FREERDP_VERSION=${FREERDP_VERSION_FULL}") message("FREERDP_VERSION=${FREERDP_VERSION_FULL}")
if(EXISTS "${PROJECT_SOURCE_DIR}/.source_version" ) if(EXISTS "${PROJECT_SOURCE_DIR}/.source_version")
file(READ ${PROJECT_SOURCE_DIR}/.source_version GIT_REVISION) file(READ ${PROJECT_SOURCE_DIR}/.source_version GIT_REVISION)
string(STRIP ${GIT_REVISION} GIT_REVISION) string(STRIP ${GIT_REVISION} GIT_REVISION)
elseif(USE_VERSION_FROM_GIT_TAG) 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") if(${GIT_REVISION} STREQUAL "n/a")
git_rev_parse (GIT_REVISION --short) git_rev_parse(GIT_REVISION --short)
endif() endif()
endif() endif()
if (NOT GIT_REVISION) if(NOT GIT_REVISION)
set(GIT_REVISION ${FREERDP_VERSION}) set(GIT_REVISION ${FREERDP_VERSION})
endif() endif()
message(STATUS "Git Revision ${GIT_REVISION}") 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}/") set(FREERDP_INCLUDE_DIR "include/${FREERDP_MAJOR_DIR}/")
option(WITH_SMARTCARD_EMULATE "Emulate smartcards instead of redirecting readers" ON) option(WITH_SMARTCARD_EMULATE "Emulate smartcards instead of redirecting readers" ON)
if (WITH_SMARTCARD_EMULATE) if(WITH_SMARTCARD_EMULATE)
add_definitions(-DWITH_SMARTCARD_EMULATE) add_definitions(-DWITH_SMARTCARD_EMULATE)
find_package(ZLIB REQUIRED) find_package(ZLIB REQUIRED)
endif() endif()
option(WITH_FREERDP_DEPRECATED "Build FreeRDP deprecated symbols" OFF) option(WITH_FREERDP_DEPRECATED "Build FreeRDP deprecated symbols" OFF)
if (WITH_FREERDP_DEPRECATED) if(WITH_FREERDP_DEPRECATED)
add_definitions(-DWITH_FREERDP_DEPRECATED) add_definitions(-DWITH_FREERDP_DEPRECATED)
endif() endif()
option(WITH_FREERDP_DEPRECATED_COMMANDLINE "Build FreeRDP deprecated command line options" OFF) option(WITH_FREERDP_DEPRECATED_COMMANDLINE "Build FreeRDP deprecated command line options" OFF)
if (WITH_FREERDP_DEPRECATED_COMMANDLINE) if(WITH_FREERDP_DEPRECATED_COMMANDLINE)
add_definitions(-DWITH_FREERDP_DEPRECATED_COMMANDLINE) add_definitions(-DWITH_FREERDP_DEPRECATED_COMMANDLINE)
endif() endif()
# Make paths absolute # Make paths absolute
if (CMAKE_INSTALL_PREFIX) if(CMAKE_INSTALL_PREFIX)
get_filename_component(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" ABSOLUTE) get_filename_component(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" ABSOLUTE)
endif() endif()
if (FREERDP_EXTERNAL_PATH) if(FREERDP_EXTERNAL_PATH)
get_filename_component (FREERDP_EXTERNAL_PATH "${FREERDP_EXTERNAL_PATH}" ABSOLUTE) get_filename_component(FREERDP_EXTERNAL_PATH "${FREERDP_EXTERNAL_PATH}" ABSOLUTE)
endif() endif()
# Allow to search the host machine for git/ccache # Allow to search the host machine for git/ccache
if(CMAKE_CROSSCOMPILING) if(CMAKE_CROSSCOMPILING)
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH)
endif(CMAKE_CROSSCOMPILING) endif(CMAKE_CROSSCOMPILING)
find_program(CCACHE ccache) find_program(CCACHE ccache)
if(CCACHE AND WITH_CCACHE) if(CCACHE AND WITH_CCACHE)
if(NOT DEFINED CMAKE_C_COMPILER_LAUNCHER) if(NOT DEFINED CMAKE_C_COMPILER_LAUNCHER)
SET(CMAKE_C_COMPILER_LAUNCHER ${CCACHE}) set(CMAKE_C_COMPILER_LAUNCHER ${CCACHE})
endif(NOT DEFINED CMAKE_C_COMPILER_LAUNCHER) endif(NOT DEFINED CMAKE_C_COMPILER_LAUNCHER)
endif(CCACHE AND WITH_CCACHE) endif(CCACHE AND WITH_CCACHE)
if(CMAKE_CROSSCOMPILING) if(CMAKE_CROSSCOMPILING)
SET (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)
endif(CMAKE_CROSSCOMPILING) endif(CMAKE_CROSSCOMPILING)
# /Allow to search the host machine for git/ccache # /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") option(CTEST_OUTPUT_ON_FAILURE ON "show verbose output on CTest failures")
if(BUILD_TESTING_INTERNAL) if(BUILD_TESTING_INTERNAL)
set(EXPORT_ALL_SYMBOLS ON CACHE BOOL "testing default" FORCE) set(EXPORT_ALL_SYMBOLS ON CACHE BOOL "testing default" FORCE)
add_definitions(-DBUILD_TESTING_INTERNAL) add_definitions(-DBUILD_TESTING_INTERNAL)
elseif(BUILD_TESTING) elseif(BUILD_TESTING)
set(EXPORT_ALL_SYMBOLS OFF CACHE BOOL "testing default" FORCE) set(EXPORT_ALL_SYMBOLS OFF CACHE BOOL "testing default" FORCE)
else() else()
option(EXPORT_ALL_SYMBOLS "Export all symbols form library" OFF) option(EXPORT_ALL_SYMBOLS "Export all symbols form library" OFF)
endif() endif()
if (EXPORT_ALL_SYMBOLS) if(EXPORT_ALL_SYMBOLS)
# set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) # set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
add_definitions(-DEXPORT_ALL_SYMBOLS) add_definitions(-DEXPORT_ALL_SYMBOLS)
endif(EXPORT_ALL_SYMBOLS) endif(EXPORT_ALL_SYMBOLS)
# Compiler-specific flags # Compiler-specific flags
if(CMAKE_COMPILER_IS_GNUCC) if(CMAKE_COMPILER_IS_GNUCC)
if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "i686") if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "i686")
CHECK_SYMBOL_EXISTS(__x86_64__ "" IS_X86_64) check_symbol_exists(__x86_64__ "" IS_X86_64)
if(IS_X86_64) if(IS_X86_64)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
else() else()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=i686") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=i686")
endif() endif()
endif() endif()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
if(NOT EXPORT_ALL_SYMBOLS) if(NOT EXPORT_ALL_SYMBOLS)
message(STATUS "GCC default symbol visibility: hidden") message(STATUS "GCC default symbol visibility: hidden")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden")
endif() endif()
CHECK_C_COMPILER_FLAG (-Wimplicit-function-declaration Wimplicit-function-declaration) check_c_compiler_flag(-Wimplicit-function-declaration Wimplicit-function-declaration)
if(Wimplicit-function-declaration) if(Wimplicit-function-declaration)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wimplicit-function-declaration") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wimplicit-function-declaration")
endif() endif()
if (NOT OPENBSD) if(NOT OPENBSD)
CHECK_C_COMPILER_FLAG (-Wredundant-decls Wredundant-decls) check_c_compiler_flag(-Wredundant-decls Wredundant-decls)
if(Wredundant-decls) if(Wredundant-decls)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wredundant-decls") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wredundant-decls")
endif() endif()
endif() endif()
if(CMAKE_BUILD_TYPE STREQUAL "Release") if(CMAKE_BUILD_TYPE STREQUAL "Release")
add_definitions(-DNDEBUG) add_definitions(-DNDEBUG)
else() else()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g")
endif() endif()
endif() endif()
set(THREAD_PREFER_PTHREAD_FLAG TRUE) set(THREAD_PREFER_PTHREAD_FLAG TRUE)
if(NOT IOS) if(NOT IOS)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
endif() endif()
# Enable address sanitizer, where supported and when required # Enable address sanitizer, where supported and when required
if(CMAKE_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCC) if(CMAKE_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCC)
set(CMAKE_REQUIRED_LINK_OPTIONS_SAVED ${CMAKE_REQUIRED_LINK_OPTIONS}) set(CMAKE_REQUIRED_LINK_OPTIONS_SAVED ${CMAKE_REQUIRED_LINK_OPTIONS})
file(WRITE ${PROJECT_BINARY_DIR}/foo.txt "") file(WRITE ${PROJECT_BINARY_DIR}/foo.txt "")
if(WITH_SANITIZE_ADDRESS) if(WITH_SANITIZE_ADDRESS)
list(APPEND CMAKE_REQUIRED_LINK_OPTIONS "-fsanitize=address") list(APPEND CMAKE_REQUIRED_LINK_OPTIONS "-fsanitize=address")
CHECK_C_COMPILER_FLAG ("-fsanitize=address" 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-blacklist=${PROJECT_BINARY_DIR}/foo.txt" fsanitize-blacklist)
CHECK_C_COMPILER_FLAG ("-fsanitize-address-use-after-scope" fsanitize-address-use-after-scope) 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_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_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_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address")
if(fsanitize-blacklist) if(fsanitize-blacklist)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize-blacklist=${PROJECT_SOURCE_DIR}/scripts/blacklist-address-sanitizer.txt") set(CMAKE_C_FLAGS
endif(fsanitize-blacklist) "${CMAKE_C_FLAGS} -fsanitize-blacklist=${PROJECT_SOURCE_DIR}/scripts/blacklist-address-sanitizer.txt"
)
endif(fsanitize-blacklist)
if(fsanitize-address-use-after-scope) if(fsanitize-address-use-after-scope)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize-address-use-after-scope") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize-address-use-after-scope")
endif(fsanitize-address-use-after-scope) endif(fsanitize-address-use-after-scope)
elseif(WITH_SANITIZE_MEMORY) elseif(WITH_SANITIZE_MEMORY)
list(APPEND CMAKE_REQUIRED_LINK_OPTIONS "-fsanitize=memory") list(APPEND CMAKE_REQUIRED_LINK_OPTIONS "-fsanitize=memory")
CHECK_C_COMPILER_FLAG ("-fsanitize=memory" 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-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-use-after-dtor" fsanitize-memory-use-after-dtor)
CHECK_C_COMPILER_FLAG ("-fsanitize-memory-track-origins" fsanitize-memory-track-origins) check_c_compiler_flag("-fsanitize-memory-track-origins" fsanitize-memory-track-origins)
set(CMAKE_C_FLAGS "${CMAKE_C_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_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fsanitize=memory")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=memory") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=memory")
if(fsanitize-blacklist) if(fsanitize-blacklist)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize-blacklist=${PROJECT_SOURCE_DIR}/scripts/blacklist-memory-sanitizer.txt") set(CMAKE_C_FLAGS
endif(fsanitize-blacklist) "${CMAKE_C_FLAGS} -fsanitize-blacklist=${PROJECT_SOURCE_DIR}/scripts/blacklist-memory-sanitizer.txt"
)
endif(fsanitize-blacklist)
if (fsanitize-memory-use-after-dtor) if(fsanitize-memory-use-after-dtor)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize-memory-use-after-dtor") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize-memory-use-after-dtor")
endif(fsanitize-memory-use-after-dtor) endif(fsanitize-memory-use-after-dtor)
if (fsanitize-memory-track-origins) if(fsanitize-memory-track-origins)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize-memory-track-origins") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize-memory-track-origins")
endif(fsanitize-memory-track-origins) endif(fsanitize-memory-track-origins)
elseif(WITH_SANITIZE_THREAD) elseif(WITH_SANITIZE_THREAD)
list(APPEND CMAKE_REQUIRED_LINK_OPTIONS "-fsanitize=thread") list(APPEND CMAKE_REQUIRED_LINK_OPTIONS "-fsanitize=thread")
CHECK_C_COMPILER_FLAG ("-fsanitize=thread" fsanitize-thread) check_c_compiler_flag("-fsanitize=thread" fsanitize-thread)
CHECK_C_COMPILER_FLAG ("-fsanitize-blacklist=${PROJECT_BINARY_DIR}/foo.txt" fsanitize-blacklist) check_c_compiler_flag("-fsanitize-blacklist=${PROJECT_BINARY_DIR}/foo.txt" fsanitize-blacklist)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=thread") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=thread")
if(fsanitize-blacklist) if(fsanitize-blacklist)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize-blacklist=${PROJECT_SOURCE_DIR}/scripts/blacklist-thread-sanitizer.txt") set(CMAKE_C_FLAGS
endif(fsanitize-blacklist) "${CMAKE_C_FLAGS} -fsanitize-blacklist=${PROJECT_SOURCE_DIR}/scripts/blacklist-thread-sanitizer.txt"
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fsanitize=thread") )
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=thread") endif(fsanitize-blacklist)
endif() 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) file(REMOVE ${PROJECT_BINARY_DIR}/foo.txt)
set(CMAKE_REQUIRED_LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS_SAVED}) set(CMAKE_REQUIRED_LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS_SAVED})
if (WITH_NO_UNDEFINED) if(WITH_NO_UNDEFINED)
CHECK_C_COMPILER_FLAG (-Wl,--no-undefined no-undefined) check_c_compiler_flag(-Wl,--no-undefined no-undefined)
if(no-undefined) if(no-undefined)
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--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" ) set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined")
endif() endif()
endif() endif()
endif() endif()
if(MSVC) 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(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}) set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
if(CMAKE_BUILD_TYPE STREQUAL "Release") if(CMAKE_BUILD_TYPE STREQUAL "Release")
else()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Zi")
endif()
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() endif()
if(ANDROID) if(ANDROID)
# workaround for https://github.com/android-ndk/ndk/issues/243 # workaround for https://github.com/android-ndk/ndk/issues/243
string(REPLACE "-g " "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS}) string(REPLACE "-g " "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g") set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g")
endif() endif()
if(WIN32) if(WIN32)
add_definitions(-DUNICODE -D_UNICODE) add_definitions(-DUNICODE -D_UNICODE)
add_definitions(-D_CRT_SECURE_NO_WARNINGS) add_definitions(-D_CRT_SECURE_NO_WARNINGS)
add_definitions(-DWIN32_LEAN_AND_MEAN) add_definitions(-DWIN32_LEAN_AND_MEAN)
add_definitions(-D_WINSOCK_DEPRECATED_NO_WARNINGS) add_definitions(-D_WINSOCK_DEPRECATED_NO_WARNINGS)
set(CMAKE_DL_LIBS "") set(CMAKE_DL_LIBS "")
set(CMAKE_USE_RELATIVE_PATH ON) set(CMAKE_USE_RELATIVE_PATH ON)
string(TIMESTAMP RC_VERSION_YEAR "%Y") string(TIMESTAMP RC_VERSION_YEAR "%Y")
if(NOT DEFINED CMAKE_WINDOWS_VERSION) if(NOT DEFINED CMAKE_WINDOWS_VERSION)
set(CMAKE_WINDOWS_VERSION "WIN7") set(CMAKE_WINDOWS_VERSION "WIN7")
endif() endif()
if(CMAKE_WINDOWS_VERSION STREQUAL "WINXP") if(CMAKE_WINDOWS_VERSION STREQUAL "WINXP")
add_definitions(-DWINVER=0x0501 -D_WIN32_WINNT=0x0501) add_definitions(-DWINVER=0x0501 -D_WIN32_WINNT=0x0501)
elseif(CMAKE_WINDOWS_VERSION STREQUAL "WIN7") elseif(CMAKE_WINDOWS_VERSION STREQUAL "WIN7")
add_definitions(-DWINVER=0x0601 -D_WIN32_WINNT=0x0601) add_definitions(-DWINVER=0x0601 -D_WIN32_WINNT=0x0601)
elseif(CMAKE_WINDOWS_VERSION STREQUAL "WIN8") elseif(CMAKE_WINDOWS_VERSION STREQUAL "WIN8")
add_definitions(-DWINVER=0x0602 -D_WIN32_WINNT=0x0602) add_definitions(-DWINVER=0x0602 -D_WIN32_WINNT=0x0602)
elseif(CMAKE_WINDOWS_VERSION STREQUAL "WIN10") elseif(CMAKE_WINDOWS_VERSION STREQUAL "WIN10")
add_definitions(-DWINVER=0x0A00 -D_WIN32_WINNT=0x0A00) add_definitions(-DWINVER=0x0A00 -D_WIN32_WINNT=0x0A00)
endif() endif()
# Set product and vendor for dll and exe version information. # Set product and vendor for dll and exe version information.
set(RC_VERSION_VENDOR ${VENDOR}) set(RC_VERSION_VENDOR ${VENDOR})
set(RC_VERSION_PRODUCT ${PRODUCT}) set(RC_VERSION_PRODUCT ${PRODUCT})
set(RC_VERSION_PATCH ${BUILD_NUMBER}) set(RC_VERSION_PATCH ${BUILD_NUMBER})
set(RC_VERSION_DESCRIPTION "${FREERDP_VERSION_FULL} ${GIT_REVISION} ${CMAKE_WINDOWS_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set(RC_VERSION_DESCRIPTION
"${FREERDP_VERSION_FULL} ${GIT_REVISION} ${CMAKE_WINDOWS_VERSION} ${CMAKE_SYSTEM_PROCESSOR}"
)
if (FREERDP_EXTERNAL_SSL_PATH) if(FREERDP_EXTERNAL_SSL_PATH)
set(OPENSSL_ROOT_DIR ${FREERDP_EXTERNAL_SSL_PATH}) set(OPENSSL_ROOT_DIR ${FREERDP_EXTERNAL_SSL_PATH})
endif() endif()
endif() endif()
add_definitions(-DFREERDP_EXPORTS) add_definitions(-DFREERDP_EXPORTS)
# Mac OS X # Mac OS X
if(APPLE) if(APPLE)
if(IOS) if(IOS)
if (NOT FREERDP_IOS_EXTERNAL_SSL_PATH) 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") message(
endif() STATUS
set(CMAKE_FIND_ROOT_PATH ${CMAKE_FIND_ROOT_PATH} ${FREERDP_IOS_EXTERNAL_SSL_PATH}) "FREERDP_IOS_EXTERNAL_SSL_PATH not set! Required if openssl is not found in the iOS SDK (which usually isn't"
set_property(GLOBAL PROPERTY XCODE_ATTRIBUTE_SKIP_INSTALL YES) )
endif(IOS) 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. # Temporarily disabled, causes the cmake script to be reexecuted, causing the compilation to fail.
# Workaround: specify the parameter in the command-line # Workaround: specify the parameter in the command-line
# if(WITH_CLANG) # if(WITH_CLANG)
# set(CMAKE_C_COMPILER "clang") # set(CMAKE_C_COMPILER "clang")
# endif() # endif()
if (WITH_VERBOSE) if(WITH_VERBOSE)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -v") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -v")
endif() endif()
endif(APPLE) endif(APPLE)
# Android # Android
if(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") if(${ANDROID_ABI} STREQUAL "armeabi")
set (WITH_NEON OFF) set(WITH_NEON OFF)
endif() endif()
if(ANDROID_ABI STREQUAL arm64-v8a) if(ANDROID_ABI STREQUAL arm64-v8a)
include (CheckCCompilerFlag) include(CheckCCompilerFlag)
check_c_compiler_flag("-mfloat-abi=softfp" ABI_SOFTFP_SUPPORTED) check_c_compiler_flag("-mfloat-abi=softfp" ABI_SOFTFP_SUPPORTED)
if (ABI_SOFTFP_SUPPORTED) if(ABI_SOFTFP_SUPPORTED)
# https://github.com/android/ndk/issues/910 # https://github.com/android/ndk/issues/910
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfloat-abi=softfp") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfloat-abi=softfp")
endif() endif()
endif() endif()
if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
add_definitions(-DNDK_DEBUG=1) add_definitions(-DNDK_DEBUG=1)
# NOTE: Manually add -gdwarf-3, as newer toolchains default to -gdwarf-4, # NOTE: Manually add -gdwarf-3, as newer toolchains default to -gdwarf-4,
# which is not supported by the gdbserver binary shipped with # which is not supported by the gdbserver binary shipped with
# the android NDK (tested with r9b) # the android NDK (tested with r9b)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_DEBUG} -gdwarf-3") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_DEBUG} -gdwarf-3")
endif() endif()
set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -llog") set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -llog")
# CMAKE_PREFIX_PATH detection is broken in most Android toolchain files # CMAKE_PREFIX_PATH detection is broken in most Android toolchain files
# Append it to CMAKE_FIND_ROOT_PATH and avoid potential duplicates # Append it to CMAKE_FIND_ROOT_PATH and avoid potential duplicates
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH}) list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH})
list(REMOVE_DUPLICATES CMAKE_FIND_ROOT_PATH) list(REMOVE_DUPLICATES CMAKE_FIND_ROOT_PATH)
if (NOT FREERDP_EXTERNAL_PATH) if(NOT FREERDP_EXTERNAL_PATH)
if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/external/") if(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/external/")
set (FREERDP_EXTERNAL_PATH "${CMAKE_CURRENT_SOURCE_DIR}/external/") set(FREERDP_EXTERNAL_PATH "${CMAKE_CURRENT_SOURCE_DIR}/external/")
else() else()
message(STATUS "FREERDP_EXTERNAL_PATH not set!") message(STATUS "FREERDP_EXTERNAL_PATH not set!")
endif() endif()
endif() endif()
list (APPEND CMAKE_INCLUDE_PATH ${FREERDP_EXTERNAL_PATH}/${ANDROID_ABI}/include) list(APPEND CMAKE_INCLUDE_PATH ${FREERDP_EXTERNAL_PATH}/${ANDROID_ABI}/include)
list (APPEND CMAKE_LIBRARY_PATH ${FREERDP_EXTERNAL_PATH}/${ANDROID_ABI}/ ) list(APPEND CMAKE_LIBRARY_PATH ${FREERDP_EXTERNAL_PATH}/${ANDROID_ABI}/)
set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH ) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH ) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
if (WITH_GPROF) if(WITH_GPROF)
CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/scripts/gprof_generate.sh.in configure_file(
${PROJECT_BINARY_DIR}/scripts/gprof_generate.sh @ONLY) ${PROJECT_SOURCE_DIR}/scripts/gprof_generate.sh.in ${PROJECT_BINARY_DIR}/scripts/gprof_generate.sh @ONLY
endif(WITH_GPROF) )
endif(WITH_GPROF)
endif() endif()
if(WITH_VALGRIND_MEMCHECK) 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() else()
unset(FREERDP_HAVE_VALGRIND_MEMCHECK_H CACHE) unset(FREERDP_HAVE_VALGRIND_MEMCHECK_H CACHE)
endif() endif()
if(UNIX OR CYGWIN) if(UNIX OR CYGWIN)
set(WAYLAND_FEATURE_TYPE "RECOMMENDED") set(WAYLAND_FEATURE_TYPE "RECOMMENDED")
else() else()
set(WAYLAND_FEATURE_TYPE "DISABLED") set(WAYLAND_FEATURE_TYPE "DISABLED")
endif() endif()
if(WITH_PCSC_WINPR) if(WITH_PCSC_WINPR)
find_package(PCSCWinPR) find_package(PCSCWinPR)
endif() endif()
set(WAYLAND_FEATURE_PURPOSE "Wayland") set(WAYLAND_FEATURE_PURPOSE "Wayland")
@@ -509,44 +518,44 @@ set(SOXR_FEATURE_PURPOSE "codec")
set(SOXR_FEATURE_DESCRIPTION "SOX audio resample library") set(SOXR_FEATURE_DESCRIPTION "SOX audio resample library")
if(WIN32) if(WIN32)
set(WAYLAND_FEATURE_TYPE "DISABLED") set(WAYLAND_FEATURE_TYPE "DISABLED")
set(PCSC_FEATURE_TYPE "DISABLED") set(PCSC_FEATURE_TYPE "DISABLED")
endif() endif()
if(APPLE) if(APPLE)
set(WAYLAND_FEATURE_TYPE "DISABLED") set(WAYLAND_FEATURE_TYPE "DISABLED")
if(IOS) if(IOS)
set(PCSC_FEATURE_TYPE "DISABLED") set(PCSC_FEATURE_TYPE "DISABLED")
endif() endif()
endif() endif()
if(ANDROID) if(ANDROID)
set(WAYLAND_FEATURE_TYPE "DISABLED") set(WAYLAND_FEATURE_TYPE "DISABLED")
set(PCSC_FEATURE_TYPE "DISABLED") set(PCSC_FEATURE_TYPE "DISABLED")
endif() endif()
find_feature(Wayland ${WAYLAND_FEATURE_TYPE} ${WAYLAND_FEATURE_PURPOSE} ${WAYLAND_FEATURE_DESCRIPTION}) find_feature(Wayland ${WAYLAND_FEATURE_TYPE} ${WAYLAND_FEATURE_PURPOSE} ${WAYLAND_FEATURE_DESCRIPTION})
option(WITH_LIBRESSL "build with LibreSSL" OFF) option(WITH_LIBRESSL "build with LibreSSL" OFF)
if (WITH_LIBRESSL) if(WITH_LIBRESSL)
find_package(LibreSSL REQUIRED) find_package(LibreSSL REQUIRED)
include_directories(SYSTEM ${LibreSSL_INCLUDE_DIRS}) include_directories(SYSTEM ${LibreSSL_INCLUDE_DIRS})
set(OPENSSL_INCLUDE_DIR ${LIBRESSL_INCLUDE_DIR}) set(OPENSSL_INCLUDE_DIR ${LIBRESSL_INCLUDE_DIR})
set(OPENSSL_LIBRARIES ${LIBRESSL_LIBRARIES}) set(OPENSSL_LIBRARIES ${LIBRESSL_LIBRARIES})
set(OPENSSL_CRYPTO_LIBRARIES ${LIBRESSL_LIBRARIES}) set(OPENSSL_CRYPTO_LIBRARIES ${LIBRESSL_LIBRARIES})
set(WITH_OPENSSL ON) set(WITH_OPENSSL ON)
set(OPENSSL_FOUND ON) set(OPENSSL_FOUND ON)
add_definitions("-DWITH_LIBRESSL") add_definitions("-DWITH_LIBRESSL")
add_definitions("-DWITH_OPENSSL") add_definitions("-DWITH_OPENSSL")
else() else()
find_feature(OpenSSL ${OPENSSL_FEATURE_TYPE} ${OPENSSL_FEATURE_PURPOSE} ${OPENSSL_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}) find_feature(MbedTLS ${MBEDTLS_FEATURE_TYPE} ${MBEDTLS_FEATURE_PURPOSE} ${MBEDTLS_FEATURE_DESCRIPTION})
endif() endif()
find_feature(PCSC ${PCSC_FEATURE_TYPE} ${PCSC_FEATURE_PURPOSE} ${PCSC_FEATURE_DESCRIPTION}) find_feature(PCSC ${PCSC_FEATURE_TYPE} ${PCSC_FEATURE_PURPOSE} ${PCSC_FEATURE_DESCRIPTION})
if (WITH_DSP_FFMPEG OR WITH_VIDEO_FFMPEG OR WITH_FFMPEG) if(WITH_DSP_FFMPEG OR WITH_VIDEO_FFMPEG OR WITH_FFMPEG)
find_package(FFmpeg REQUIRED COMPONENTS AVUTIL AVCODEC) find_package(FFmpeg REQUIRED COMPONENTS AVUTIL AVCODEC)
endif() endif()
find_feature(OpenH264 ${OPENH264_FEATURE_TYPE} ${OPENH264_FEATURE_PURPOSE} ${OPENH264_FEATURE_DESCRIPTION}) 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(FAAC ${FAAC_FEATURE_TYPE} ${FAAC_FEATURE_PURPOSE} ${FAAC_FEATURE_DESCRIPTION})
find_feature(soxr ${SOXR_FEATURE_TYPE} ${SOXR_FEATURE_PURPOSE} ${SOXR_FEATURE_DESCRIPTION}) find_feature(soxr ${SOXR_FEATURE_TYPE} ${SOXR_FEATURE_PURPOSE} ${SOXR_FEATURE_DESCRIPTION})
if (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) option(WITH_OPENH264_LOADING "Use LoadLibrary to load openh264 at runtime" OFF)
endif (WITH_OPENH264 AND NOT WITH_OPENH264_LOADING) endif(WITH_OPENH264 AND NOT WITH_OPENH264_LOADING)
# Version check, if we have detected FFMPEG but the version is too old # Version check, if we have detected FFMPEG but the version is too old
# deactivate it as sound backend. # deactivate it as sound backend.
if (WITH_DSP_FFMPEG) if(WITH_DSP_FFMPEG)
if (AVCODEC_VERSION VERSION_LESS "57.48.101") 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") message(
set(WITH_DSP_FFMPEG OFF) WARNING
endif() "FFmpeg version detected (${AVCODEC_VERSION}) is too old. (Require at least 57.48.101 for sound). Deactivating"
endif (WITH_DSP_FFMPEG) )
set(WITH_DSP_FFMPEG OFF)
endif()
endif(WITH_DSP_FFMPEG)
if (WITH_OPENH264 AND NOT OPENH264_FOUND) if(WITH_OPENH264 AND NOT OPENH264_FOUND)
message(FATAL_ERROR "OpenH264 support requested but not detected") message(FATAL_ERROR "OpenH264 support requested but not detected")
endif() endif()
set(WITH_OPENH264 ${OPENH264_FOUND}) set(WITH_OPENH264 ${OPENH264_FOUND})
if(OPENSSL_FOUND) if(OPENSSL_FOUND)
add_definitions("-DWITH_OPENSSL") add_definitions("-DWITH_OPENSSL")
message(STATUS "Using OpenSSL Version: ${OPENSSL_VERSION}") message(STATUS "Using OpenSSL Version: ${OPENSSL_VERSION}")
include_directories(SYSTEM ${OPENSSL_INCLUDE_DIR}) include_directories(SYSTEM ${OPENSSL_INCLUDE_DIR})
endif() endif()
if(MBEDTLS_FOUND) if(MBEDTLS_FOUND)
add_definitions("-DWITH_MBEDTLS") add_definitions("-DWITH_MBEDTLS")
endif() endif()
if (WITH_OPENH264 OR WITH_MEDIA_FOUNDATION OR WITH_VIDEO_FFMPEG OR WITH_MEDIACODEC) if(WITH_OPENH264 OR WITH_MEDIA_FOUNDATION OR WITH_VIDEO_FFMPEG OR WITH_MEDIACODEC)
set(WITH_GFX_H264 ON) set(WITH_GFX_H264 ON)
else() else()
set(WITH_GFX_H264 OFF) set(WITH_GFX_H264 OFF)
endif() endif()
# Android expects all libraries to be loadable # Android expects all libraries to be loadable
# without paths. # without paths.
if (ANDROID OR WIN32 OR MAC_BUNDLE) if(ANDROID OR WIN32 OR MAC_BUNDLE)
set(PLUGIN_ABS_PATHS_DEFAULT OFF) set(PLUGIN_ABS_PATHS_DEFAULT OFF)
else() else()
set(PLUGIN_ABS_PATHS_DEFAULT ON) set(PLUGIN_ABS_PATHS_DEFAULT ON)
endif() endif()
option(WITH_ABSOLUTE_PLUGIN_LOAD_PATHS "Load plugins with absolute paths" ${PLUGIN_ABS_PATHS_DEFAULT}) 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") set(FREERDP_DATA_PATH "share")
if (NOT FREERDP_INSTALL_PREFIX) if(NOT FREERDP_INSTALL_PREFIX)
set(FREERDP_INSTALL_PREFIX ".") set(FREERDP_INSTALL_PREFIX ".")
endif() endif()
set(FREERDP_LIBRARY_PATH ".") set(FREERDP_LIBRARY_PATH ".")
set(FREERDP_PLUGIN_PATH ".") set(FREERDP_PLUGIN_PATH ".")
else() else()
set(FREERDP_DATA_PATH "${CMAKE_INSTALL_PREFIX}/share/${FREERDP_MAJOR_DIR}") set(FREERDP_DATA_PATH "${CMAKE_INSTALL_PREFIX}/share/${FREERDP_MAJOR_DIR}")
if (NOT FREERDP_INSTALL_PREFIX) if(NOT FREERDP_INSTALL_PREFIX)
set(FREERDP_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") set(FREERDP_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
endif() endif()
set(FREERDP_LIBRARY_PATH "${CMAKE_INSTALL_LIBDIR}") set(FREERDP_LIBRARY_PATH "${CMAKE_INSTALL_LIBDIR}")
if (WIN32) if(WIN32)
set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_BINDIR}/${FREERDP_MAJOR_DIR}") set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_BINDIR}/${FREERDP_MAJOR_DIR}")
else() else()
set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_LIBDIR}/${FREERDP_MAJOR_DIR}") set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_LIBDIR}/${FREERDP_MAJOR_DIR}")
endif() endif()
endif() endif()
set(FREERDP_ADDIN_PATH "${FREERDP_PLUGIN_PATH}") 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 # Proxy plugins path
if(NOT DEFINED PROXY_PLUGINDIR) if(NOT DEFINED PROXY_PLUGINDIR)
message("using default plugins location") message("using default plugins location")
set(FREERDP_PROXY_PLUGINDIR "${FREERDP_PLUGIN_PATH}/proxy/") set(FREERDP_PROXY_PLUGINDIR "${FREERDP_PLUGIN_PATH}/proxy/")
else() else()
set(FREERDP_PROXY_PLUGINDIR "${PROXY_PLUGINDIR}") set(FREERDP_PROXY_PLUGINDIR "${PROXY_PLUGINDIR}")
endif() endif()
# Android profiling # Android profiling
if(ANDROID) if(ANDROID)
if(WITH_GPROF) if(WITH_GPROF)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pg") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pg")
set(PROFILER_LIBRARIES set(PROFILER_LIBRARIES "${FREERDP_EXTERNAL_PROFILER_PATH}/obj/local/${ANDROID_ABI}/libandroid-ndk-profiler.a")
"${FREERDP_EXTERNAL_PROFILER_PATH}/obj/local/${ANDROID_ABI}/libandroid-ndk-profiler.a") include_directories(SYSTEM "${FREERDP_EXTERNAL_PROFILER_PATH}")
include_directories(SYSTEM "${FREERDP_EXTERNAL_PROFILER_PATH}") endif()
endif()
endif() endif()
# Unit Tests # Unit Tests
@@ -649,34 +660,34 @@ endif()
include(CTest) include(CTest)
if(BUILD_TESTING_INTERNAL OR BUILD_TESTING) if(BUILD_TESTING_INTERNAL OR BUILD_TESTING)
enable_testing() enable_testing()
if(MSVC) if(MSVC)
set(TESTING_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}") set(TESTING_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
else() else()
set(TESTING_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/Testing") set(TESTING_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/Testing")
endif() endif()
endif() endif()
include(CommonConfigOptions) include(CommonConfigOptions)
if (FREERDP_UNIFIED_BUILD) if(FREERDP_UNIFIED_BUILD)
add_subdirectory(winpr) add_subdirectory(winpr)
if (WITH_WAYLAND) if(WITH_WAYLAND)
add_subdirectory(uwac) add_subdirectory(uwac)
endif() endif()
if (WITH_SERVER) if(WITH_SERVER)
option(WITH_RDTK "build rdtk toolkit" ON) option(WITH_RDTK "build rdtk toolkit" ON)
if (WITH_RDTK) if(WITH_RDTK)
add_subdirectory(rdtk) add_subdirectory(rdtk)
endif() endif()
endif() endif()
include_directories(${PROJECT_SOURCE_DIR}/winpr/include) include_directories(${PROJECT_SOURCE_DIR}/winpr/include)
include_directories(${PROJECT_BINARY_DIR}/winpr/include) include_directories(${PROJECT_BINARY_DIR}/winpr/include)
else() else()
find_package(WinPR 3 REQUIRED) find_package(WinPR 3 REQUIRED)
include_directories(SYSTEM ${WinPR_INCLUDE_DIR}) include_directories(SYSTEM ${WinPR_INCLUDE_DIR})
endif() endif()
option(WITH_AAD "Compile with support for Azure AD authentication" ${WITH_WINPR_JSON}) 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 # Sub-directories
if(WITH_THIRD_PARTY) if(WITH_THIRD_PARTY)
add_subdirectory(third-party) add_subdirectory(third-party)
if (NOT "${THIRD_PARTY_INCLUDES}" STREQUAL "") if(NOT "${THIRD_PARTY_INCLUDES}" STREQUAL "")
include_directories(SYSTEM ${THIRD_PARTY_INCLUDES}) include_directories(SYSTEM ${THIRD_PARTY_INCLUDES})
endif() endif()
endif() endif()
add_subdirectory(libfreerdp) add_subdirectory(libfreerdp)
if(WITH_CHANNELS) if(WITH_CHANNELS)
add_subdirectory(channels) add_subdirectory(channels)
endif() endif()
if(WITH_CLIENT_COMMON OR WITH_CLIENT) if(WITH_CLIENT_COMMON OR WITH_CLIENT)
add_subdirectory(client) add_subdirectory(client)
endif() endif()
if(WITH_SERVER) if(WITH_SERVER)
add_subdirectory(server) add_subdirectory(server)
endif() endif()
# Packaging # Packaging
@@ -715,22 +725,22 @@ endif()
set(CMAKE_CPACK_INCLUDE_FILE "CMakeCPack.cmake") set(CMAKE_CPACK_INCLUDE_FILE "CMakeCPack.cmake")
if(NOT (VENDOR MATCHES "FreeRDP")) if(NOT (VENDOR MATCHES "FreeRDP"))
if(DEFINED CLIENT_VENDOR_PATH) if(DEFINED CLIENT_VENDOR_PATH)
if(EXISTS "${PROJECT_SOURCE_DIR}/${CLIENT_VENDOR_PATH}/CMakeCPack.cmake") if(EXISTS "${PROJECT_SOURCE_DIR}/${CLIENT_VENDOR_PATH}/CMakeCPack.cmake")
set(CMAKE_CPACK_INCLUDE_FILE "${CLIENT_VENDOR_PATH}/CMakeCPack.cmake") set(CMAKE_CPACK_INCLUDE_FILE "${CLIENT_VENDOR_PATH}/CMakeCPack.cmake")
endif() endif()
endif() endif()
endif() endif()
#message("VENDOR: ${VENDOR} CLIENT_VENDOR_PATH: ${CLIENT_VENDOR_PATH} CMAKE_CPACK_INCLUDE_FILE: ${CMAKE_CPACK_INCLUDE_FILE}") #message("VENDOR: ${VENDOR} CLIENT_VENDOR_PATH: ${CLIENT_VENDOR_PATH} CMAKE_CPACK_INCLUDE_FILE: ${CMAKE_CPACK_INCLUDE_FILE}")
set(FREERDP_BUILD_CONFIG_LIST "") set(FREERDP_BUILD_CONFIG_LIST "")
GET_CMAKE_PROPERTY(res VARIABLES) get_cmake_property(res VARIABLES)
FOREACH(var ${res}) foreach(var ${res})
IF (var MATCHES "^WITH_*|^BUILD_TESTING*|^WINPR_HAVE_*") if(var MATCHES "^WITH_*|^BUILD_TESTING*|^WINPR_HAVE_*")
LIST(APPEND FREERDP_BUILD_CONFIG_LIST "${var}=${${var}}") list(APPEND FREERDP_BUILD_CONFIG_LIST "${var}=${${var}}")
ENDIF() endif()
ENDFOREACH() endforeach()
string(REPLACE ";" " " FREERDP_BUILD_CONFIG "${FREERDP_BUILD_CONFIG_LIST}") string(REPLACE ";" " " FREERDP_BUILD_CONFIG "${FREERDP_BUILD_CONFIG_LIST}")
add_subdirectory(include) add_subdirectory(include)
@@ -740,8 +750,5 @@ include(${CMAKE_CPACK_INCLUDE_FILE})
message(STATUS "Intrinsic path configuration:") message(STATUS "Intrinsic path configuration:")
#ShowCMakeVars("^CMAKE_INSTALL_PREFIX") #ShowCMakeVars("^CMAKE_INSTALL_PREFIX")
#ShowCMakeVars("^CMAKE_INSTALL_LIBDIR") #ShowCMakeVars("^CMAKE_INSTALL_LIBDIR")
ShowCMakeVars("^FREERDP_INSTALL_PREFIX|^FREERDP_LIBRARY_PATH|^FREERDP_PLUGIN_PATH") showcmakevars("^FREERDP_INSTALL_PREFIX|^FREERDP_LIBRARY_PATH|^FREERDP_PLUGIN_PATH")
ShowCMakeVars("^FREERDP_ADDIN_PATH|^FREERDP_EXTENSION_PATH|^FREERDP_PROXY_PLUGINDIR") showcmakevars("^FREERDP_ADDIN_PATH|^FREERDP_EXTENSION_PATH|^FREERDP_PROXY_PLUGINDIR")

View File

@@ -21,11 +21,7 @@ include(CMakeDependentOption)
macro(define_channel_options) macro(define_channel_options)
set(PREFIX "CHANNEL") set(PREFIX "CHANNEL")
cmake_parse_arguments(${PREFIX} cmake_parse_arguments(${PREFIX} "" "NAME;TYPE;DESCRIPTION;SPECIFICATIONS;DEFAULT" "" ${ARGN})
""
"NAME;TYPE;DESCRIPTION;SPECIFICATIONS;DEFAULT"
""
${ARGN})
string(TOUPPER "CHANNEL_${CHANNEL_NAME}" CHANNEL_OPTION) string(TOUPPER "CHANNEL_${CHANNEL_NAME}" CHANNEL_OPTION)
string(TOUPPER "CHANNEL_${CHANNEL_NAME}_CLIENT" CHANNEL_CLIENT_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") set(CHANNEL_OPTION_DOC "Build ${CHANNEL_NAME} ${CHANNEL_TYPE} channel")
if ("${CHANNEL_TYPE}" STREQUAL "DYNAMIC") if("${CHANNEL_TYPE}" STREQUAL "DYNAMIC")
CMAKE_DEPENDENT_OPTION(${CHANNEL_OPTION} "${CHANNEL_OPTION_DOC}" ${CHANNEL_DEFAULT} "CHANNEL_DRDYNVC" OFF) cmake_dependent_option(${CHANNEL_OPTION} "${CHANNEL_OPTION_DOC}" ${CHANNEL_DEFAULT} "CHANNEL_DRDYNVC" OFF)
else() else()
option(${CHANNEL_OPTION} "${CHANNEL_OPTION_DOC}" ${CHANNEL_DEFAULT}) option(${CHANNEL_OPTION} "${CHANNEL_OPTION_DOC}" ${CHANNEL_DEFAULT})
endif() endif()
@@ -65,8 +61,9 @@ macro(define_channel_client_options _channel_client_default)
string(TOUPPER "CHANNEL_${CHANNEL_NAME}" CHANNEL_OPTION) string(TOUPPER "CHANNEL_${CHANNEL_NAME}" CHANNEL_OPTION)
set(CHANNEL_CLIENT_OPTION_DOC "Build ${CHANNEL_NAME} ${CHANNEL_TYPE} channel client") set(CHANNEL_CLIENT_OPTION_DOC "Build ${CHANNEL_NAME} ${CHANNEL_TYPE} channel client")
CMAKE_DEPENDENT_OPTION(${CHANNEL_CLIENT_OPTION} "${CHANNEL_CLIENT_OPTION_DOC}" cmake_dependent_option(
${_channel_client_default} "${CHANNEL_OPTION}" OFF) ${CHANNEL_CLIENT_OPTION} "${CHANNEL_CLIENT_OPTION_DOC}" ${_channel_client_default} "${CHANNEL_OPTION}" OFF
)
endmacro(define_channel_client_options) endmacro(define_channel_client_options)
macro(define_channel_server_options _channel_server_default) 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) string(TOUPPER "CHANNEL_${CHANNEL_NAME}" CHANNEL_OPTION)
set(CHANNEL_SERVER_OPTION_DOC "Build ${CHANNEL_NAME} ${CHANNEL_TYPE} channel server") set(CHANNEL_SERVER_OPTION_DOC "Build ${CHANNEL_NAME} ${CHANNEL_TYPE} channel server")
CMAKE_DEPENDENT_OPTION(${CHANNEL_SERVER_OPTION} "${CHANNEL_SERVER_OPTION_DOC}" cmake_dependent_option(
${_channel_server_default} "${CHANNEL_OPTION}" OFF) ${CHANNEL_SERVER_OPTION} "${CHANNEL_SERVER_OPTION_DOC}" ${_channel_server_default} "${CHANNEL_OPTION}" OFF
)
endmacro(define_channel_server_options) endmacro(define_channel_server_options)
macro(define_channel _channel_name) macro(define_channel _channel_name)
@@ -119,29 +117,33 @@ macro(define_channel_server_subsystem _channel_name _subsystem _type)
endmacro(define_channel_server_subsystem) endmacro(define_channel_server_subsystem)
macro(add_channel_client _channel_prefix _channel_name) macro(add_channel_client _channel_prefix _channel_name)
if (${_channel_prefix}_CLIENT) if(${_channel_prefix}_CLIENT)
add_subdirectory(client) add_subdirectory(client)
if(${${_channel_prefix}_CLIENT_STATIC}) if(${${_channel_prefix}_CLIENT_STATIC})
set(CHANNEL_STATIC_CLIENT_MODULES ${CHANNEL_STATIC_CLIENT_MODULES} ${_channel_prefix} PARENT_SCOPE) 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_NAME ${${_channel_prefix}_CLIENT_NAME} PARENT_SCOPE)
set(${_channel_prefix}_CLIENT_CHANNEL ${${_channel_prefix}_CLIENT_CHANNEL} 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_prefix}_CLIENT_ENTRY ${${_channel_prefix}_CLIENT_ENTRY} PARENT_SCOPE)
set(CHANNEL_STATIC_CLIENT_ENTRIES ${CHANNEL_STATIC_CLIENT_ENTRIES} ${${_channel_prefix}_CLIENT_ENTRY} PARENT_SCOPE) set(CHANNEL_STATIC_CLIENT_ENTRIES ${CHANNEL_STATIC_CLIENT_ENTRIES} ${${_channel_prefix}_CLIENT_ENTRY}
endif() PARENT_SCOPE
endif() )
endif()
endif()
endmacro(add_channel_client) endmacro(add_channel_client)
macro(add_channel_server _channel_prefix _channel_name) macro(add_channel_server _channel_prefix _channel_name)
if (${_channel_prefix}_SERVER) if(${_channel_prefix}_SERVER)
add_subdirectory(server) add_subdirectory(server)
if(${${_channel_prefix}_SERVER_STATIC}) if(${${_channel_prefix}_SERVER_STATIC})
set(CHANNEL_STATIC_SERVER_MODULES ${CHANNEL_STATIC_SERVER_MODULES} ${_channel_prefix} PARENT_SCOPE) 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_NAME ${${_channel_prefix}_SERVER_NAME} PARENT_SCOPE)
set(${_channel_prefix}_SERVER_CHANNEL ${${_channel_prefix}_SERVER_CHANNEL} 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_prefix}_SERVER_ENTRY ${${_channel_prefix}_SERVER_ENTRY} PARENT_SCOPE)
set(CHANNEL_STATIC_SERVER_ENTRIES ${CHANNEL_STATIC_SERVER_ENTRIES} ${${_channel_prefix}_SERVER_ENTRY} PARENT_SCOPE) set(CHANNEL_STATIC_SERVER_ENTRIES ${CHANNEL_STATIC_SERVER_ENTRIES} ${${_channel_prefix}_SERVER_ENTRY}
endif() PARENT_SCOPE
endif() )
endif()
endif()
endmacro(add_channel_server) endmacro(add_channel_server)
macro(add_channel_client_subsystem _channel_prefix _channel_name _subsystem _type) 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) endmacro(add_channel_client_subsystem)
macro(channel_install _targets _destination _export_target) macro(channel_install _targets _destination _export_target)
if (NOT BUILD_SHARED_LIBS) if(NOT BUILD_SHARED_LIBS)
foreach(_target_name IN ITEMS ${_targets}) foreach(_target_name IN ITEMS ${_targets})
target_include_directories(${_target_name} INTERFACE $<INSTALL_INTERFACE:include>) target_include_directories(${_target_name} INTERFACE $<INSTALL_INTERFACE:include>)
endforeach() endforeach()
install(TARGETS ${_targets} DESTINATION ${_destination} EXPORT ${_export_target}) install(TARGETS ${_targets} DESTINATION ${_destination} EXPORT ${_export_target})
endif() endif()
endmacro(channel_install) endmacro(channel_install)
macro(server_channel_install _targets _destination) macro(server_channel_install _targets _destination)
channel_install(${_targets} ${_destination} "FreeRDP-ServerTargets") channel_install(${_targets} ${_destination} "FreeRDP-ServerTargets")
endmacro(server_channel_install) endmacro(server_channel_install)
macro(client_channel_install _targets _destination) macro(client_channel_install _targets _destination)
channel_install(${_targets} ${_destination} "FreeRDP-ClientTargets") channel_install(${_targets} ${_destination} "FreeRDP-ClientTargets")
endmacro(client_channel_install) endmacro(client_channel_install)
macro(add_channel_client_library _module_prefix _module_name _channel_name _dynamic _entry) macro(add_channel_client_library _module_prefix _module_name _channel_name _dynamic _entry)
set(_lnk_dir ${${_module_prefix}_LINK_DIRS}) set(_lnk_dir ${${_module_prefix}_LINK_DIRS})
if (NOT "${_lnk_dir}" STREQUAL "") if(NOT "${_lnk_dir}" STREQUAL "")
link_directories(${_lnk_dir}) link_directories(${_lnk_dir})
endif() endif()
set(${_module_prefix}_STATIC ON PARENT_SCOPE) set(${_module_prefix}_STATIC ON PARENT_SCOPE)
set(${_module_prefix}_NAME ${_module_name} PARENT_SCOPE) set(${_module_prefix}_NAME ${_module_name} PARENT_SCOPE)
set(${_module_prefix}_CHANNEL ${_channel_name} PARENT_SCOPE) set(${_module_prefix}_CHANNEL ${_channel_name} PARENT_SCOPE)
set(${_module_prefix}_ENTRY ${_entry} PARENT_SCOPE) set(${_module_prefix}_ENTRY ${_entry} PARENT_SCOPE)
add_library(${_module_name} OBJECT ${${_module_prefix}_SRCS}) add_library(${_module_name} OBJECT ${${_module_prefix}_SRCS})
set_property(TARGET ${_module_name} PROPERTY FOLDER "Channels/${CHANNEL_NAME}/Client") set_property(TARGET ${_module_name} PROPERTY FOLDER "Channels/${CHANNEL_NAME}/Client")
if (${_module_prefix}_LIBS) if(${_module_prefix}_LIBS)
target_link_libraries(${_module_name} PUBLIC ${${_module_prefix}_LIBS}) target_link_libraries(${_module_name} PUBLIC ${${_module_prefix}_LIBS})
endif() endif()
client_channel_install(${_module_name} ${FREERDP_ADDIN_PATH}) client_channel_install(${_module_name} ${FREERDP_ADDIN_PATH})
endmacro(add_channel_client_library) 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}) set(_lnk_dir ${${_module_prefix}_LINK_DIRS})
if (NOT "${_lnk_dir}" STREQUAL "") if(NOT "${_lnk_dir}" STREQUAL "")
link_directories(${_lnk_dir}) link_directories(${_lnk_dir})
endif() endif()
set(${_module_prefix}_STATIC ON PARENT_SCOPE) set(${_module_prefix}_STATIC ON PARENT_SCOPE)
set(${_module_prefix}_NAME ${_module_name} PARENT_SCOPE) set(${_module_prefix}_NAME ${_module_name} PARENT_SCOPE)
set(${_module_prefix}_TYPE ${_type} PARENT_SCOPE) set(${_module_prefix}_TYPE ${_type} PARENT_SCOPE)
add_library(${_module_name} OBJECT ${${_module_prefix}_SRCS}) add_library(${_module_name} OBJECT ${${_module_prefix}_SRCS})
set_property(TARGET ${_module_name} PROPERTY FOLDER "Channels/${_channel_name}/Client/Subsystem/${CHANNEL_SUBSYSTEM}") set_property(TARGET ${_module_name} PROPERTY FOLDER "Channels/${_channel_name}/Client/Subsystem/${CHANNEL_SUBSYSTEM}")
if (${_module_prefix}_LIBS) if(${_module_prefix}_LIBS)
target_link_libraries(${_module_name} PUBLIC ${${_module_prefix}_LIBS}) target_link_libraries(${_module_name} PUBLIC ${${_module_prefix}_LIBS})
endif() endif()
client_channel_install(${_module_name} ${FREERDP_ADDIN_PATH}) client_channel_install(${_module_name} ${FREERDP_ADDIN_PATH})
endmacro(add_channel_client_subsystem_library) endmacro(add_channel_client_subsystem_library)
macro(add_channel_server_library _module_prefix _module_name _channel_name _dynamic _entry) macro(add_channel_server_library _module_prefix _module_name _channel_name _dynamic _entry)
set(_lnk_dir ${${_module_prefix}_LINK_DIRS}) set(_lnk_dir ${${_module_prefix}_LINK_DIRS})
if (NOT "${_lnk_dir}" STREQUAL "") if(NOT "${_lnk_dir}" STREQUAL "")
link_directories(${_lnk_dir}) link_directories(${_lnk_dir})
endif() endif()
set(${_module_prefix}_STATIC ON PARENT_SCOPE) set(${_module_prefix}_STATIC ON PARENT_SCOPE)
set(${_module_prefix}_NAME ${_module_name} PARENT_SCOPE) set(${_module_prefix}_NAME ${_module_name} PARENT_SCOPE)
set(${_module_prefix}_CHANNEL ${_channel_name} PARENT_SCOPE) set(${_module_prefix}_CHANNEL ${_channel_name} PARENT_SCOPE)
set(${_module_prefix}_ENTRY ${_entry} PARENT_SCOPE) set(${_module_prefix}_ENTRY ${_entry} PARENT_SCOPE)
add_library(${_module_name} OBJECT ${${_module_prefix}_SRCS}) add_library(${_module_name} OBJECT ${${_module_prefix}_SRCS})
set_property(TARGET ${_module_name} PROPERTY FOLDER "Channels/${CHANNEL_NAME}/Server") set_property(TARGET ${_module_name} PROPERTY FOLDER "Channels/${CHANNEL_NAME}/Server")
if (${_module_prefix}_LIBS) if(${_module_prefix}_LIBS)
target_link_libraries(${_module_name} PUBLIC ${${_module_prefix}_LIBS}) target_link_libraries(${_module_name} PUBLIC ${${_module_prefix}_LIBS})
endif() endif()
server_channel_install(${_module_name} ${FREERDP_ADDIN_PATH}) server_channel_install(${_module_name} ${FREERDP_ADDIN_PATH})
endmacro(add_channel_server_library) endmacro(add_channel_server_library)
set(FILENAME "ChannelOptions.cmake") set(FILENAME "ChannelOptions.cmake")
@@ -254,7 +264,7 @@ foreach(FILEPATH ${FILEPATHS})
endif() endif()
endforeach() endforeach()
if (NOT "${DRDYNVC_MATCH}" STREQUAL "") if(NOT "${DRDYNVC_MATCH}" STREQUAL "")
list(REMOVE_ITEM FILEPATHS ${DRDYNVC_MATCH}) list(REMOVE_ITEM FILEPATHS ${DRDYNVC_MATCH})
list(APPEND FILEPATHS ${DRDYNVC_MATCH}) list(APPEND FILEPATHS ${DRDYNVC_MATCH})
list(REVERSE FILEPATHS) # list PREPEND is not available on old CMake3 list(REVERSE FILEPATHS) # list PREPEND is not available on old CMake3
@@ -281,7 +291,7 @@ foreach(FILEPATH ${FILEPATHS})
endif() endif()
endforeach(FILEPATH) endforeach(FILEPATH)
if (WITH_CHANNELS) if(WITH_CHANNELS)
if(WITH_CLIENT_CHANNELS) if(WITH_CLIENT_CHANNELS)
add_subdirectory(client) add_subdirectory(client)
set(FREERDP_CHANNELS_CLIENT_SRCS ${FREERDP_CHANNELS_CLIENT_SRCS} PARENT_SCOPE) set(FREERDP_CHANNELS_CLIENT_SRCS ${FREERDP_CHANNELS_CLIENT_SRCS} PARENT_SCOPE)

View File

@@ -19,9 +19,9 @@
define_channel("ainput") define_channel("ainput")
if(WITH_CLIENT_CHANNELS) if(WITH_CLIENT_CHANNELS)
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()
if(WITH_SERVER_CHANNELS) if(WITH_SERVER_CHANNELS)
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()

View File

@@ -1,13 +1,19 @@
set(OPTION_DEFAULT OFF) set(OPTION_DEFAULT OFF)
set(OPTION_CLIENT_DEFAULT ON) set(OPTION_CLIENT_DEFAULT ON)
set(OPTION_SERVER_DEFAULT ON) set(OPTION_SERVER_DEFAULT ON)
define_channel_options(NAME "ainput" TYPE "dynamic" define_channel_options(
DESCRIPTION "Advanced Input Virtual Channel Extension" NAME
SPECIFICATIONS "[XXXXX]" "ainput"
DEFAULT ${OPTION_DEFAULT}) TYPE
"dynamic"
DESCRIPTION
"Advanced Input Virtual Channel Extension"
SPECIFICATIONS
"[XXXXX]"
DEFAULT
${OPTION_DEFAULT}
)
define_channel_client_options(${OPTION_CLIENT_DEFAULT}) define_channel_client_options(${OPTION_CLIENT_DEFAULT})
define_channel_server_options(${OPTION_SERVER_DEFAULT}) define_channel_server_options(${OPTION_SERVER_DEFAULT})

View File

@@ -18,14 +18,9 @@
define_channel_client("ainput") define_channel_client("ainput")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS ainput_main.c ainput_main.h)
ainput_main.c
ainput_main.h
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr)
winpr
)
include_directories(..) include_directories(..)

View File

@@ -18,11 +18,7 @@
define_channel_server("ainput") define_channel_server("ainput")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS ainput_main.c)
ainput_main.c
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS freerdp)
freerdp
)
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "DVCPluginEntry") add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "DVCPluginEntry")

View File

@@ -18,9 +18,9 @@
define_channel("audin") define_channel("audin")
if(WITH_CLIENT_CHANNELS) if(WITH_CLIENT_CHANNELS)
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()
if(WITH_SERVER_CHANNELS) if(WITH_SERVER_CHANNELS)
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()

View File

@@ -1,17 +1,23 @@
set(OPTION_DEFAULT OFF) set(OPTION_DEFAULT OFF)
set(OPTION_CLIENT_DEFAULT ON) set(OPTION_CLIENT_DEFAULT ON)
set(OPTION_SERVER_DEFAULT ON) set(OPTION_SERVER_DEFAULT ON)
if(ANDROID) if(ANDROID)
set(OPTION_SERVER_DEFAULT OFF) set(OPTION_SERVER_DEFAULT OFF)
endif() endif()
define_channel_options(NAME "audin" TYPE "dynamic" define_channel_options(
DESCRIPTION "Audio Input Redirection Virtual Channel Extension" NAME
SPECIFICATIONS "[MS-RDPEAI]" "audin"
DEFAULT ${OPTION_DEFAULT}) TYPE
"dynamic"
DESCRIPTION
"Audio Input Redirection Virtual Channel Extension"
SPECIFICATIONS
"[MS-RDPEAI]"
DEFAULT
${OPTION_DEFAULT}
)
define_channel_client_options(${OPTION_CLIENT_DEFAULT}) define_channel_client_options(${OPTION_CLIENT_DEFAULT})
define_channel_server_options(${OPTION_SERVER_DEFAULT}) define_channel_server_options(${OPTION_SERVER_DEFAULT})

View File

@@ -17,47 +17,42 @@
define_channel_client("audin") define_channel_client("audin")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS audin_main.c audin_main.h)
audin_main.c
audin_main.h
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS freerdp winpr)
freerdp winpr
)
include_directories(..) include_directories(..)
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry") add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry")
if(WITH_OSS) if(WITH_OSS)
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "oss" "") add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "oss" "")
endif() endif()
if(WITH_ALSA) if(WITH_ALSA)
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "alsa" "") add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "alsa" "")
endif() endif()
if(WITH_PULSE) if(WITH_PULSE)
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "pulse" "") add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "pulse" "")
endif() endif()
if(WITH_OPENSLES) if(WITH_OPENSLES)
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "opensles" "") add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "opensles" "")
endif() endif()
if(WITH_WINMM) if(WITH_WINMM)
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "winmm" "") add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "winmm" "")
endif() endif()
if(WITH_MACAUDIO) if(WITH_MACAUDIO)
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "mac" "") add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "mac" "")
endif() endif()
if(WITH_SNDIO) if(WITH_SNDIO)
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "sndio" "") add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "sndio" "")
endif() endif()
if(WITH_IOSAUDIO) if(WITH_IOSAUDIO)
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "ios" "") add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "ios" "")
endif() endif()

View File

@@ -19,15 +19,9 @@ define_channel_client_subsystem("audin" "alsa" "")
find_package(ALSA REQUIRED) find_package(ALSA REQUIRED)
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS audin_alsa.c)
audin_alsa.c
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr freerdp ${ALSA_LIBRARIES})
winpr
freerdp
${ALSA_LIBRARIES}
)
include_directories(..) include_directories(..)
include_directories(SYSTEM ${ALSA_INCLUDE_DIRS}) include_directories(SYSTEM ${ALSA_INCLUDE_DIRS})

View File

@@ -1,37 +1,29 @@
# FreeRDP: A Remote Desktop Protocol Implementation # FreeRDP: A Remote Desktop Protocol Implementation
# FreeRDP cmake build script # FreeRDP cmake build script
# #
# Copyright (c) 2015 Armin Novak <armin.novak@thincast.com> # Copyright (c) 2015 Armin Novak <armin.novak@thincast.com>
# Copyright (c) 2015 Thincast Technologies GmbH # Copyright (c) 2015 Thincast Technologies GmbH
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
# You may obtain a copy of the License at # You may obtain a copy of the License at
# #
# http://www.apache.org/licenses/LICENSE-2.0 # http://www.apache.org/licenses/LICENSE-2.0
# #
# Unless required by applicable law or agreed to in writing, software # Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, # distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
define_channel_client_subsystem("audin" "ios" "") define_channel_client_subsystem("audin" "ios" "")
FIND_LIBRARY(CORE_AUDIO CoreAudio) find_library(CORE_AUDIO CoreAudio)
FIND_LIBRARY(AVFOUNDATION AVFoundation) find_library(AVFOUNDATION AVFoundation)
FIND_LIBRARY(AUDIO_TOOL AudioToolbox) find_library(AUDIO_TOOL AudioToolbox)
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS audin_ios.m)
audin_ios.m
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr freerdp ${AVFOUNDATION} ${CORE_AUDIO} ${AUDIO_TOOL})
winpr
freerdp
${AVFOUNDATION}
${CORE_AUDIO}
${AUDIO_TOOL}
)
include_directories(..) include_directories(..)
include_directories(SYSTEM ${MAC_INCLUDE_DIRS}) include_directories(SYSTEM ${MAC_INCLUDE_DIRS})

View File

@@ -17,23 +17,14 @@
# limitations under the License. # limitations under the License.
define_channel_client_subsystem("audin" "mac" "") define_channel_client_subsystem("audin" "mac" "")
FIND_LIBRARY(CORE_AUDIO CoreAudio) find_library(CORE_AUDIO CoreAudio)
FIND_LIBRARY(AVFOUNDATION AVFoundation) find_library(AVFOUNDATION AVFoundation)
FIND_LIBRARY(AUDIO_TOOL AudioToolbox) find_library(AUDIO_TOOL AudioToolbox)
FIND_LIBRARY(APP_SERVICES ApplicationServices) find_library(APP_SERVICES ApplicationServices)
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS audin_mac.m)
audin_mac.m
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr freerdp ${AVFOUNDATION} ${CORE_AUDIO} ${AUDIO_TOOL} ${APP_SERVICES})
winpr
freerdp
${AVFOUNDATION}
${CORE_AUDIO}
${AUDIO_TOOL}
${APP_SERVICES}
)
include_directories(..) include_directories(..)
include_directories(SYSTEM ${MAC_INCLUDE_DIRS}) include_directories(SYSTEM ${MAC_INCLUDE_DIRS})

View File

@@ -19,16 +19,9 @@ define_channel_client_subsystem("audin" "opensles" "")
find_package(OpenSLES REQUIRED) find_package(OpenSLES REQUIRED)
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS opensl_io.c audin_opensl_es.c)
opensl_io.c
audin_opensl_es.c
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr freerdp ${OpenSLES_LIBRARIES})
winpr
freerdp
${OpenSLES_LIBRARIES}
)
include_directories(..) include_directories(..)
include_directories(SYSTEM ${OpenSLES_INCLUDE_DIRS}) include_directories(SYSTEM ${OpenSLES_INCLUDE_DIRS})

View File

@@ -19,24 +19,13 @@ define_channel_client_subsystem("audin" "oss" "")
find_package(OSS REQUIRED) find_package(OSS REQUIRED)
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS audin_oss.c)
audin_oss.c
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr freerdp ${OSS_LIBRARIES})
winpr
freerdp
${OSS_LIBRARIES}
)
include_directories(..) include_directories(..)
include_directories(${CMAKE_CURRENT_BINARY_DIR}) include_directories(${CMAKE_CURRENT_BINARY_DIR})
include_directories(SYSTEM ${OSS_INCLUDE_DIRS}) include_directories(SYSTEM ${OSS_INCLUDE_DIRS})
cleaning_configure_file( cleaning_configure_file(${CMAKE_SOURCE_DIR}/cmake/oss-includes.h.in ${CMAKE_CURRENT_BINARY_DIR}/oss-includes.h @ONLY)
${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 "") add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")

View File

@@ -19,15 +19,9 @@ define_channel_client_subsystem("audin" "pulse" "")
find_package(PulseAudio REQUIRED) find_package(PulseAudio REQUIRED)
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS audin_pulse.c)
audin_pulse.c)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr freerdp ${PULSEAUDIO_LIBRARY} ${PULSEAUDIO_MAINLOOP_LIBRARY})
winpr
freerdp
${PULSEAUDIO_LIBRARY}
${PULSEAUDIO_MAINLOOP_LIBRARY}
)
include_directories(..) include_directories(..)
include_directories(SYSTEM ${PULSEAUDIO_INCLUDE_DIR}) include_directories(SYSTEM ${PULSEAUDIO_INCLUDE_DIR})

View File

@@ -20,17 +20,11 @@ define_channel_client_subsystem("audin" "sndio" "")
find_package(SNDIO REQUIRED) find_package(SNDIO REQUIRED)
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS audin_sndio.c)
audin_sndio.c)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr freerdp ${SNDIO_LIBRARIES})
winpr
freerdp
${SNDIO_LIBRARIES}
)
include_directories(..) include_directories(..)
include_directories(SYSTEM ${SNDIO_INCLUDE_DIRS}) include_directories(SYSTEM ${SNDIO_INCLUDE_DIRS})
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "") add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")

View File

@@ -17,14 +17,9 @@
define_channel_client_subsystem("audin" "winmm" "") define_channel_client_subsystem("audin" "winmm" "")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS audin_winmm.c)
audin_winmm.c)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr freerdp winmm.lib)
winpr
freerdp
winmm.lib
)
include_directories(..) include_directories(..)

View File

@@ -17,11 +17,7 @@
define_channel_server("audin") define_channel_server("audin")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS audin.c)
audin.c
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS freerdp)
freerdp
)
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "DVCPluginEntry") add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "DVCPluginEntry")

View File

@@ -21,71 +21,75 @@ set(MODULE_NAME "freerdp-channels-client")
set(MODULE_PREFIX "FREERDP_CHANNELS_CLIENT") set(MODULE_PREFIX "FREERDP_CHANNELS_CLIENT")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS
${CMAKE_CURRENT_BINARY_DIR}/tables.c ${CMAKE_CURRENT_BINARY_DIR}/tables.c ${CMAKE_CURRENT_SOURCE_DIR}/tables.h ${CMAKE_CURRENT_SOURCE_DIR}/addin.c
${CMAKE_CURRENT_SOURCE_DIR}/tables.h ${CMAKE_CURRENT_SOURCE_DIR}/addin.h ${CMAKE_CURRENT_SOURCE_DIR}/generic_dynvc.c
${CMAKE_CURRENT_SOURCE_DIR}/addin.c )
${CMAKE_CURRENT_SOURCE_DIR}/addin.h
${CMAKE_CURRENT_SOURCE_DIR}/generic_dynvc.c)
if(CHANNEL_STATIC_CLIENT_ENTRIES) if(CHANNEL_STATIC_CLIENT_ENTRIES)
list(REMOVE_DUPLICATES CHANNEL_STATIC_CLIENT_ENTRIES) list(REMOVE_DUPLICATES CHANNEL_STATIC_CLIENT_ENTRIES)
endif() endif()
foreach(STATIC_ENTRY ${CHANNEL_STATIC_CLIENT_ENTRIES}) foreach(STATIC_ENTRY ${CHANNEL_STATIC_CLIENT_ENTRIES})
foreach(STATIC_MODULE ${CHANNEL_STATIC_CLIENT_MODULES}) foreach(STATIC_MODULE ${CHANNEL_STATIC_CLIENT_MODULES})
foreach(ENTRY ${${STATIC_MODULE}_CLIENT_ENTRY}) foreach(ENTRY ${${STATIC_MODULE}_CLIENT_ENTRY})
if(${ENTRY} STREQUAL ${STATIC_ENTRY}) if(${ENTRY} STREQUAL ${STATIC_ENTRY})
set(STATIC_MODULE_NAME ${${STATIC_MODULE}_CLIENT_NAME}) set(STATIC_MODULE_NAME ${${STATIC_MODULE}_CLIENT_NAME})
set(STATIC_MODULE_CHANNEL ${${STATIC_MODULE}_CLIENT_CHANNEL}) set(STATIC_MODULE_CHANNEL ${${STATIC_MODULE}_CLIENT_CHANNEL})
list(APPEND ${MODULE_PREFIX}_LIBS ${STATIC_MODULE_NAME}) list(APPEND ${MODULE_PREFIX}_LIBS ${STATIC_MODULE_NAME})
set(ENTRY_POINT_NAME "${STATIC_MODULE_CHANNEL}_${ENTRY}") set(ENTRY_POINT_NAME "${STATIC_MODULE_CHANNEL}_${ENTRY}")
if(${ENTRY} STREQUAL "VirtualChannelEntry") if(${ENTRY} STREQUAL "VirtualChannelEntry")
set(ENTRY_POINT_IMPORT "extern BOOL VCAPITYPE ${ENTRY_POINT_NAME}(PCHANNEL_ENTRY_POINTS);") set(ENTRY_POINT_IMPORT "extern BOOL VCAPITYPE ${ENTRY_POINT_NAME}(PCHANNEL_ENTRY_POINTS);")
elseif(${ENTRY} STREQUAL "VirtualChannelEntryEx") elseif(${ENTRY} STREQUAL "VirtualChannelEntryEx")
set(ENTRY_POINT_IMPORT "extern BOOL VCAPITYPE ${ENTRY_POINT_NAME}(PCHANNEL_ENTRY_POINTS,PVOID);") set(ENTRY_POINT_IMPORT "extern BOOL VCAPITYPE ${ENTRY_POINT_NAME}(PCHANNEL_ENTRY_POINTS,PVOID);")
elseif(${ENTRY} MATCHES "DVCPluginEntry$") elseif(${ENTRY} MATCHES "DVCPluginEntry$")
set(ENTRY_POINT_IMPORT "extern UINT VCAPITYPE ${ENTRY_POINT_NAME}(IDRDYNVC_ENTRY_POINTS* pEntryPoints);") set(ENTRY_POINT_IMPORT "extern UINT VCAPITYPE ${ENTRY_POINT_NAME}(IDRDYNVC_ENTRY_POINTS* pEntryPoints);")
elseif(${ENTRY} MATCHES "DeviceServiceEntry$") elseif(${ENTRY} MATCHES "DeviceServiceEntry$")
set(ENTRY_POINT_IMPORT "extern UINT VCAPITYPE ${ENTRY_POINT_NAME}(PDEVICE_SERVICE_ENTRY_POINTS pEntryPoints);") set(ENTRY_POINT_IMPORT
else() "extern UINT VCAPITYPE ${ENTRY_POINT_NAME}(PDEVICE_SERVICE_ENTRY_POINTS pEntryPoints);"
set(ENTRY_POINT_IMPORT "extern UINT VCAPITYPE ${ENTRY_POINT_NAME}(void);") )
endif() 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}_IMPORTS "\n${ENTRY_POINT_IMPORT}")
string(APPEND ${STATIC_ENTRY}_TABLE "\n\t{ \"${STATIC_MODULE_CHANNEL}\", ${ENTRY_POINT_NAME} },") string(APPEND ${STATIC_ENTRY}_TABLE "\n\t{ \"${STATIC_MODULE_CHANNEL}\", ${ENTRY_POINT_NAME} },")
endif() endif()
endforeach() endforeach()
endforeach() 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 "\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{") string(APPEND CLIENT_STATIC_ENTRY_TABLES_LIST "const STATIC_ENTRY_TABLE CLIENT_STATIC_ENTRY_TABLES[] =\n{")
foreach(STATIC_ENTRY ${CHANNEL_STATIC_CLIENT_ENTRIES}) foreach(STATIC_ENTRY ${CHANNEL_STATIC_CLIENT_ENTRIES})
set(CLIENT_STATIC_ENTRY_IMPORTS "${CLIENT_STATIC_ENTRY_IMPORTS}\n${${STATIC_ENTRY}_IMPORTS}") set(CLIENT_STATIC_ENTRY_IMPORTS "${CLIENT_STATIC_ENTRY_IMPORTS}\n${${STATIC_ENTRY}_IMPORTS}")
if(${STATIC_ENTRY} STREQUAL "VirtualChannelEntry") if(${STATIC_ENTRY} STREQUAL "VirtualChannelEntry")
set(CLIENT_STATIC_ENTRY_TYPE "STATIC_ENTRY_VC") set(CLIENT_STATIC_ENTRY_TYPE "STATIC_ENTRY_VC")
set(CLIENT_STATIC_ENTRY_INITIALIZER ".csevc") set(CLIENT_STATIC_ENTRY_INITIALIZER ".csevc")
elseif(${STATIC_ENTRY} STREQUAL "VirtualChannelEntryEx") elseif(${STATIC_ENTRY} STREQUAL "VirtualChannelEntryEx")
set(CLIENT_STATIC_ENTRY_TYPE "STATIC_ENTRY_VCEX") set(CLIENT_STATIC_ENTRY_TYPE "STATIC_ENTRY_VCEX")
set(CLIENT_STATIC_ENTRY_INITIALIZER ".csevcex") set(CLIENT_STATIC_ENTRY_INITIALIZER ".csevcex")
elseif(${STATIC_ENTRY} MATCHES "DVCPluginEntry$") elseif(${STATIC_ENTRY} MATCHES "DVCPluginEntry$")
set(CLIENT_STATIC_ENTRY_TYPE "STATIC_ENTRY_DVC") set(CLIENT_STATIC_ENTRY_TYPE "STATIC_ENTRY_DVC")
set(CLIENT_STATIC_ENTRY_INITIALIZER ".csedvc") set(CLIENT_STATIC_ENTRY_INITIALIZER ".csedvc")
elseif(${STATIC_ENTRY} MATCHES "DeviceServiceEntry$") elseif(${STATIC_ENTRY} MATCHES "DeviceServiceEntry$")
set(CLIENT_STATIC_ENTRY_TYPE "STATIC_ENTRY_DSE") set(CLIENT_STATIC_ENTRY_TYPE "STATIC_ENTRY_DSE")
set(CLIENT_STATIC_ENTRY_INITIALIZER ".csedse") set(CLIENT_STATIC_ENTRY_INITIALIZER ".csedse")
else() else()
set(CLIENT_STATIC_ENTRY_TYPE "STATIC_ENTRY") set(CLIENT_STATIC_ENTRY_TYPE "STATIC_ENTRY")
set(CLIENT_STATIC_ENTRY_INITIALIZER ".cse") set(CLIENT_STATIC_ENTRY_INITIALIZER ".cse")
endif() endif()
string(APPEND CLIENT_STATIC_ENTRY_TABLES "\nextern const ${CLIENT_STATIC_ENTRY_TYPE} CLIENT_${STATIC_ENTRY}_TABLE[];\n") string(APPEND CLIENT_STATIC_ENTRY_TABLES
string(APPEND CLIENT_STATIC_ENTRY_TABLES "const ${CLIENT_STATIC_ENTRY_TYPE} CLIENT_${STATIC_ENTRY}_TABLE[] =\n{") "\nextern 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 "const ${CLIENT_STATIC_ENTRY_TYPE} CLIENT_${STATIC_ENTRY}_TABLE[] =\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 "\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() endforeach()
string(APPEND CLIENT_STATIC_ENTRY_TABLES_LIST "\n\t{ NULL, { .cse = NULL } }\n};") 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{") string(APPEND CLIENT_STATIC_ADDIN_TABLE "const STATIC_ADDIN_TABLE CLIENT_STATIC_ADDIN_TABLE[] =\n{")
foreach(STATIC_MODULE ${CHANNEL_STATIC_CLIENT_MODULES}) foreach(STATIC_MODULE ${CHANNEL_STATIC_CLIENT_MODULES})
set(STATIC_MODULE_NAME ${${STATIC_MODULE}_CLIENT_NAME}) set(STATIC_MODULE_NAME ${${STATIC_MODULE}_CLIENT_NAME})
set(STATIC_MODULE_CHANNEL ${${STATIC_MODULE}_CLIENT_CHANNEL}) set(STATIC_MODULE_CHANNEL ${${STATIC_MODULE}_CLIENT_CHANNEL})
string(TOUPPER "CLIENT_${STATIC_MODULE_CHANNEL}_SUBSYSTEM_TABLE" SUBSYSTEM_TABLE_NAME) 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{") set(SUBSYSTEM_TABLE
get_target_property(CHANNEL_SUBSYSTEMS ${STATIC_MODULE_NAME} SUBSYSTEMS) "extern const STATIC_SUBSYSTEM_ENTRY ${SUBSYSTEM_TABLE_NAME}[];\nconst STATIC_SUBSYSTEM_ENTRY ${SUBSYSTEM_TABLE_NAME}[] =\n{"
if(CHANNEL_SUBSYSTEMS MATCHES "NOTFOUND") )
set(CHANNEL_SUBSYSTEMS "") get_target_property(CHANNEL_SUBSYSTEMS ${STATIC_MODULE_NAME} SUBSYSTEMS)
endif() if(CHANNEL_SUBSYSTEMS MATCHES "NOTFOUND")
foreach(STATIC_SUBSYSTEM ${CHANNEL_SUBSYSTEMS}) set(CHANNEL_SUBSYSTEMS "")
if(${STATIC_SUBSYSTEM} MATCHES "^([^-]*)-(.*)") endif()
string(REGEX REPLACE "^([^-]*)-(.*)" "\\1" STATIC_SUBSYSTEM_NAME ${STATIC_SUBSYSTEM}) foreach(STATIC_SUBSYSTEM ${CHANNEL_SUBSYSTEMS})
string(REGEX REPLACE "^([^-]*)-(.*)" "\\2" STATIC_SUBSYSTEM_TYPE ${STATIC_SUBSYSTEM}) if(${STATIC_SUBSYSTEM} MATCHES "^([^-]*)-(.*)")
else() string(REGEX REPLACE "^([^-]*)-(.*)" "\\1" STATIC_SUBSYSTEM_NAME ${STATIC_SUBSYSTEM})
set(STATIC_SUBSYSTEM_NAME "${STATIC_SUBSYSTEM}") string(REGEX REPLACE "^([^-]*)-(.*)" "\\2" STATIC_SUBSYSTEM_TYPE ${STATIC_SUBSYSTEM})
set(STATIC_SUBSYSTEM_TYPE "") else()
endif() set(STATIC_SUBSYSTEM_NAME "${STATIC_SUBSYSTEM}")
string(LENGTH "${STATIC_SUBSYSTEM_TYPE}" _type_length) set(STATIC_SUBSYSTEM_TYPE "")
set(SUBSYSTEM_MODULE_NAME "${STATIC_MODULE_NAME}-${STATIC_SUBSYSTEM}") endif()
list(APPEND ${MODULE_PREFIX}_LIBS ${SUBSYSTEM_MODULE_NAME}) string(LENGTH "${STATIC_SUBSYSTEM_TYPE}" _type_length)
if(_type_length GREATER 0) set(SUBSYSTEM_MODULE_NAME "${STATIC_MODULE_NAME}-${STATIC_SUBSYSTEM}")
set(STATIC_SUBSYSTEM_ENTRY "${STATIC_SUBSYSTEM_NAME}_freerdp_${STATIC_MODULE_CHANNEL}_client_${STATIC_SUBSYSTEM_TYPE}_subsystem_entry") list(APPEND ${MODULE_PREFIX}_LIBS ${SUBSYSTEM_MODULE_NAME})
else() if(_type_length GREATER 0)
set(STATIC_SUBSYSTEM_ENTRY "${STATIC_SUBSYSTEM_NAME}_freerdp_${STATIC_MODULE_CHANNEL}_client_subsystem_entry") set(STATIC_SUBSYSTEM_ENTRY
endif() "${STATIC_SUBSYSTEM_NAME}_freerdp_${STATIC_MODULE_CHANNEL}_client_${STATIC_SUBSYSTEM_TYPE}_subsystem_entry"
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*);") else()
string(APPEND CLIENT_STATIC_SUBSYSTEM_IMPORTS "\n${SUBSYSTEM_IMPORT}") set(STATIC_SUBSYSTEM_ENTRY "${STATIC_SUBSYSTEM_NAME}_freerdp_${STATIC_MODULE_CHANNEL}_client_subsystem_entry")
endforeach() endif()
string(APPEND SUBSYSTEM_TABLE "\n\t{ NULL, NULL, NULL }\n};") string(APPEND SUBSYSTEM_TABLE
string(APPEND CLIENT_STATIC_SUBSYSTEM_TABLES "\n${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}) foreach(ENTRY ${${STATIC_MODULE}_CLIENT_ENTRY})
set (ENTRY_POINT_NAME ${STATIC_MODULE_CHANNEL}_${ENTRY}) set(ENTRY_POINT_NAME ${STATIC_MODULE_CHANNEL}_${ENTRY})
if(${ENTRY} STREQUAL "VirtualChannelEntry") if(${ENTRY} STREQUAL "VirtualChannelEntry")
set(ENTRY_INITIALIZER ".csevc") set(ENTRY_INITIALIZER ".csevc")
elseif(${ENTRY} STREQUAL "VirtualChannelEntryEx") elseif(${ENTRY} STREQUAL "VirtualChannelEntryEx")
set(ENTRY_INITIALIZER ".csevcex") set(ENTRY_INITIALIZER ".csevcex")
elseif(${ENTRY} MATCHES "DVCPluginEntry$") elseif(${ENTRY} MATCHES "DVCPluginEntry$")
set(ENTRY_INITIALIZER ".csedvc") set(ENTRY_INITIALIZER ".csedvc")
elseif(${ENTRY} MATCHES "DeviceServiceEntry$") elseif(${ENTRY} MATCHES "DeviceServiceEntry$")
set(ENTRY_INITIALIZER ".csedse") set(ENTRY_INITIALIZER ".csedse")
else() else()
set(ENTRY_INITIALIZER ".cse") set(ENTRY_INITIALIZER ".cse")
endif() endif()
string(APPEND CLIENT_STATIC_ADDIN_TABLE "\n\t{ \"${STATIC_MODULE_CHANNEL}\", \"${ENTRY}\", { ${ENTRY_INITIALIZER} = ${ENTRY_POINT_NAME} }, ${SUBSYSTEM_TABLE_NAME} },") string(
endforeach() APPEND
CLIENT_STATIC_ADDIN_TABLE
"\n\t{ \"${STATIC_MODULE_CHANNEL}\", \"${ENTRY}\", { ${ENTRY_INITIALIZER} = ${ENTRY_POINT_NAME} }, ${SUBSYSTEM_TABLE_NAME} },"
)
endforeach()
endforeach() endforeach()
string(APPEND CLIENT_STATIC_ADDIN_TABLE "\n\t{ NULL, NULL, { .cse = NULL }, NULL }\n};") string(APPEND CLIENT_STATIC_ADDIN_TABLE "\n\t{ NULL, NULL, { .cse = NULL }, NULL }\n};")

View File

@@ -18,9 +18,9 @@
define_channel("cliprdr") define_channel("cliprdr")
if(WITH_CLIENT_CHANNELS) if(WITH_CLIENT_CHANNELS)
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()
if(WITH_SERVER_CHANNELS) if(WITH_SERVER_CHANNELS)
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()

View File

@@ -1,13 +1,19 @@
set(OPTION_DEFAULT OFF) set(OPTION_DEFAULT OFF)
set(OPTION_CLIENT_DEFAULT ON) set(OPTION_CLIENT_DEFAULT ON)
set(OPTION_SERVER_DEFAULT ON) set(OPTION_SERVER_DEFAULT ON)
define_channel_options(NAME "cliprdr" TYPE "static" define_channel_options(
DESCRIPTION "Clipboard Virtual Channel Extension" NAME
SPECIFICATIONS "[MS-RDPECLIP]" "cliprdr"
DEFAULT ${OPTION_DEFAULT}) TYPE
"static"
DESCRIPTION
"Clipboard Virtual Channel Extension"
SPECIFICATIONS
"[MS-RDPECLIP]"
DEFAULT
${OPTION_DEFAULT}
)
define_channel_client_options(${OPTION_CLIENT_DEFAULT}) define_channel_client_options(${OPTION_CLIENT_DEFAULT})
define_channel_server_options(${OPTION_SERVER_DEFAULT}) define_channel_server_options(${OPTION_SERVER_DEFAULT})

View File

@@ -17,16 +17,9 @@
define_channel_client("cliprdr") define_channel_client("cliprdr")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS cliprdr_format.c cliprdr_format.h cliprdr_main.c cliprdr_main.h ../cliprdr_common.h
cliprdr_format.c ../cliprdr_common.c
cliprdr_format.h
cliprdr_main.c
cliprdr_main.h
../cliprdr_common.h
../cliprdr_common.c
) )
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr freerdp)
winpr freerdp
)
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntryEx") add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntryEx")

View File

@@ -17,14 +17,7 @@
define_channel_server("cliprdr") define_channel_server("cliprdr")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS cliprdr_main.c cliprdr_main.h ../cliprdr_common.h ../cliprdr_common.c)
cliprdr_main.c
cliprdr_main.h
../cliprdr_common.h
../cliprdr_common.c
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS freerdp)
freerdp
)
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntry") add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntry")

View File

@@ -18,9 +18,9 @@
define_channel("disp") define_channel("disp")
if(WITH_CLIENT_CHANNELS) if(WITH_CLIENT_CHANNELS)
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()
if(WITH_SERVER_CHANNELS) if(WITH_SERVER_CHANNELS)
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()

View File

@@ -1,12 +1,19 @@
set(OPTION_DEFAULT OFF) set(OPTION_DEFAULT OFF)
set(OPTION_CLIENT_DEFAULT ON) set(OPTION_CLIENT_DEFAULT ON)
set(OPTION_SERVER_DEFAULT ON) set(OPTION_SERVER_DEFAULT ON)
define_channel_options(NAME "disp" TYPE "dynamic" define_channel_options(
DESCRIPTION "Display Update Virtual Channel Extension" NAME
SPECIFICATIONS "[MS-RDPEDISP]" "disp"
DEFAULT ${OPTION_DEFAULT}) TYPE
"dynamic"
DESCRIPTION
"Display Update Virtual Channel Extension"
SPECIFICATIONS
"[MS-RDPEDISP]"
DEFAULT
${OPTION_DEFAULT}
)
define_channel_client_options(${OPTION_CLIENT_DEFAULT}) define_channel_client_options(${OPTION_CLIENT_DEFAULT})
define_channel_server_options(${OPTION_SERVER_DEFAULT}) define_channel_server_options(${OPTION_SERVER_DEFAULT})

View File

@@ -17,16 +17,9 @@
define_channel_client("disp") define_channel_client("disp")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS disp_main.c disp_main.h ../disp_common.c ../disp_common.h)
disp_main.c
disp_main.h
../disp_common.c
../disp_common.h
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr)
winpr
)
include_directories(..) include_directories(..)
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry") add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry")

View File

@@ -17,16 +17,9 @@
define_channel_server("disp") define_channel_server("disp")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS disp_main.c disp_main.h ../disp_common.c ../disp_common.h)
disp_main.c
disp_main.h
../disp_common.c
../disp_common.h
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS freerdp)
freerdp
)
include_directories(..) include_directories(..)
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "DVCPluginEntry") add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "DVCPluginEntry")

View File

@@ -18,9 +18,9 @@
define_channel("drdynvc") define_channel("drdynvc")
if(WITH_CLIENT_CHANNELS) if(WITH_CLIENT_CHANNELS)
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()
if(WITH_SERVER_CHANNELS) if(WITH_SERVER_CHANNELS)
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()

View File

@@ -1,13 +1,19 @@
set(OPTION_DEFAULT OFF) set(OPTION_DEFAULT OFF)
set(OPTION_CLIENT_DEFAULT ON) set(OPTION_CLIENT_DEFAULT ON)
set(OPTION_SERVER_DEFAULT ON) set(OPTION_SERVER_DEFAULT ON)
define_channel_options(NAME "drdynvc" TYPE "static" define_channel_options(
DESCRIPTION "Dynamic Virtual Channel Extension" NAME
SPECIFICATIONS "[MS-RDPEDYC]" "drdynvc"
DEFAULT ${OPTION_DEFAULT}) TYPE
"static"
DESCRIPTION
"Dynamic Virtual Channel Extension"
SPECIFICATIONS
"[MS-RDPEDYC]"
DEFAULT
${OPTION_DEFAULT}
)
define_channel_client_options(${OPTION_CLIENT_DEFAULT}) define_channel_client_options(${OPTION_CLIENT_DEFAULT})
define_channel_server_options(${OPTION_SERVER_DEFAULT}) define_channel_server_options(${OPTION_SERVER_DEFAULT})

View File

@@ -17,9 +17,6 @@
define_channel_client("drdynvc") define_channel_client("drdynvc")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS drdynvc_main.c drdynvc_main.h)
drdynvc_main.c
drdynvc_main.h
)
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntryEx") add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntryEx")

View File

@@ -17,12 +17,7 @@
define_channel_server("drdynvc") define_channel_server("drdynvc")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS drdynvc_main.c drdynvc_main.h)
drdynvc_main.c
drdynvc_main.h
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS freerdp)
freerdp
)
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntry") add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntry")

View File

@@ -18,6 +18,5 @@
define_channel("drive") define_channel("drive")
if(WITH_CLIENT_CHANNELS) if(WITH_CLIENT_CHANNELS)
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()

View File

@@ -1,13 +1,19 @@
set(OPTION_DEFAULT OFF) set(OPTION_DEFAULT OFF)
set(OPTION_CLIENT_DEFAULT ON) set(OPTION_CLIENT_DEFAULT ON)
set(OPTION_SERVER_DEFAULT OFF) set(OPTION_SERVER_DEFAULT OFF)
define_channel_options(NAME "drive" TYPE "device" define_channel_options(
DESCRIPTION "Drive Redirection Virtual Channel Extension" NAME
SPECIFICATIONS "[MS-RDPEFS]" "drive"
DEFAULT ${OPTION_DEFAULT}) TYPE
"device"
DESCRIPTION
"Drive Redirection Virtual Channel Extension"
SPECIFICATIONS
"[MS-RDPEFS]"
DEFAULT
${OPTION_DEFAULT}
)
define_channel_client_options(${OPTION_CLIENT_DEFAULT}) define_channel_client_options(${OPTION_CLIENT_DEFAULT})
define_channel_server_options(${OPTION_SERVER_DEFAULT}) define_channel_server_options(${OPTION_SERVER_DEFAULT})

View File

@@ -17,13 +17,7 @@
define_channel_client("drive") define_channel_client("drive")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS drive_file.c drive_file.h drive_main.c)
drive_file.c
drive_file.h
drive_main.c
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr freerdp)
winpr freerdp
)
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DeviceServiceEntry") add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DeviceServiceEntry")

View File

@@ -18,9 +18,9 @@
define_channel("echo") define_channel("echo")
if(WITH_CLIENT_CHANNELS) if(WITH_CLIENT_CHANNELS)
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()
if(WITH_SERVER_CHANNELS) if(WITH_SERVER_CHANNELS)
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()

View File

@@ -1,13 +1,19 @@
set(OPTION_DEFAULT OFF) set(OPTION_DEFAULT OFF)
set(OPTION_CLIENT_DEFAULT ON) set(OPTION_CLIENT_DEFAULT ON)
set(OPTION_SERVER_DEFAULT ON) set(OPTION_SERVER_DEFAULT ON)
define_channel_options(NAME "echo" TYPE "dynamic" define_channel_options(
DESCRIPTION "Echo Virtual Channel Extension" NAME
SPECIFICATIONS "[MS-RDPEECO]" "echo"
DEFAULT ${OPTION_DEFAULT}) TYPE
"dynamic"
DESCRIPTION
"Echo Virtual Channel Extension"
SPECIFICATIONS
"[MS-RDPEECO]"
DEFAULT
${OPTION_DEFAULT}
)
define_channel_client_options(${OPTION_CLIENT_DEFAULT}) define_channel_client_options(${OPTION_CLIENT_DEFAULT})
define_channel_server_options(${OPTION_SERVER_DEFAULT}) define_channel_server_options(${OPTION_SERVER_DEFAULT})

View File

@@ -17,14 +17,9 @@
define_channel_client("echo") define_channel_client("echo")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS echo_main.c echo_main.h)
echo_main.c
echo_main.h
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr)
winpr
)
include_directories(..) include_directories(..)
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry") add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry")

View File

@@ -17,11 +17,7 @@
define_channel_server("echo") define_channel_server("echo")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS echo_main.c)
echo_main.c
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS freerdp)
freerdp
)
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "DVCPluginEntry") add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "DVCPluginEntry")

View File

@@ -18,9 +18,9 @@
define_channel("encomsp") define_channel("encomsp")
if(WITH_CLIENT_CHANNELS) if(WITH_CLIENT_CHANNELS)
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()
if(WITH_SERVER_CHANNELS) if(WITH_SERVER_CHANNELS)
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()

View File

@@ -1,13 +1,19 @@
set(OPTION_DEFAULT OFF) set(OPTION_DEFAULT OFF)
set(OPTION_CLIENT_DEFAULT ON) set(OPTION_CLIENT_DEFAULT ON)
set(OPTION_SERVER_DEFAULT ON) set(OPTION_SERVER_DEFAULT ON)
define_channel_options(NAME "encomsp" TYPE "static" define_channel_options(
DESCRIPTION "Multiparty Virtual Channel Extension" NAME
SPECIFICATIONS "[MS-RDPEMC]" "encomsp"
DEFAULT ${OPTION_DEFAULT}) TYPE
"static"
DESCRIPTION
"Multiparty Virtual Channel Extension"
SPECIFICATIONS
"[MS-RDPEMC]"
DEFAULT
${OPTION_DEFAULT}
)
define_channel_client_options(${OPTION_CLIENT_DEFAULT}) define_channel_client_options(${OPTION_CLIENT_DEFAULT})
define_channel_server_options(${OPTION_SERVER_DEFAULT}) define_channel_server_options(${OPTION_SERVER_DEFAULT})

View File

@@ -19,9 +19,6 @@ define_channel_client("encomsp")
include_directories(..) include_directories(..)
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS encomsp_main.c encomsp_main.h)
encomsp_main.c
encomsp_main.h
)
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntryEx") add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntryEx")

View File

@@ -19,12 +19,7 @@ define_channel_server("encomsp")
include_directories(..) include_directories(..)
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS encomsp_main.c encomsp_main.h)
encomsp_main.c
encomsp_main.h
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr)
winpr
)
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntry") add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntry")

View File

@@ -18,5 +18,5 @@
define_channel("geometry") define_channel("geometry")
if(WITH_CLIENT_CHANNELS) if(WITH_CLIENT_CHANNELS)
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()

View File

@@ -1,11 +1,18 @@
set(OPTION_DEFAULT OFF) set(OPTION_DEFAULT OFF)
set(OPTION_CLIENT_DEFAULT ON) set(OPTION_CLIENT_DEFAULT ON)
set(OPTION_SERVER_DEFAULT OFF) set(OPTION_SERVER_DEFAULT OFF)
define_channel_options(NAME "geometry" TYPE "dynamic" define_channel_options(
DESCRIPTION "Geometry tracking Virtual Channel Extension" NAME
SPECIFICATIONS "[MS-RDPEGT]" "geometry"
DEFAULT ${OPTION_DEFAULT}) TYPE
"dynamic"
DESCRIPTION
"Geometry tracking Virtual Channel Extension"
SPECIFICATIONS
"[MS-RDPEGT]"
DEFAULT
${OPTION_DEFAULT}
)
define_channel_client_options(${OPTION_CLIENT_DEFAULT}) define_channel_client_options(${OPTION_CLIENT_DEFAULT})

View File

@@ -17,14 +17,9 @@
define_channel_client("geometry") define_channel_client("geometry")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS geometry_main.c geometry_main.h)
geometry_main.c
geometry_main.h
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr)
winpr
)
include_directories(..) include_directories(..)

View File

@@ -16,8 +16,8 @@
# limitations under the License. # limitations under the License.
if(WITH_CHANNEL_GFXREDIR) if(WITH_CHANNEL_GFXREDIR)
define_channel("gfxredir") define_channel("gfxredir")
if(WITH_SERVER_CHANNELS) if(WITH_SERVER_CHANNELS)
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()
endif() endif()

View File

@@ -1,12 +1,20 @@
if(WITH_CHANNEL_GFXREDIR) if(WITH_CHANNEL_GFXREDIR)
set(OPTION_DEFAULT OFF) set(OPTION_DEFAULT OFF)
set(OPTION_CLIENT_DEFAULT OFF) set(OPTION_CLIENT_DEFAULT OFF)
set(OPTION_SERVER_DEFAULT ON) set(OPTION_SERVER_DEFAULT ON)
define_channel_options(NAME "gfxredir" TYPE "dynamic" define_channel_options(
DESCRIPTION "Graphics Redirection Virtual Channel Extension" NAME
SPECIFICATIONS "[MS-RDPXXXX]" "gfxredir"
DEFAULT ${OPTION_DEFAULT}) 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() endif()

View File

@@ -17,16 +17,9 @@
define_channel_server("gfxredir") define_channel_server("gfxredir")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS gfxredir_main.c gfxredir_main.h ../gfxredir_common.c ../gfxredir_common.h)
gfxredir_main.c
gfxredir_main.h
../gfxredir_common.c
../gfxredir_common.h
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS freerdp)
freerdp
)
include_directories(..) include_directories(..)
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "DVCPluginEntry") add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "DVCPluginEntry")

View File

@@ -18,9 +18,9 @@
define_channel("location") define_channel("location")
if(WITH_CLIENT_CHANNELS) if(WITH_CLIENT_CHANNELS)
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()
if(WITH_SERVER_CHANNELS) if(WITH_SERVER_CHANNELS)
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()

View File

@@ -1,13 +1,19 @@
set(OPTION_DEFAULT ON) set(OPTION_DEFAULT ON)
set(OPTION_CLIENT_DEFAULT ON) set(OPTION_CLIENT_DEFAULT ON)
set(OPTION_SERVER_DEFAULT ON) set(OPTION_SERVER_DEFAULT ON)
define_channel_options(NAME "location" TYPE "dynamic" define_channel_options(
DESCRIPTION "Location Virtual Channel Extension" NAME
SPECIFICATIONS "[MS-RDPEL]" "location"
DEFAULT ${OPTION_DEFAULT}) TYPE
"dynamic"
DESCRIPTION
"Location Virtual Channel Extension"
SPECIFICATIONS
"[MS-RDPEL]"
DEFAULT
${OPTION_DEFAULT}
)
define_channel_client_options(${OPTION_CLIENT_DEFAULT}) define_channel_client_options(${OPTION_CLIENT_DEFAULT})
define_channel_server_options(${OPTION_SERVER_DEFAULT}) define_channel_server_options(${OPTION_SERVER_DEFAULT})

View File

@@ -18,13 +18,9 @@
define_channel_client("location") define_channel_client("location")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS location_main.c)
location_main.c
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr)
winpr
)
include_directories(..) include_directories(..)
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry") add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry")

View File

@@ -17,12 +17,8 @@
define_channel_server("location") define_channel_server("location")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS location_main.c)
location_main.c
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS freerdp)
freerdp
)
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "DVCPluginEntry") add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "DVCPluginEntry")

View File

@@ -18,5 +18,5 @@
define_channel("parallel") define_channel("parallel")
if(WITH_CLIENT_CHANNELS) if(WITH_CLIENT_CHANNELS)
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()

View File

@@ -1,31 +1,37 @@
set(OPTION_DEFAULT OFF) set(OPTION_DEFAULT OFF)
set(OPTION_CLIENT_DEFAULT ON) set(OPTION_CLIENT_DEFAULT ON)
set(OPTION_SERVER_DEFAULT OFF) set(OPTION_SERVER_DEFAULT OFF)
if(WIN32) if(WIN32)
set(OPTION_CLIENT_DEFAULT OFF) set(OPTION_CLIENT_DEFAULT OFF)
set(OPTION_SERVER_DEFAULT OFF) set(OPTION_SERVER_DEFAULT OFF)
message("Serial redirection not supported on windows") message("Serial redirection not supported on windows")
endif() endif()
if(APPLE) if(APPLE)
set(OPTION_CLIENT_DEFAULT OFF) set(OPTION_CLIENT_DEFAULT OFF)
set(OPTION_SERVER_DEFAULT OFF) set(OPTION_SERVER_DEFAULT OFF)
message("Serial redirection not supported on apple") message("Serial redirection not supported on apple")
endif() endif()
if(ANDROID) if(ANDROID)
set(OPTION_CLIENT_DEFAULT OFF) set(OPTION_CLIENT_DEFAULT OFF)
set(OPTION_SERVER_DEFAULT OFF) set(OPTION_SERVER_DEFAULT OFF)
message("Serial redirection not supported on android") message("Serial redirection not supported on android")
endif() endif()
define_channel_options(NAME "parallel" TYPE "device" define_channel_options(
DESCRIPTION "Parallel Port Virtual Channel Extension" NAME
SPECIFICATIONS "[MS-RDPESP]" "parallel"
DEFAULT ${OPTION_DEFAULT}) TYPE
"device"
DESCRIPTION
"Parallel Port Virtual Channel Extension"
SPECIFICATIONS
"[MS-RDPESP]"
DEFAULT
${OPTION_DEFAULT}
)
define_channel_client_options(${OPTION_CLIENT_DEFAULT}) define_channel_client_options(${OPTION_CLIENT_DEFAULT})
define_channel_server_options(${OPTION_SERVER_DEFAULT}) define_channel_server_options(${OPTION_SERVER_DEFAULT})

View File

@@ -17,11 +17,7 @@
define_channel_client("parallel") define_channel_client("parallel")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS parallel_main.c)
parallel_main.c
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr freerdp)
winpr freerdp
)
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DeviceServiceEntry") add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DeviceServiceEntry")

View File

@@ -18,5 +18,5 @@
define_channel("printer") define_channel("printer")
if(WITH_CLIENT_CHANNELS) if(WITH_CLIENT_CHANNELS)
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()

View File

@@ -1,33 +1,39 @@
set(OPTION_DEFAULT OFF) set(OPTION_DEFAULT OFF)
set(OPTION_CLIENT_DEFAULT ON) set(OPTION_CLIENT_DEFAULT ON)
set(OPTION_SERVER_DEFAULT OFF) set(OPTION_SERVER_DEFAULT OFF)
if(WIN32) if(WIN32)
set(OPTION_CLIENT_DEFAULT ON) set(OPTION_CLIENT_DEFAULT ON)
set(OPTION_SERVER_DEFAULT OFF) set(OPTION_SERVER_DEFAULT OFF)
else() else()
# cups is available on mac os and linux by default, on android it is optional. # cups is available on mac os and linux by default, on android it is optional.
if (NOT IOS AND NOT ANDROID) if(NOT IOS AND NOT ANDROID)
set(CUPS_DEFAULT ON) set(CUPS_DEFAULT ON)
else() else()
set(CUPS_DEFAULT OFF) set(CUPS_DEFAULT OFF)
endif() endif()
option(WITH_CUPS "CUPS printer support" ${CUPS_DEFAULT}) option(WITH_CUPS "CUPS printer support" ${CUPS_DEFAULT})
if(WITH_CUPS) if(WITH_CUPS)
set(OPTION_CLIENT_DEFAULT ON) set(OPTION_CLIENT_DEFAULT ON)
set(OPTION_SERVER_DEFAULT OFF) set(OPTION_SERVER_DEFAULT OFF)
else() else()
set(OPTION_CLIENT_DEFAULT OFF) set(OPTION_CLIENT_DEFAULT OFF)
set(OPTION_SERVER_DEFAULT OFF) set(OPTION_SERVER_DEFAULT OFF)
endif() endif()
endif() endif()
define_channel_options(NAME "printer" TYPE "device" define_channel_options(
DESCRIPTION "Print Virtual Channel Extension" NAME
SPECIFICATIONS "[MS-RDPEPC]" "printer"
DEFAULT ${OPTION_DEFAULT}) TYPE
"device"
DESCRIPTION
"Print Virtual Channel Extension"
SPECIFICATIONS
"[MS-RDPEPC]"
DEFAULT
${OPTION_DEFAULT}
)
define_channel_client_options(${OPTION_CLIENT_DEFAULT}) define_channel_client_options(${OPTION_CLIENT_DEFAULT})
define_channel_server_options(${OPTION_SERVER_DEFAULT}) define_channel_server_options(${OPTION_SERVER_DEFAULT})

View File

@@ -17,19 +17,15 @@
define_channel_client("printer") define_channel_client("printer")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS printer_main.c)
printer_main.c
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr freerdp)
winpr freerdp
)
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DeviceServiceEntry") add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DeviceServiceEntry")
if(WITH_CUPS) if(WITH_CUPS)
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "cups" "") add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "cups" "")
endif() endif()
if(WIN32 AND NOT UWP) if(WIN32 AND NOT UWP)
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "win" "") add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "win" "")
endif() endif()

View File

@@ -18,14 +18,9 @@
define_channel_client_subsystem("printer" "cups" "") define_channel_client_subsystem("printer" "cups" "")
find_package(Cups 2.0 REQUIRED) find_package(Cups 2.0 REQUIRED)
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS printer_cups.c)
printer_cups.c)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr freerdp ${CUPS_LIBRARIES})
winpr
freerdp
${CUPS_LIBRARIES}
)
include_directories(..) include_directories(..)
include_directories(SYSTEM ${CUPS_INCLUDE_DIRS}) include_directories(SYSTEM ${CUPS_INCLUDE_DIRS})

View File

@@ -17,13 +17,9 @@
# limitations under the License. # limitations under the License.
define_channel_client_subsystem("printer" "win" "") define_channel_client_subsystem("printer" "win" "")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS printer_win.c)
printer_win.c)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr freerdp)
winpr
freerdp
)
include_directories(..) include_directories(..)

View File

@@ -18,9 +18,9 @@
define_channel("rail") define_channel("rail")
if(WITH_CLIENT_CHANNELS) if(WITH_CLIENT_CHANNELS)
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()
if(WITH_SERVER_CHANNELS) if(WITH_SERVER_CHANNELS)
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()

View File

@@ -1,13 +1,19 @@
set(OPTION_DEFAULT OFF) set(OPTION_DEFAULT OFF)
set(OPTION_CLIENT_DEFAULT ON) set(OPTION_CLIENT_DEFAULT ON)
set(OPTION_SERVER_DEFAULT ON) set(OPTION_SERVER_DEFAULT ON)
define_channel_options(NAME "rail" TYPE "static" define_channel_options(
DESCRIPTION "Remote Programs Virtual Channel Extension" NAME
SPECIFICATIONS "[MS-RDPERP]" "rail"
DEFAULT ${OPTION_DEFAULT}) TYPE
"static"
DESCRIPTION
"Remote Programs Virtual Channel Extension"
SPECIFICATIONS
"[MS-RDPERP]"
DEFAULT
${OPTION_DEFAULT}
)
define_channel_client_options(${OPTION_CLIENT_DEFAULT}) define_channel_client_options(${OPTION_CLIENT_DEFAULT})
define_channel_server_options(${OPTION_SERVER_DEFAULT}) define_channel_server_options(${OPTION_SERVER_DEFAULT})

View File

@@ -18,16 +18,14 @@
define_channel_client("rail") define_channel_client("rail")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS
../rail_common.h ../rail_common.h
../rail_common.c ../rail_common.c
client_rails.c client_rails.c
rail_main.c rail_main.c
rail_main.h rail_main.h
rail_orders.c rail_orders.c
rail_orders.h rail_orders.h
) )
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS freerdp)
freerdp
)
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntryEx") add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntryEx")

View File

@@ -17,16 +17,9 @@
define_channel_server("rail") define_channel_server("rail")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS ../rail_common.c ../rail_common.h rail_main.c rail_main.h)
../rail_common.c
../rail_common.h
rail_main.c
rail_main.h
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS freerdp)
freerdp
)
include_directories(..) include_directories(..)

View File

@@ -18,5 +18,5 @@
define_channel("rdp2tcp") define_channel("rdp2tcp")
if(WITH_CLIENT_CHANNELS) if(WITH_CLIENT_CHANNELS)
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()

View File

@@ -2,9 +2,16 @@ set(OPTION_DEFAULT OFF)
set(OPTION_CLIENT_DEFAULT ON) set(OPTION_CLIENT_DEFAULT ON)
set(OPTION_SERVER_DEFAULT OFF) set(OPTION_SERVER_DEFAULT OFF)
define_channel_options(NAME "rdp2tcp" TYPE "static" define_channel_options(
DESCRIPTION "Tunneling TCP over RDP" NAME
DEFAULT ${OPTION_DEFAULT}) "rdp2tcp"
TYPE
"static"
DESCRIPTION
"Tunneling TCP over RDP"
DEFAULT
${OPTION_DEFAULT}
)
define_channel_client_options(${OPTION_CLIENT_DEFAULT}) define_channel_client_options(${OPTION_CLIENT_DEFAULT})
define_channel_server_options(${OPTION_SERVER_DEFAULT}) define_channel_server_options(${OPTION_SERVER_DEFAULT})

View File

@@ -17,11 +17,7 @@
define_channel_client("rdp2tcp") define_channel_client("rdp2tcp")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS rdp2tcp_main.c)
rdp2tcp_main.c
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS freerdp)
freerdp
)
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "VirtualChannelEntryEx") add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "VirtualChannelEntryEx")

View File

@@ -18,9 +18,9 @@
define_channel("rdpdr") define_channel("rdpdr")
if(WITH_CLIENT_CHANNELS) if(WITH_CLIENT_CHANNELS)
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()
if(WITH_SERVER_CHANNELS) if(WITH_SERVER_CHANNELS)
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()

View File

@@ -1,13 +1,19 @@
set(OPTION_DEFAULT OFF) set(OPTION_DEFAULT OFF)
set(OPTION_CLIENT_DEFAULT ON) set(OPTION_CLIENT_DEFAULT ON)
set(OPTION_SERVER_DEFAULT ON) set(OPTION_SERVER_DEFAULT ON)
define_channel_options(NAME "rdpdr" TYPE "static" define_channel_options(
DESCRIPTION "Device Redirection Virtual Channel Extension" NAME
SPECIFICATIONS "[MS-RDPEFS] [MS-RDPEPC] [MS-RDPESC] [MS-RDPESP]" "rdpdr"
DEFAULT ${OPTION_DEFAULT}) 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_client_options(${OPTION_CLIENT_DEFAULT})
define_channel_server_options(${OPTION_SERVER_DEFAULT}) define_channel_server_options(${OPTION_SERVER_DEFAULT})

View File

@@ -19,30 +19,26 @@
define_channel_client("rdpdr") define_channel_client("rdpdr")
include (CheckFunctionExists) include(CheckFunctionExists)
check_function_exists(getmntent_r FREERDP_HAVE_GETMNTENT_R) check_function_exists(getmntent_r FREERDP_HAVE_GETMNTENT_R)
if (FREERDP_HAVE_GETMNTENT_R) if(FREERDP_HAVE_GETMNTENT_R)
add_definitions(-DFREERDP_HAVE_GETMNTENT_R) add_definitions(-DFREERDP_HAVE_GETMNTENT_R)
endif() endif()
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS
irp.c irp.c
irp.h irp.h
devman.c devman.c
devman.h devman.h
rdpdr_main.c rdpdr_main.c
rdpdr_main.h rdpdr_main.h
rdpdr_capabilities.c rdpdr_capabilities.c
rdpdr_capabilities.h rdpdr_capabilities.h
) )
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr freerdp)
winpr freerdp
)
if(APPLE AND (NOT IOS)) if(APPLE AND (NOT IOS))
find_library(CORESERVICES_LIBRARY CoreServices) find_library(CORESERVICES_LIBRARY CoreServices)
list(APPEND ${MODULE_PREFIX}_LIBS list(APPEND ${MODULE_PREFIX}_LIBS ${CORESERVICES_LIBRARY})
${CORESERVICES_LIBRARY}
)
endif() endif()
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntryEx") add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntryEx")

View File

@@ -17,13 +17,8 @@
define_channel_server("rdpdr") define_channel_server("rdpdr")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS rdpdr_main.c rdpdr_main.h)
rdpdr_main.c
rdpdr_main.h
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS freerdp)
freerdp
)
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntry") add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntry")

View File

@@ -15,24 +15,24 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
if (NOT IOS AND NOT WIN32 AND NOT ANDROID) if(NOT IOS AND NOT WIN32 AND NOT ANDROID)
find_package(KRB5) find_package(KRB5)
if(KRB5_FOUND) if(KRB5_FOUND)
define_channel("rdpear") define_channel("rdpear")
include_directories(common) include_directories(common)
if(WITH_CLIENT_CHANNELS OR WITH_SERVER_CHANNELS) if(WITH_CLIENT_CHANNELS OR WITH_SERVER_CHANNELS)
add_subdirectory(common) 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()
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() endif()

View File

@@ -1,13 +1,19 @@
set(OPTION_DEFAULT OFF) set(OPTION_DEFAULT OFF)
set(OPTION_CLIENT_DEFAULT OFF) set(OPTION_CLIENT_DEFAULT OFF)
set(OPTION_SERVER_DEFAULT OFF) set(OPTION_SERVER_DEFAULT OFF)
define_channel_options(NAME "rdpear" TYPE "dynamic" define_channel_options(
DESCRIPTION "Authentication redirection Virtual Channel Extension" NAME
SPECIFICATIONS "[MS-RDPEAR]" "rdpear"
DEFAULT ${OPTION_DEFAULT}) TYPE
"dynamic"
DESCRIPTION
"Authentication redirection Virtual Channel Extension"
SPECIFICATIONS
"[MS-RDPEAR]"
DEFAULT
${OPTION_DEFAULT}
)
define_channel_client_options(${OPTION_CLIENT_DEFAULT}) define_channel_client_options(${OPTION_CLIENT_DEFAULT})
define_channel_server_options(${OPTION_SERVER_DEFAULT}) define_channel_server_options(${OPTION_SERVER_DEFAULT})

View File

@@ -17,15 +17,8 @@
define_channel_client("rdpear") define_channel_client("rdpear")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS rdpear_main.c)
rdpear_main.c
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr freerdp rdpear-common)
winpr
freerdp
rdpear-common
)
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry") add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry")

View File

@@ -16,43 +16,22 @@
# limitations under the License. # limitations under the License.
add_library(rdpear-common INTERFACE) add_library(rdpear-common INTERFACE)
add_library(rdpear-common-obj OBJECT add_library(
ndr.c rdpear-common-obj OBJECT ndr.c rdpear_asn1.c rdpear_common.c rdpear-common/ndr.h rdpear-common/rdpear_asn1.h
rdpear_asn1.c rdpear-common/rdpear_common.h
rdpear_common.c
rdpear-common/ndr.h
rdpear-common/rdpear_asn1.h
rdpear-common/rdpear_common.h
) )
target_include_directories(rdpear-common target_include_directories(rdpear-common SYSTEM INTERFACE ${KRB5_INCLUDE_DIRS})
SYSTEM target_compile_options(rdpear-common INTERFACE ${KRB5_CFLAGS})
INTERFACE ${KRB5_INCLUDE_DIRS} target_link_options(rdpear-common INTERFACE ${KRB5_LDFLAGS})
)
target_compile_options(rdpear-common
INTERFACE
${KRB5_CFLAGS}
)
target_link_options(rdpear-common
INTERFACE
${KRB5_LDFLAGS}
)
target_include_directories(rdpear-common-obj target_include_directories(rdpear-common-obj PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} target_include_directories(rdpear-common-obj SYSTEM PRIVATE ${KRB5_INCLUDE_DIRS})
)
target_include_directories(rdpear-common-obj
SYSTEM
PRIVATE ${KRB5_INCLUDE_DIRS}
)
target_link_directories(rdpear-common INTERFACE ${KRB5_LIBRARY_DIRS}) target_link_directories(rdpear-common INTERFACE ${KRB5_LIBRARY_DIRS})
target_link_libraries(rdpear-common INTERFACE target_link_libraries(rdpear-common INTERFACE ${KRB5_LIBRARIES} $<TARGET_OBJECTS:rdpear-common-obj>)
${KRB5_LIBRARIES}
$<TARGET_OBJECTS:rdpear-common-obj>
)
channel_install(rdpear-common ${FREERDP_ADDIN_PATH} "FreeRDPTargets") channel_install(rdpear-common ${FREERDP_ADDIN_PATH} "FreeRDPTargets")
if (BUILD_TESTING_INTERNAL OR BUILD_TESTING) if(BUILD_TESTING_INTERNAL OR BUILD_TESTING)
add_subdirectory(test) add_subdirectory(test)
endif() endif()

View File

@@ -1,4 +1,3 @@
set(MODULE_NAME "TestRdpear") set(MODULE_NAME "TestRdpear")
set(MODULE_PREFIX "TEST_RDPEAR") set(MODULE_PREFIX "TEST_RDPEAR")
@@ -6,20 +5,13 @@ set(TEST_RDPEAR_DRIVER TestRdpear.c)
disable_warnings_for_directory(${CMAKE_CURRENT_BINARY_DIR}) disable_warnings_for_directory(${CMAKE_CURRENT_BINARY_DIR})
set(TEST_RDPEAR_TESTS set(TEST_RDPEAR_TESTS TestNdr.c)
TestNdr.c
)
if (BUILD_TESTING_INTERNAL) if(BUILD_TESTING_INTERNAL)
list(APPEND TEST_RDPEAR_TESTS list(APPEND TEST_RDPEAR_TESTS TestNdrEar.c)
TestNdrEar.c
)
endif() endif()
create_test_sourcelist(TEST_RDPEAR_SRCS create_test_sourcelist(TEST_RDPEAR_SRCS TestRdpear.c ${TEST_RDPEAR_TESTS})
TestRdpear.c
${TEST_RDPEAR_TESTS}
)
add_executable(${MODULE_NAME} ${TEST_RDPEAR_SRCS}) 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) target_link_libraries(${MODULE_NAME} freerdp winpr freerdp-client)
set_target_properties(${MODULE_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${TESTING_OUTPUT_DIRECTORY}") set_target_properties(${MODULE_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${TESTING_OUTPUT_DIRECTORY}")
foreach(test ${${MODULE_PREFIX}_TESTS}) foreach(test ${${MODULE_PREFIX}_TESTS})
get_filename_component(TestName ${test} NAME_WE) get_filename_component(TestName ${test} NAME_WE)
add_test(${TestName} ${TESTING_OUTPUT_DIRECTORY}/${MODULE_NAME} ${TestName}) add_test(${TestName} ${TESTING_OUTPUT_DIRECTORY}/${MODULE_NAME} ${TestName})
endforeach() endforeach()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "FreeRDP/Rdpear/Test") set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "FreeRDP/Rdpear/Test")

View File

@@ -18,12 +18,12 @@
define_channel("rdpecam") define_channel("rdpecam")
if(WITH_SERVER_CHANNELS) if(WITH_SERVER_CHANNELS)
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()
if(WITH_CLIENT_CHANNELS) if(WITH_CLIENT_CHANNELS)
option(RDPECAM_CLIENT_CHANNEL_STUB "Only build [MS-RDPECAM] channel stub" OFF) option(RDPECAM_CLIENT_CHANNEL_STUB "Only build [MS-RDPECAM] channel stub" OFF)
if (NOT RDPECAM_CLIENT_CHANNEL_STUB) if(NOT RDPECAM_CLIENT_CHANNEL_STUB)
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()
endif() endif()

View File

@@ -1,13 +1,19 @@
set(OPTION_DEFAULT ON) set(OPTION_DEFAULT ON)
set(OPTION_CLIENT_DEFAULT OFF) set(OPTION_CLIENT_DEFAULT OFF)
set(OPTION_SERVER_DEFAULT ON) set(OPTION_SERVER_DEFAULT ON)
define_channel_options(NAME "rdpecam" TYPE "dynamic" define_channel_options(
DESCRIPTION "Video Capture Virtual Channel Extension" NAME
SPECIFICATIONS "[MS-RDPECAM]" "rdpecam"
DEFAULT ${OPTION_DEFAULT}) TYPE
"dynamic"
DESCRIPTION
"Video Capture Virtual Channel Extension"
SPECIFICATIONS
"[MS-RDPECAM]"
DEFAULT
${OPTION_DEFAULT}
)
define_channel_server_options(${OPTION_SERVER_DEFAULT}) define_channel_server_options(${OPTION_SERVER_DEFAULT})
define_channel_client_options(${OPTION_CLIENT_DEFAULT}) define_channel_client_options(${OPTION_CLIENT_DEFAULT})

View File

@@ -18,46 +18,37 @@
define_channel_client("rdpecam") define_channel_client("rdpecam")
if(NOT WITH_SWSCALE OR NOT WITH_FFMPEG) 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() endif()
# currently camera redirect client supported for platforms with Video4Linux only # currently camera redirect client supported for platforms with Video4Linux only
find_package(FFmpeg REQUIRED COMPONENTS SWSCALE) find_package(FFmpeg REQUIRED COMPONENTS SWSCALE)
find_package(V4L) find_package(V4L)
if(V4L_FOUND) if(V4L_FOUND)
set(WITH_V4L ON) set(WITH_V4L ON)
add_definitions("-DWITH_V4L") add_definitions("-DWITH_V4L")
else() else()
message(FATAL_ERROR "libv4l-dev required for CHANNEL_RDPECAM_CLIENT") message(FATAL_ERROR "libv4l-dev required for CHANNEL_RDPECAM_CLIENT")
endif() endif()
option(RDPECAM_INPUT_FORMAT_H264 "[MS-RDPECAM] Enable H264 camera format (passthrough)" ON) option(RDPECAM_INPUT_FORMAT_H264 "[MS-RDPECAM] Enable H264 camera format (passthrough)" ON)
if(RDPECAM_INPUT_FORMAT_H264) if(RDPECAM_INPUT_FORMAT_H264)
add_definitions("-DWITH_INPUT_FORMAT_H264") add_definitions("-DWITH_INPUT_FORMAT_H264")
endif() endif()
option(RDPECAM_INPUT_FORMAT_MJPG "[MS-RDPECAM] Enable MJPG camera format" ON) option(RDPECAM_INPUT_FORMAT_MJPG "[MS-RDPECAM] Enable MJPG camera format" ON)
if(RDPECAM_INPUT_FORMAT_MJPG) if(RDPECAM_INPUT_FORMAT_MJPG)
add_definitions("-DWITH_INPUT_FORMAT_MJPG") add_definitions("-DWITH_INPUT_FORMAT_MJPG")
endif() endif()
include_directories(SYSTEM ${SWSCALE_INCLUDE_DIRS}) include_directories(SYSTEM ${SWSCALE_INCLUDE_DIRS})
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS camera_device_enum_main.c camera_device_main.c encoding.c)
camera_device_enum_main.c
camera_device_main.c
encoding.c
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS freerdp winpr ${SWSCALE_LIBRARIES} ${FFMPEG_LIBRARIES})
freerdp
winpr
${SWSCALE_LIBRARIES}
${FFMPEG_LIBRARIES}
)
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry") add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry")
if(V4L_FOUND) if(V4L_FOUND)
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "v4l" "") add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "v4l" "")
endif() endif()

View File

@@ -17,20 +17,14 @@
if(WITH_V4L) if(WITH_V4L)
define_channel_client_subsystem("rdpecam" "v4l" "") define_channel_client_subsystem("rdpecam" "v4l" "")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS camera_v4l.c)
camera_v4l.c
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr freerdp ${V4L_TARGETS})
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() endif()

View File

@@ -17,13 +17,8 @@
define_channel_server("rdpecam") define_channel_server("rdpecam")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS camera_device_enumerator_main.c camera_device_main.c)
camera_device_enumerator_main.c
camera_device_main.c
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS freerdp)
freerdp
)
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "DVCPluginEntry") add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "DVCPluginEntry")

View File

@@ -18,9 +18,9 @@
define_channel("rdpei") define_channel("rdpei")
if(WITH_CLIENT_CHANNELS) if(WITH_CLIENT_CHANNELS)
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()
if(WITH_SERVER_CHANNELS) if(WITH_SERVER_CHANNELS)
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()

View File

@@ -1,13 +1,19 @@
set(OPTION_DEFAULT OFF) set(OPTION_DEFAULT OFF)
set(OPTION_CLIENT_DEFAULT ON) set(OPTION_CLIENT_DEFAULT ON)
set(OPTION_SERVER_DEFAULT ON) set(OPTION_SERVER_DEFAULT ON)
define_channel_options(NAME "rdpei" TYPE "dynamic" define_channel_options(
DESCRIPTION "Input Virtual Channel Extension" NAME
SPECIFICATIONS "[MS-RDPEI]" "rdpei"
DEFAULT ${OPTION_DEFAULT}) TYPE
"dynamic"
DESCRIPTION
"Input Virtual Channel Extension"
SPECIFICATIONS
"[MS-RDPEI]"
DEFAULT
${OPTION_DEFAULT}
)
define_channel_client_options(${OPTION_CLIENT_DEFAULT}) define_channel_client_options(${OPTION_CLIENT_DEFAULT})
define_channel_server_options(${OPTION_SERVER_DEFAULT}) define_channel_server_options(${OPTION_SERVER_DEFAULT})

View File

@@ -17,17 +17,9 @@
define_channel_client("rdpei") define_channel_client("rdpei")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS rdpei_main.c rdpei_main.h ../rdpei_common.c ../rdpei_common.h)
rdpei_main.c
rdpei_main.h
../rdpei_common.c
../rdpei_common.h
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr freerdp)
winpr freerdp
)
include_directories(..) include_directories(..)
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry") add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry")

View File

@@ -18,15 +18,8 @@
define_channel_server("rdpei") define_channel_server("rdpei")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS rdpei_main.c rdpei_main.h ../rdpei_common.c ../rdpei_common.h)
rdpei_main.c
rdpei_main.h
../rdpei_common.c
../rdpei_common.h
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr)
winpr
)
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntry") add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntry")

View File

@@ -18,5 +18,5 @@
define_channel("rdpemsc") define_channel("rdpemsc")
if(WITH_SERVER_CHANNELS) if(WITH_SERVER_CHANNELS)
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()

View File

@@ -1,12 +1,18 @@
set(OPTION_DEFAULT ON) set(OPTION_DEFAULT ON)
set(OPTION_CLIENT_DEFAULT OFF) set(OPTION_CLIENT_DEFAULT OFF)
set(OPTION_SERVER_DEFAULT ON) set(OPTION_SERVER_DEFAULT ON)
define_channel_options(NAME "rdpemsc" TYPE "dynamic" define_channel_options(
DESCRIPTION "Mouse Cursor Virtual Channel Extension" NAME
SPECIFICATIONS "[MS-RDPEMSC]" "rdpemsc"
DEFAULT ${OPTION_DEFAULT}) TYPE
"dynamic"
DESCRIPTION
"Mouse Cursor Virtual Channel Extension"
SPECIFICATIONS
"[MS-RDPEMSC]"
DEFAULT
${OPTION_DEFAULT}
)
define_channel_server_options(${OPTION_SERVER_DEFAULT}) define_channel_server_options(${OPTION_SERVER_DEFAULT})

View File

@@ -17,12 +17,8 @@
define_channel_server("rdpemsc") define_channel_server("rdpemsc")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS mouse_cursor_main.c)
mouse_cursor_main.c
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS freerdp)
freerdp
)
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "DVCPluginEntry") add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "DVCPluginEntry")

View File

@@ -18,9 +18,9 @@
define_channel("rdpgfx") define_channel("rdpgfx")
if(WITH_CLIENT_CHANNELS) if(WITH_CLIENT_CHANNELS)
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()
if(WITH_SERVER_CHANNELS) if(WITH_SERVER_CHANNELS)
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()

View File

@@ -1,13 +1,19 @@
set(OPTION_DEFAULT OFF) set(OPTION_DEFAULT OFF)
set(OPTION_CLIENT_DEFAULT ON) set(OPTION_CLIENT_DEFAULT ON)
set(OPTION_SERVER_DEFAULT ON) set(OPTION_SERVER_DEFAULT ON)
define_channel_options(NAME "rdpgfx" TYPE "dynamic" define_channel_options(
DESCRIPTION "Graphics Pipeline Extension" NAME
SPECIFICATIONS "[MS-RDPEGFX]" "rdpgfx"
DEFAULT ${OPTION_DEFAULT}) TYPE
"dynamic"
DESCRIPTION
"Graphics Pipeline Extension"
SPECIFICATIONS
"[MS-RDPEGFX]"
DEFAULT
${OPTION_DEFAULT}
)
define_channel_client_options(${OPTION_CLIENT_DEFAULT}) define_channel_client_options(${OPTION_CLIENT_DEFAULT})
define_channel_server_options(${OPTION_SERVER_DEFAULT}) define_channel_server_options(${OPTION_SERVER_DEFAULT})

View File

@@ -17,19 +17,11 @@
define_channel_client("rdpgfx") define_channel_client("rdpgfx")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS rdpgfx_main.c rdpgfx_main.h rdpgfx_codec.c rdpgfx_codec.h ../rdpgfx_common.c
rdpgfx_main.c ../rdpgfx_common.h
rdpgfx_main.h
rdpgfx_codec.c
rdpgfx_codec.h
../rdpgfx_common.c
../rdpgfx_common.h
) )
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr freerdp)
winpr freerdp
)
include_directories(..) include_directories(..)
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry") add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry")

View File

@@ -17,16 +17,9 @@
define_channel_server("rdpgfx") define_channel_server("rdpgfx")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS rdpgfx_main.c rdpgfx_main.h ../rdpgfx_common.c ../rdpgfx_common.h)
rdpgfx_main.c
rdpgfx_main.h
../rdpgfx_common.c
../rdpgfx_common.h
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS freerdp)
freerdp
)
include_directories(..) include_directories(..)

View File

@@ -21,9 +21,9 @@ include_directories(common)
add_subdirectory(common) add_subdirectory(common)
if(WITH_CLIENT_CHANNELS) if(WITH_CLIENT_CHANNELS)
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()
if(WITH_SERVER_CHANNELS) if(WITH_SERVER_CHANNELS)
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME}) add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
endif() endif()

View File

@@ -1,13 +1,19 @@
set(OPTION_DEFAULT OFF) set(OPTION_DEFAULT OFF)
set(OPTION_CLIENT_DEFAULT ON) set(OPTION_CLIENT_DEFAULT ON)
set(OPTION_SERVER_DEFAULT ON) set(OPTION_SERVER_DEFAULT ON)
define_channel_options(NAME "rdpsnd" TYPE "static;dynamic" define_channel_options(
DESCRIPTION "Audio Output Virtual Channel Extension" NAME
SPECIFICATIONS "[MS-RDPEA]" "rdpsnd"
DEFAULT ${OPTION_DEFAULT}) TYPE
"static;dynamic"
DESCRIPTION
"Audio Output Virtual Channel Extension"
SPECIFICATIONS
"[MS-RDPEA]"
DEFAULT
${OPTION_DEFAULT}
)
define_channel_client_options(${OPTION_CLIENT_DEFAULT}) define_channel_client_options(${OPTION_CLIENT_DEFAULT})
define_channel_server_options(${OPTION_SERVER_DEFAULT}) define_channel_server_options(${OPTION_SERVER_DEFAULT})

View File

@@ -17,50 +17,42 @@
define_channel_client("rdpsnd") define_channel_client("rdpsnd")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS rdpsnd_main.c rdpsnd_main.h)
rdpsnd_main.c
rdpsnd_main.h
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr freerdp ${CMAKE_THREAD_LIBS_INIT} rdpsnd-common)
winpr
freerdp
${CMAKE_THREAD_LIBS_INIT}
rdpsnd-common
)
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntryEx;DVCPluginEntry") add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntryEx;DVCPluginEntry")
if(WITH_OSS) if(WITH_OSS)
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "oss" "") add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "oss" "")
endif() endif()
if(WITH_ALSA) if(WITH_ALSA)
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "alsa" "") add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "alsa" "")
endif() endif()
if(WITH_IOSAUDIO) if(WITH_IOSAUDIO)
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "ios" "") add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "ios" "")
endif() endif()
if(WITH_PULSE) if(WITH_PULSE)
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "pulse" "") add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "pulse" "")
endif() endif()
if(WITH_MACAUDIO) if(WITH_MACAUDIO)
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "mac" "") add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "mac" "")
endif() endif()
if(WITH_WINMM) if(WITH_WINMM)
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "winmm" "") add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "winmm" "")
endif() endif()
if(WITH_OPENSLES) if(WITH_OPENSLES)
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "opensles" "") add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "opensles" "")
endif() endif()
if(WITH_SNDIO) if(WITH_SNDIO)
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "sndio" "") add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "sndio" "")
endif() endif()
add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "fake" "") add_channel_client_subsystem(${MODULE_PREFIX} ${CHANNEL_NAME} "fake" "")

View File

@@ -19,14 +19,9 @@ define_channel_client_subsystem("rdpsnd" "alsa" "")
find_package(ALSA REQUIRED) find_package(ALSA REQUIRED)
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS rdpsnd_alsa.c)
rdpsnd_alsa.c)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr freerdp ${ALSA_LIBRARIES})
winpr
freerdp
${ALSA_LIBRARIES}
)
include_directories(..) include_directories(..)
include_directories(SYSTEM ${ALSA_INCLUDE_DIRS}) include_directories(SYSTEM ${ALSA_INCLUDE_DIRS})

View File

@@ -18,14 +18,9 @@
define_channel_client_subsystem("rdpsnd" "fake" "") define_channel_client_subsystem("rdpsnd" "fake" "")
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS rdpsnd_fake.c)
rdpsnd_fake.c
)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr freerdp)
winpr
freerdp
)
include_directories(..) include_directories(..)

View File

@@ -19,21 +19,13 @@
define_channel_client_subsystem("rdpsnd" "ios" "") define_channel_client_subsystem("rdpsnd" "ios" "")
FIND_LIBRARY(CORE_AUDIO CoreAudio) find_library(CORE_AUDIO CoreAudio)
FIND_LIBRARY(AUDIO_TOOL AudioToolbox) find_library(AUDIO_TOOL AudioToolbox)
FIND_LIBRARY(CORE_FOUNDATION CoreFoundation) find_library(CORE_FOUNDATION CoreFoundation)
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS rdpsnd_ios.c TPCircularBuffer.c)
rdpsnd_ios.c
TPCircularBuffer.c)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS winpr freerdp ${AUDIO_TOOL} ${CORE_AUDIO} ${CORE_FOUNDATION})
winpr
freerdp
${AUDIO_TOOL}
${CORE_AUDIO}
${CORE_FOUNDATION}
)
include_directories(..) include_directories(..)

View File

@@ -20,16 +20,15 @@
define_channel_client_subsystem("rdpsnd" "mac" "") define_channel_client_subsystem("rdpsnd" "mac" "")
find_library(COCOA_LIBRARY Cocoa REQUIRED) find_library(COCOA_LIBRARY Cocoa REQUIRED)
FIND_LIBRARY(CORE_FOUNDATION CoreFoundation) find_library(CORE_FOUNDATION CoreFoundation)
FIND_LIBRARY(CORE_AUDIO CoreAudio REQUIRED) find_library(CORE_AUDIO CoreAudio REQUIRED)
FIND_LIBRARY(AUDIO_TOOL AudioToolbox REQUIRED) find_library(AUDIO_TOOL AudioToolbox REQUIRED)
FIND_LIBRARY(AV_FOUNDATION AVFoundation REQUIRED) find_library(AV_FOUNDATION AVFoundation REQUIRED)
set(${MODULE_PREFIX}_SRCS set(${MODULE_PREFIX}_SRCS rdpsnd_mac.m)
rdpsnd_mac.m)
set(${MODULE_PREFIX}_LIBS set(${MODULE_PREFIX}_LIBS
winpr winpr
freerdp freerdp
${AUDIO_TOOL} ${AUDIO_TOOL}
${AV_FOUNDATION} ${AV_FOUNDATION}

Some files were not shown because too many files have changed in this diff Show More