[channels] simplified channel subsystem linking

This commit is contained in:
akallabeth 2023-02-20 11:18:43 +01:00 committed by akallabeth
parent cf9777cd92
commit c054666311
26 changed files with 201 additions and 195 deletions

View File

@ -168,10 +168,6 @@ macro(channel_install _targets _destination _export_target)
endif()
endmacro(channel_install)
macro(server_channel_install _targets _destination)
channel_install(${_targets} ${_destination} "FreeRDP-ServerTargets")
endmacro(server_channel_install)
macro(client_channel_install _targets _destination)
channel_install(${_targets} ${_destination} "FreeRDP-ClientTargets")
endmacro(client_channel_install)
@ -207,10 +203,14 @@ macro(add_channel_client_subsystem_library _module_prefix _module_name _channel_
set(${_module_prefix}_TYPE ${_type} PARENT_SCOPE)
add_library(${_module_name} STATIC ${${_module_prefix}_SRCS})
target_link_libraries(${_module_name} ${${_module_prefix}_LIBS})
if (NOT BUILD_SHARED_LIBS)
client_channel_install(${_module_name} ${FREERDP_ADDIN_PATH})
set_property(TARGET ${_module_name} PROPERTY POSITION_INDEPENDENT_CODE ON)
set_property(TARGET ${_module_name} PROPERTY FOLDER "Channels/${_channel_name}/Client/Subsystem/${_module_name}")
if (${_module_prefix}_LIBS)
target_link_libraries(${_module_name} PRIVATE ${${_module_prefix}_LIBS})
endif()
client_channel_install(${_module_name} ${FREERDP_ADDIN_PATH})
endmacro(add_channel_client_subsystem_library)
macro(add_channel_server_library _module_prefix _module_name _channel_name _dynamic _entry)
@ -228,7 +228,7 @@ macro(add_channel_server_library _module_prefix _module_name _channel_name _dyna
set_property(TARGET ${_module_name} PROPERTY POSITION_INDEPENDENT_CODE ON)
set_property(TARGET ${_module_name} PROPERTY FOLDER "Channels/${CHANNEL_NAME}/Server")
if (${${_module_prefix}_LIBS})
if (${_module_prefix}_LIBS/su)
target_link_libraries(${_module_name} PRIVATE ${${_module_prefix}_LIBS})
endif()
endmacro(add_channel_server_library)

View File

@ -18,15 +18,16 @@
define_channel_client_subsystem("audin" "alsa" "")
set(${MODULE_PREFIX}_SRCS
audin_alsa.c)
audin_alsa.c
)
set(${MODULE_PREFIX}_LIBS
winpr
freerdp
${ALSA_LIBRARIES}
)
include_directories(..)
include_directories(${ALSA_INCLUDE_DIRS})
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
set(${MODULE_PREFIX}_LIBS freerdp winpr ${ALSA_LIBRARIES})
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})

View File

@ -22,13 +22,18 @@
FIND_LIBRARY(AUDIO_TOOL AudioToolbox)
set(${MODULE_PREFIX}_SRCS
audin_ios.m)
audin_ios.m
)
include_directories(..)
include_directories(${MAC_INCLUDE_DIRS})
set(${MODULE_PREFIX}_LIBS
winpr
freerdp
${AVFOUNDATION}
${CORE_AUDIO}
${AUDIO_TOOL}
)
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
include_directories(..)
include_directories(${MAC_INCLUDE_DIRS})
set(${MODULE_PREFIX}_LIBS freerdp ${AVFOUNDATION} ${CORE_AUDIO} ${AUDIO_TOOL} winpr)
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")

View File

@ -23,13 +23,19 @@ FIND_LIBRARY(AUDIO_TOOL AudioToolbox)
FIND_LIBRARY(APP_SERVICES ApplicationServices)
set(${MODULE_PREFIX}_SRCS
audin_mac.m)
audin_mac.m
)
set(${MODULE_PREFIX}_LIBS
winpr
freerdp
${AVFOUNDATION}
${CORE_AUDIO}
${AUDIO_TOOL}
${APP_SERVICES}
)
include_directories(..)
include_directories(${MAC_INCLUDE_DIRS})
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
set(${MODULE_PREFIX}_LIBS freerdp ${AVFOUNDATION} ${CORE_AUDIO} ${AUDIO_TOOL} ${APP_SERVICES} winpr)
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})

View File

@ -19,15 +19,16 @@ define_channel_client_subsystem("audin" "opensles" "")
set(${MODULE_PREFIX}_SRCS
opensl_io.c
audin_opensl_es.c)
audin_opensl_es.c
)
set(${MODULE_PREFIX}_LIBS
winpr
freerdp
${OPENSLES_LIBRARIES}
)
include_directories(..)
include_directories(${OPENSLES_INCLUDE_DIRS})
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
set(${MODULE_PREFIX}_LIBS freerdp ${OPENSLES_LIBRARIES})
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})

View File

@ -18,16 +18,17 @@
define_channel_client_subsystem("audin" "oss" "")
set(${MODULE_PREFIX}_SRCS
audin_oss.c)
audin_oss.c
)
set(${MODULE_PREFIX}_LIBS
winpr
freerdp
${OSS_LIBRARIES}
)
include_directories(..)
include_directories(${OSS_INCLUDE_DIRS})
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
set(${MODULE_PREFIX}_LIBS freerdp winpr ${OSS_LIBRARIES})
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})

View File

@ -20,12 +20,12 @@ define_channel_client_subsystem("audin" "pulse" "")
set(${MODULE_PREFIX}_SRCS
audin_pulse.c)
set(${MODULE_PREFIX}_LIBS
winpr
freerdp
)
include_directories(..)
include_directories(${PULSE_INCLUDE_DIR})
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
set(${MODULE_PREFIX}_LIBS freerdp ${PULSE_LIBRARY} winpr)
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})

View File

@ -21,14 +21,14 @@ define_channel_client_subsystem("audin" "sndio" "")
set(${MODULE_PREFIX}_SRCS
audin_sndio.c)
set(${MODULE_PREFIX}_LIBS
winpr
freerdp
${SNDIO_LIBRARIES}
)
include_directories(..)
include_directories(${SNDIO_INCLUDE_DIRS})
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
set(${MODULE_PREFIX}_LIBS freerdp winpr ${SNDIO_LIBRARIES})
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})

View File

@ -20,14 +20,12 @@ define_channel_client_subsystem("audin" "winmm" "")
set(${MODULE_PREFIX}_SRCS
audin_winmm.c)
set(${MODULE_PREFIX}_LIBS
winpr
freerdp
winmm.lib
)
include_directories(..)
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
set(${MODULE_PREFIX}_LIBS freerdp winpr winmm.lib)
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${CHANNEL_NAME}/Client/winmm")

View File

@ -20,12 +20,13 @@ define_channel_client_subsystem("printer" "cups" "")
set(${MODULE_PREFIX}_SRCS
printer_cups.c)
set(${MODULE_PREFIX}_LIBS
winpr
freerdp
${CUPS_LIBRARIES}
)
include_directories(..)
include_directories(${CUPS_INCLUDE_DIR})
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr freerdp)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${CUPS_LIBRARIES})
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})

View File

@ -20,10 +20,11 @@ define_channel_client_subsystem("printer" "win" "")
set(${MODULE_PREFIX}_SRCS
printer_win.c)
set(${MODULE_PREFIX}_LIBS
winpr
freerdp
)
include_directories(..)
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr freerdp)
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})

View File

@ -20,17 +20,13 @@ define_channel_client_subsystem("rdpsnd" "alsa" "")
set(${MODULE_PREFIX}_SRCS
rdpsnd_alsa.c)
set(${MODULE_PREFIX}_LIBS
winpr
freerdp
${ALSA_LIBRARIES}
)
include_directories(..)
include_directories(${ALSA_INCLUDE_DIRS})
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr freerdp)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${ALSA_LIBRARIES})
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${CHANNEL_NAME}/Client/ALSA")

View File

@ -19,15 +19,14 @@
define_channel_client_subsystem("rdpsnd" "fake" "")
set(${MODULE_PREFIX}_SRCS
rdpsnd_fake.c)
rdpsnd_fake.c
)
set(${MODULE_PREFIX}_LIBS
winpr
freerdp
)
include_directories(..)
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
list(APPEND ${MODULE_PREFIX}_LIBS freerdp)
list(APPEND ${MODULE_PREFIX}_LIBS winpr)
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${CHANNEL_NAME}/Client/Fake")

View File

@ -27,19 +27,14 @@ set(${MODULE_PREFIX}_SRCS
rdpsnd_ios.c
TPCircularBuffer.c)
set(${MODULE_PREFIX}_LIBS
winpr
freerdp
${AUDIO_TOOL}
${CORE_AUDIO}
${CORE_FOUNDATION}
)
include_directories(..)
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS}
${AUDIO_TOOL}
${CORE_AUDIO}
${CORE_FOUNDATION})
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp)
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${CHANNEL_NAME}/Client/ios")

View File

@ -28,22 +28,17 @@ FIND_LIBRARY(AV_FOUNDATION AVFoundation REQUIRED)
set(${MODULE_PREFIX}_SRCS
rdpsnd_mac.m)
include_directories(..)
include_directories(${MACAUDIO_INCLUDE_DIRS})
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS}
set(${MODULE_PREFIX}_LIBS
winpr
freerdp
${AUDIO_TOOL}
${AV_FOUNDATION}
${CORE_AUDIO}
${COCOA_LIBRARY}
${CORE_FOUNDATION})
${CORE_FOUNDATION}
)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp winpr)
include_directories(..)
include_directories(${MACAUDIO_INCLUDE_DIRS})
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${CHANNEL_NAME}/Client/Mac")
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")

View File

@ -21,13 +21,13 @@ set(${MODULE_PREFIX}_SRCS
opensl_io.c
rdpsnd_opensles.c)
set(${MODULE_PREFIX}_LIBS
winpr
freerdp
${OPENSLES_LIBRARIES}
)
include_directories(..)
include_directories(${OPENSLES_INCLUDE_DIRS})
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
set(${MODULE_PREFIX}_LIBS freerdp ${OPENSLES_LIBRARIES})
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})

View File

@ -18,19 +18,16 @@
define_channel_client_subsystem("rdpsnd" "oss" "")
set(${MODULE_PREFIX}_SRCS
rdpsnd_oss.c)
rdpsnd_oss.c
)
set(${MODULE_PREFIX}_LIBS
winpr
freerdp
${OSS_LIBRARIES}
)
include_directories(..)
include_directories(${OSS_INCLUDE_DIRS})
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr freerdp)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${OSS_LIBRARIES})
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${CHANNEL_NAME}/Client/OSS")

View File

@ -18,17 +18,16 @@
define_channel_client_subsystem("rdpsnd" "pulse" "")
set(${MODULE_PREFIX}_SRCS
rdpsnd_pulse.c)
rdpsnd_pulse.c
)
set(${MODULE_PREFIX}_LIBS
winpr
freerdp
${PULSE_LIBRARY}
)
include_directories(..)
include_directories(${PULSE_INCLUDE_DIR})
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
list(APPEND ${MODULE_PREFIX}_LIBS ${PULSE_LIBRARY})
list(APPEND ${MODULE_PREFIX}_LIBS freerdp)
list(APPEND ${MODULE_PREFIX}_LIBS winpr)
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${CHANNEL_NAME}/Client/Pulse")

View File

@ -19,19 +19,16 @@
define_channel_client_subsystem("rdpsnd" "sndio" "")
set(${MODULE_PREFIX}_SRCS
rdpsnd_sndio.c)
rdpsnd_sndio.c
)
set(${MODULE_PREFIX}_LIBS
winpr
freerdp
${SNDIO_LIBRARIES}
)
include_directories(..)
include_directories(${SNDIO_INCLUDE_DIRS})
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr freerdp)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${SNDIO_LIBRARIES})
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${CHANNEL_NAME}/Client/SNDIO")

View File

@ -18,16 +18,15 @@
define_channel_client_subsystem("rdpsnd" "winmm" "")
set(${MODULE_PREFIX}_SRCS
rdpsnd_winmm.c)
rdpsnd_winmm.c
)
set(${MODULE_PREFIX}_LIBS
winpr
freerdp
winmm.lib
)
include_directories(..)
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winmm.lib)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp)
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${CHANNEL_NAME}/Client/WinMM")

View File

@ -18,12 +18,15 @@
define_channel_client_subsystem("tsmf" "alsa" "audio")
set(${MODULE_PREFIX}_SRCS
tsmf_alsa.c)
tsmf_alsa.c
)
set(${MODULE_PREFIX}_LIBS
winpr
freerdp
)
include_directories(..)
include_directories(${ALSA_INCLUDE_DIRS})
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
target_link_libraries(${MODULE_NAME} ${ALSA_LIBRARIES} winpr freerdp)

View File

@ -18,22 +18,25 @@
define_channel_client_subsystem("tsmf" "ffmpeg" "decoder")
set(${MODULE_PREFIX}_SRCS
tsmf_ffmpeg.c)
tsmf_ffmpeg.c
)
set(${MODULE_PREFIX}_LIBS
freerdp
${FFMPEG_LIBRARIES}
)
if(APPLE)
# For this to work on apple, we need to add some frameworks
FIND_LIBRARY(COREFOUNDATION_LIBRARY CoreFoundation)
FIND_LIBRARY(COREVIDEO_LIBRARY CoreVideo)
FIND_LIBRARY(COREVIDEODECODE_LIBRARY VideoDecodeAcceleration)
list(APPEND ${MODULE_PREFIX}_LIBS ${COREFOUNDATION_LIBRARY} ${COREVIDEO_LIBRARY} ${COREVIDEODECODE_LIBRARY})
endif()
include_directories(..)
include_directories(${FFMPEG_INCLUDE_DIRS})
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
if(APPLE)
# For this to work on apple, we need to add some frameworks
FIND_LIBRARY(COREFOUNDATION_LIBRARY CoreFoundation)
FIND_LIBRARY(COREVIDEO_LIBRARY CoreVideo)
FIND_LIBRARY(COREVIDEODECODE_LIBRARY VideoDecodeAcceleration)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${FFMPEG_LIBRARIES} ${COREFOUNDATION_LIBRARY} ${COREVIDEO_LIBRARY} ${COREVIDEODECODE_LIBRARY})
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS} freerdp)
else()
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${FFMPEG_LIBRARIES})
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
endif()

View File

@ -57,9 +57,15 @@ else()
endif()
set(${MODULE_PREFIX}_SRCS "${SRC}")
set(${MODULE_PREFIX}_SRCS
"${SRC}"
)
set(${MODULE_PREFIX}_LIBS
${LIBS}
winpr
)
include_directories(..)
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
target_link_libraries(${MODULE_NAME} ${LIBS} winpr)

View File

@ -18,11 +18,15 @@
define_channel_client_subsystem("tsmf" "oss" "audio")
set(${MODULE_PREFIX}_SRCS
tsmf_oss.c)
tsmf_oss.c
)
set(${MODULE_PREFIX}_LIBS
winpr
)
include_directories(..)
include_directories(${OSS_INCLUDE_DIRS})
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
target_link_libraries(${MODULE_NAME} winpr)

View File

@ -18,10 +18,15 @@
define_channel_client_subsystem("tsmf" "pulse" "audio")
set(${MODULE_PREFIX}_SRCS
tsmf_pulse.c)
tsmf_pulse.c
)
set(${MODULE_PREFIX}_LIBS
winpr
${PULSE_LIBRARY}
)
include_directories(..)
include_directories(${PULSE_INCLUDE_DIR})
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
target_link_libraries(${MODULE_NAME} winpr ${PULSE_LIBRARY})

View File

@ -21,22 +21,16 @@ define_channel_client_subsystem("urbdrc" "libusb" "")
set(${MODULE_PREFIX}_SRCS
libusb_udevman.c
libusb_udevice.c
libusb_udevice.h)
libusb_udevice.h
)
set(${MODULE_PREFIX}_LIBS
${CMAKE_THREAD_LIBS_INIT}
${LIBUSB_1_LIBRARIES}
winpr freerdp
)
include_directories(..)
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
set(${MODULE_PREFIX}_LIBS
${CMAKE_THREAD_LIBS_INIT})
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS}
${LIBUSB_1_LIBRARIES})
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr urbdrc-client)
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})