From 81e485736f5a853a3e7377763109d69b449d5390 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Moreau?= Date: Wed, 17 Oct 2012 02:14:19 -0400 Subject: [PATCH] channels: refactoring of channels cmake scripts with macros --- CMakeLists.txt | 14 +++++-- channels/CMakeLists.txt | 39 +++++++++++++++++++ channels/audin/CMakeLists.txt | 4 +- channels/audin/client/CMakeLists.txt | 6 +-- channels/audin/client/alsa/CMakeLists.txt | 28 ++++++------- channels/audin/client/pulse/CMakeLists.txt | 32 +++++++-------- channels/audin/server/CMakeLists.txt | 4 +- channels/client/CMakeLists.txt | 4 +- channels/cliprdr/CMakeLists.txt | 4 +- channels/cliprdr/client/CMakeLists.txt | 4 +- channels/disk/CMakeLists.txt | 4 +- channels/disk/client/CMakeLists.txt | 4 +- channels/drdynvc/CMakeLists.txt | 4 +- channels/drdynvc/client/CMakeLists.txt | 4 +- channels/parallel/CMakeLists.txt | 4 +- channels/parallel/client/CMakeLists.txt | 4 +- channels/printer/CMakeLists.txt | 4 +- channels/printer/client/CMakeLists.txt | 4 +- channels/rail/CMakeLists.txt | 4 +- channels/rail/client/CMakeLists.txt | 6 +-- channels/rdpdr/CMakeLists.txt | 4 +- channels/rdpdr/client/CMakeLists.txt | 4 +- channels/rdpsnd/CMakeLists.txt | 4 +- channels/rdpsnd/client/CMakeLists.txt | 8 ++-- channels/rdpsnd/client/alsa/CMakeLists.txt | 28 ++++++------- .../client/{MacAudio => mac}/CMakeLists.txt | 28 +++++++------ .../rdpsnd_audio_q.c => mac/rdpsnd_mac.c} | 0 channels/rdpsnd/client/pulse/CMakeLists.txt | 30 +++++++------- channels/rdpsnd/server/CMakeLists.txt | 4 +- channels/sample/CMakeLists.txt | 4 +- channels/sample/client/CMakeLists.txt | 4 +- channels/serial/CMakeLists.txt | 4 +- channels/serial/client/CMakeLists.txt | 7 ++-- channels/server/CMakeLists.txt | 2 +- channels/smartcard/CMakeLists.txt | 4 +- channels/smartcard/client/CMakeLists.txt | 3 +- channels/tsmf/CMakeLists.txt | 4 +- channels/tsmf/client/CMakeLists.txt | 6 +-- channels/tsmf/client/alsa/CMakeLists.txt | 32 ++++++++------- channels/tsmf/client/ffmpeg/CMakeLists.txt | 37 +++++++----------- channels/tsmf/client/gstreamer/CMakeLists.txt | 32 ++++++++------- channels/tsmf/client/pulse/CMakeLists.txt | 29 +++++++------- channels/urbdrc/CMakeLists.txt | 4 +- channels/urbdrc/client/CMakeLists.txt | 4 +- cmake/FindPCSC.cmake | 11 ++++-- cmake/FindPulseAudio.cmake | 14 ++++--- freerdp.spec | 4 +- libfreerdp/CMakeLists.txt | 2 +- 48 files changed, 253 insertions(+), 245 deletions(-) rename channels/rdpsnd/client/{MacAudio => mac}/CMakeLists.txt (56%) rename channels/rdpsnd/client/{MacAudio/rdpsnd_audio_q.c => mac/rdpsnd_mac.c} (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index d454af2f0..2eed08453 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -91,6 +91,10 @@ if(CMAKE_COMPILER_IS_GNUCC) if(Wno-unused-but-set-variable) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-but-set-variable") endif() + CHECK_C_COMPILER_FLAG(-Wno-deprecated-declarations Wno-deprecated-declarations) + if(Wno-deprecated-declarations) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-deprecated-declarations") + endif() if(CMAKE_BUILD_TYPE STREQUAL "Release") set(CMAKE_C_FLAGS_RELEASE "-DNDEBUG") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") @@ -154,7 +158,7 @@ if(ANDROID) set(WITH_X11 OFF) set(WITH_CUPS OFF) set(WITH_ALSA OFF) - set(WITH_PULSEAUDIO OFF) + set(WITH_PULSE OFF) set(WITH_FFMPEG OFF) set(WITH_GSTREAMER OFF) set(WITH_PCSC OFF) @@ -194,10 +198,11 @@ set(FREERDP_DATA_PATH "${CMAKE_INSTALL_PREFIX}/share/freerdp") set(FREERDP_KEYMAP_PATH "${FREERDP_DATA_PATH}/keymaps") # Path to put plugins + if(WIN32) - set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_FULL_LIBDIR}") + set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_LIBDIR}") else() - set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_FULL_LIBDIR}/freerdp") + set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_LIBDIR}/freerdp") endif() set(FREERDP_CLIENT_PLUGIN_PATH "${FREERDP_PLUGIN_PATH}/client") @@ -302,5 +307,8 @@ set(CPACK_PACKAGE_VERSION_MAJOR ${FREERDP_VERSION_MAJOR}) set(CPACK_PACKAGE_VERSION_MINOR ${FREERDP_VERSION_MINOR}) set(CPACK_PACKAGE_VERSION_PATCH ${FREERDP_VERSION_REVISION}) +set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") +set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") + include(CPack) diff --git a/channels/CMakeLists.txt b/channels/CMakeLists.txt index 77f59daaa..fb125dbd2 100644 --- a/channels/CMakeLists.txt +++ b/channels/CMakeLists.txt @@ -17,6 +17,45 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON) +macro(define_channel _channel_name) + set(CHANNEL_NAME ${_channel_name}) + set(MODULE_NAME ${CHANNEL_NAME}) + string(TOUPPER "CHANNEL_${CHANNEL_NAME}" MODULE_PREFIX) +endmacro(define_channel) + +macro(define_channel_client _channel_name) + set(CHANNEL_NAME ${_channel_name}) + set(MODULE_NAME "${CHANNEL_NAME}-client") + string(TOUPPER "CHANNEL_${CHANNEL_NAME}_CLIENT" MODULE_PREFIX) +endmacro(define_channel_client) + +macro(define_channel_server _channel_name) + set(CHANNEL_NAME ${_channel_name}) + set(MODULE_NAME "${CHANNEL_NAME}-server") + string(TOUPPER "CHANNEL_${CHANNEL_NAME}_SERVER" MODULE_PREFIX) +endmacro(define_channel_server) + +macro(define_channel_client_subsystem _channel_name _subsystem _type) + set(CHANNEL_NAME ${_channel_name}) + set(CHANNEL_SUBSYSTEM ${_subsystem}) + string(LENGTH "${_type}" _type_length) + if(_type_length GREATER 0) + set(SUBSYSTEM_TYPE ${_type}) + set(MODULE_NAME "${CHANNEL_NAME}-client-${CHANNEL_SUBSYSTEM}-${SUBSYSTEM_TYPE}") + string(TOUPPER "CHANNEL_${CHANNEL_NAME}_CLIENT_${CHANNEL_SUBSYSTEM}-${SUBSYSTEM_TYPE}" MODULE_PREFIX) + else() + set(MODULE_NAME "${CHANNEL_NAME}-client-${CHANNEL_SUBSYSTEM}") + string(TOUPPER "CHANNEL_${CHANNEL_NAME}_CLIENT_${CHANNEL_SUBSYSTEM}" MODULE_PREFIX) + endif() +endmacro(define_channel_client_subsystem) + +macro(define_channel_server_subsystem _channel_name _subsystem _type) + set(CHANNEL_NAME ${_channel_name}) + set(CHANNEL_SUBSYSTEM ${_subsystem}) + set(MODULE_NAME "${CHANNEL_NAME}-server-${CHANNEL_SUBSYSTEM}") + string(TOUPPER "CHANNEL_${CHANNEL_NAME}_server_${CHANNEL_SUBSYSTEM}" MODULE_PREFIX) +endmacro(define_channel_server_subsystem) + macro(add_channel_client _channel_prefix _channel_name) add_subdirectory(client) if(${_channel_prefix}_CLIENT_STATIC) diff --git a/channels/audin/CMakeLists.txt b/channels/audin/CMakeLists.txt index 7a64e57de..d72b1021b 100644 --- a/channels/audin/CMakeLists.txt +++ b/channels/audin/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "audin") -set(MODULE_NAME ${CHANNEL_NAME}) -string(TOUPPER "CHANNEL_${CHANNEL_NAME}" MODULE_PREFIX) +define_channel("audin") if(WITH_CLIENT_CHANNELS) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) diff --git a/channels/audin/client/CMakeLists.txt b/channels/audin/client/CMakeLists.txt index d3737de17..b762df5f4 100644 --- a/channels/audin/client/CMakeLists.txt +++ b/channels/audin/client/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "audin") -set(MODULE_NAME "${CHANNEL_NAME}") -string(TOUPPER "CHANNEL_${CHANNEL_NAME}_CLIENT" MODULE_PREFIX) +define_channel_client("audin") set(${MODULE_PREFIX}_SRCS audin_main.c @@ -46,6 +44,6 @@ if(WITH_ALSA) add_subdirectory(alsa) endif() -if(WITH_PULSEAUDIO) +if(WITH_PULSE) add_subdirectory(pulse) endif() diff --git a/channels/audin/client/alsa/CMakeLists.txt b/channels/audin/client/alsa/CMakeLists.txt index cb469b635..d90e3f8d1 100644 --- a/channels/audin/client/alsa/CMakeLists.txt +++ b/channels/audin/client/alsa/CMakeLists.txt @@ -1,9 +1,7 @@ # FreeRDP: A Remote Desktop Protocol Implementation # FreeRDP cmake build script # -# Copyright 2011 O.S. Systems Software Ltda. -# Copyright 2011 Otavio Salvador -# Copyright 2011 Marc-Andre Moreau +# Copyright 2012 Marc-Andre Moreau # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,21 +15,25 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(AUDIN_ALSA_SRCS +define_channel_client_subsystem("audin" "alsa" "") + +set(${MODULE_PREFIX}_SRCS audin_alsa.c) include_directories(..) include_directories(${ALSA_INCLUDE_DIRS}) -add_library(audin_alsa ${AUDIN_ALSA_SRCS}) -set_target_properties(audin_alsa PROPERTIES PREFIX "") +add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -if(MONOLITHIC_BUILD) - target_link_libraries(audin_alsa freerdp) -else() - target_link_libraries(audin_alsa freerdp-utils) -endif() +set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "") -target_link_libraries(audin_alsa ${ALSA_LIBRARIES}) +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-utils) -install(TARGETS audin_alsa DESTINATION ${FREERDP_PLUGIN_PATH}) +set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${ALSA_LIBRARIES}) + +target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) + +install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH}) diff --git a/channels/audin/client/pulse/CMakeLists.txt b/channels/audin/client/pulse/CMakeLists.txt index 2753ef1bf..21bdd6732 100644 --- a/channels/audin/client/pulse/CMakeLists.txt +++ b/channels/audin/client/pulse/CMakeLists.txt @@ -1,9 +1,7 @@ # FreeRDP: A Remote Desktop Protocol Implementation # FreeRDP cmake build script # -# Copyright 2011 O.S. Systems Software Ltda. -# Copyright 2011 Otavio Salvador -# Copyright 2011 Marc-Andre Moreau +# Copyright 2012 Marc-Andre Moreau # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,23 +15,25 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(AUDIN_PULSE_SRCS - audin_pulse.c -) +define_channel_client_subsystem("audin" "pulse" "") + +set(${MODULE_PREFIX}_SRCS + audin_pulse.c) include_directories(..) -include_directories(${PULSEAUDIO_INCLUDE_DIR}) +include_directories(${PULSE_INCLUDE_DIR}) -add_library(audin_pulse ${AUDIN_PULSE_SRCS}) -set_target_properties(audin_pulse PROPERTIES PREFIX "") +add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -if(MONOLITHIC_BUILD) - target_link_libraries(audin_pulse freerdp) -else() - target_link_libraries(audin_pulse freerdp-utils) -endif() +set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "") -target_link_libraries(audin_pulse ${PULSEAUDIO_LIBRARY}) +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-utils) -install(TARGETS audin_pulse DESTINATION ${FREERDP_PLUGIN_PATH}) +set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${PULSE_LIBRARY}) +target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) + +install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH}) diff --git a/channels/audin/server/CMakeLists.txt b/channels/audin/server/CMakeLists.txt index 9f3b00231..f235b9e98 100644 --- a/channels/audin/server/CMakeLists.txt +++ b/channels/audin/server/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "audin") -set(MODULE_NAME "${CHANNEL_NAME}-server") -string(TOUPPER "CHANNEL_${CHANNEL_NAME}_SERVER" MODULE_PREFIX) +define_channel_server("audin") set(${MODULE_PREFIX}_SRCS audin.c) diff --git a/channels/client/CMakeLists.txt b/channels/client/CMakeLists.txt index b77da9d54..f1e29fdf5 100644 --- a/channels/client/CMakeLists.txt +++ b/channels/client/CMakeLists.txt @@ -31,9 +31,10 @@ foreach(STATIC_ENTRY ${CHANNEL_STATIC_CLIENT_ENTRIES}) if(${${STATIC_MODULE}_CLIENT_ENTRY} STREQUAL ${STATIC_ENTRY}) set(STATIC_MODULE_NAME ${${STATIC_MODULE}_CLIENT_NAME}) + set(STATIC_MODULE_CHANNEL ${${STATIC_MODULE}_CLIENT_CHANNEL}) set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${STATIC_MODULE_NAME}) - set(ENTRY_POINT_NAME "${${STATIC_MODULE}_CLIENT_NAME}_${${STATIC_MODULE}_CLIENT_ENTRY}") + set(ENTRY_POINT_NAME "${STATIC_MODULE_CHANNEL}_${${STATIC_MODULE}_CLIENT_ENTRY}") set(ENTRY_POINT_IMPORT "extern void ${ENTRY_POINT_NAME}();") set(${STATIC_ENTRY}_IMPORTS "${${STATIC_ENTRY}_IMPORTS}\n${ENTRY_POINT_IMPORT}") set(${STATIC_ENTRY}_TABLE "${${STATIC_ENTRY}_TABLE}\n\t{ \"${STATIC_MODULE_NAME}\", ${ENTRY_POINT_NAME} },") @@ -75,7 +76,6 @@ set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS MODULES winpr-crt winpr-synch winpr-interlocked) target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) -install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}) set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/Client") diff --git a/channels/cliprdr/CMakeLists.txt b/channels/cliprdr/CMakeLists.txt index 146811100..b5f1cf4b3 100644 --- a/channels/cliprdr/CMakeLists.txt +++ b/channels/cliprdr/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "cliprdr") -set(MODULE_NAME ${CHANNEL_NAME}) -string(TOUPPER "CHANNEL_${CHANNEL_NAME}" MODULE_PREFIX) +define_channel("cliprdr") if(WITH_CLIENT_CHANNELS) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) diff --git a/channels/cliprdr/client/CMakeLists.txt b/channels/cliprdr/client/CMakeLists.txt index 5ba5f207e..c6c7675cb 100644 --- a/channels/cliprdr/client/CMakeLists.txt +++ b/channels/cliprdr/client/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "cliprdr") -set(MODULE_NAME "${CHANNEL_NAME}") -string(TOUPPER "CHANNEL_${CHANNEL_NAME}_CLIENT" MODULE_PREFIX) +define_channel_client("cliprdr") set(${MODULE_PREFIX}_SRCS cliprdr_constants.h diff --git a/channels/disk/CMakeLists.txt b/channels/disk/CMakeLists.txt index 7ad61e08f..66f51e703 100644 --- a/channels/disk/CMakeLists.txt +++ b/channels/disk/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "disk") -set(MODULE_NAME ${CHANNEL_NAME}) -string(TOUPPER "CHANNEL_${CHANNEL_NAME}" MODULE_PREFIX) +define_channel("disk") if(WITH_CLIENT_CHANNELS) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) diff --git a/channels/disk/client/CMakeLists.txt b/channels/disk/client/CMakeLists.txt index cfc5cdaef..78406d1b8 100644 --- a/channels/disk/client/CMakeLists.txt +++ b/channels/disk/client/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "disk") -set(MODULE_NAME "${CHANNEL_NAME}") -string(TOUPPER "CHANNEL_${CHANNEL_NAME}_CLIENT" MODULE_PREFIX) +define_channel_client("disk") set(${MODULE_PREFIX}_SRCS disk_file.c diff --git a/channels/drdynvc/CMakeLists.txt b/channels/drdynvc/CMakeLists.txt index c86c38818..8fc41cb90 100644 --- a/channels/drdynvc/CMakeLists.txt +++ b/channels/drdynvc/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "drdynvc") -set(MODULE_NAME ${CHANNEL_NAME}) -string(TOUPPER "CHANNEL_${CHANNEL_NAME}" MODULE_PREFIX) +define_channel("drdynvc") if(WITH_CLIENT_CHANNELS) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) diff --git a/channels/drdynvc/client/CMakeLists.txt b/channels/drdynvc/client/CMakeLists.txt index ef87d495f..c28fc8836 100644 --- a/channels/drdynvc/client/CMakeLists.txt +++ b/channels/drdynvc/client/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "drdynvc") -set(MODULE_NAME "${CHANNEL_NAME}") -string(TOUPPER "CHANNEL_${CHANNEL_NAME}_CLIENT" MODULE_PREFIX) +define_channel_client("drdynvc") set(${MODULE_PREFIX}_SRCS drdynvc_main.c diff --git a/channels/parallel/CMakeLists.txt b/channels/parallel/CMakeLists.txt index a53303bb0..0faabb527 100644 --- a/channels/parallel/CMakeLists.txt +++ b/channels/parallel/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "parallel") -set(MODULE_NAME ${CHANNEL_NAME}) -string(TOUPPER "CHANNEL_${CHANNEL_NAME}" MODULE_PREFIX) +define_channel("parallel") if(WITH_CLIENT_CHANNELS) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) diff --git a/channels/parallel/client/CMakeLists.txt b/channels/parallel/client/CMakeLists.txt index 0cf62f7c6..1eaf800de 100644 --- a/channels/parallel/client/CMakeLists.txt +++ b/channels/parallel/client/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "parallel") -set(MODULE_NAME "${CHANNEL_NAME}") -string(TOUPPER "CHANNEL_${CHANNEL_NAME}_CLIENT" MODULE_PREFIX) +define_channel_client("parallel") set(${MODULE_PREFIX}_SRCS parallel_main.c) diff --git a/channels/printer/CMakeLists.txt b/channels/printer/CMakeLists.txt index d1bbc43b6..73cb415a4 100644 --- a/channels/printer/CMakeLists.txt +++ b/channels/printer/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "printer") -set(MODULE_NAME ${CHANNEL_NAME}) -string(TOUPPER "CHANNEL_${CHANNEL_NAME}" MODULE_PREFIX) +define_channel("printer") if(WITH_CLIENT_CHANNELS) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) diff --git a/channels/printer/client/CMakeLists.txt b/channels/printer/client/CMakeLists.txt index c375ff303..c49939b53 100644 --- a/channels/printer/client/CMakeLists.txt +++ b/channels/printer/client/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "printer") -set(MODULE_NAME "${CHANNEL_NAME}") -string(TOUPPER "CHANNEL_${CHANNEL_NAME}_CLIENT" MODULE_PREFIX) +define_channel_client("printer") set(${MODULE_PREFIX}_SRCS printer_main.c diff --git a/channels/rail/CMakeLists.txt b/channels/rail/CMakeLists.txt index db4e1cb2b..84100dcbd 100644 --- a/channels/rail/CMakeLists.txt +++ b/channels/rail/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "rail") -set(MODULE_NAME ${CHANNEL_NAME}) -string(TOUPPER "CHANNEL_${CHANNEL_NAME}" MODULE_PREFIX) +define_channel("rail") if(WITH_CLIENT_CHANNELS) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) diff --git a/channels/rail/client/CMakeLists.txt b/channels/rail/client/CMakeLists.txt index a7dc377b9..5fb62355e 100644 --- a/channels/rail/client/CMakeLists.txt +++ b/channels/rail/client/CMakeLists.txt @@ -1,7 +1,7 @@ # FreeRDP: A Remote Desktop Protocol Implementation # FreeRDP cmake build script # -# Copyright 2011 Marc-Andre Moreau +# Copyright 2012 Marc-Andre Moreau # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "rail") -set(MODULE_NAME "${CHANNEL_NAME}") -string(TOUPPER "CHANNEL_${CHANNEL_NAME}_CLIENT" MODULE_PREFIX) +define_channel_client("rail") set(${MODULE_PREFIX}_SRCS rail_main.c diff --git a/channels/rdpdr/CMakeLists.txt b/channels/rdpdr/CMakeLists.txt index 9583c2b21..fc4eb638a 100644 --- a/channels/rdpdr/CMakeLists.txt +++ b/channels/rdpdr/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "rdpdr") -set(MODULE_NAME ${CHANNEL_NAME}) -string(TOUPPER "CHANNEL_${CHANNEL_NAME}" MODULE_PREFIX) +define_channel("rdpdr") if(WITH_CLIENT_CHANNELS) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) diff --git a/channels/rdpdr/client/CMakeLists.txt b/channels/rdpdr/client/CMakeLists.txt index 8f395cd02..9c0cf4e5f 100644 --- a/channels/rdpdr/client/CMakeLists.txt +++ b/channels/rdpdr/client/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "rdpdr") -set(MODULE_NAME "${CHANNEL_NAME}") -string(TOUPPER "CHANNEL_${CHANNEL_NAME}_CLIENT" MODULE_PREFIX) +define_channel_client("rdpdr") set(${MODULE_PREFIX}_SRCS irp.c diff --git a/channels/rdpsnd/CMakeLists.txt b/channels/rdpsnd/CMakeLists.txt index 553307cd9..44a46feac 100644 --- a/channels/rdpsnd/CMakeLists.txt +++ b/channels/rdpsnd/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "rdpsnd") -set(MODULE_NAME ${CHANNEL_NAME}) -string(TOUPPER "CHANNEL_${CHANNEL_NAME}" MODULE_PREFIX) +define_channel("rdpsnd") if(WITH_CLIENT_CHANNELS) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) diff --git a/channels/rdpsnd/client/CMakeLists.txt b/channels/rdpsnd/client/CMakeLists.txt index 881a8e539..2063af677 100644 --- a/channels/rdpsnd/client/CMakeLists.txt +++ b/channels/rdpsnd/client/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "rdpsnd") -set(MODULE_NAME "${CHANNEL_NAME}") -string(TOUPPER "CHANNEL_${CHANNEL_NAME}_CLIENT" MODULE_PREFIX) +define_channel_client("rdpsnd") set(${MODULE_PREFIX}_SRCS rdpsnd_main.c @@ -40,11 +38,11 @@ if(WITH_ALSA) add_subdirectory(alsa) endif() -if(WITH_PULSEAUDIO) +if(WITH_PULSE) add_subdirectory(pulse) endif() if(WITH_MACAUDIO) - add_subdirectory(MacAudio) + add_subdirectory(mac) endif() diff --git a/channels/rdpsnd/client/alsa/CMakeLists.txt b/channels/rdpsnd/client/alsa/CMakeLists.txt index 1f9db48b2..cf3575d61 100644 --- a/channels/rdpsnd/client/alsa/CMakeLists.txt +++ b/channels/rdpsnd/client/alsa/CMakeLists.txt @@ -1,9 +1,7 @@ # FreeRDP: A Remote Desktop Protocol Implementation # FreeRDP cmake build script # -# Copyright 2011 O.S. Systems Software Ltda. -# Copyright 2011 Otavio Salvador -# Copyright 2011 Marc-Andre Moreau +# Copyright 2012 Marc-Andre Moreau # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,21 +15,25 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(RDPSND_ALSA_SRCS +define_channel_client_subsystem("rdpsnd" "alsa" "") + +set(${MODULE_PREFIX}_SRCS rdpsnd_alsa.c) include_directories(..) include_directories(${ALSA_INCLUDE_DIRS}) -add_library(rdpsnd_alsa ${RDPSND_ALSA_SRCS}) -set_target_properties(rdpsnd_alsa PROPERTIES PREFIX "") +add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -if(MONOLITHIC_BUILD) - target_link_libraries(rdpsnd_alsa freerdp winpr) -else() - target_link_libraries(rdpsnd_alsa freerdp-utils winpr-crt) -endif() +set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "") -target_link_libraries(rdpsnd_alsa ${ALSA_LIBRARIES}) +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-utils) + +set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${ALSA_LIBRARIES}) -install(TARGETS rdpsnd_alsa DESTINATION ${FREERDP_PLUGIN_PATH}) +target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) + +install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH}) diff --git a/channels/rdpsnd/client/MacAudio/CMakeLists.txt b/channels/rdpsnd/client/mac/CMakeLists.txt similarity index 56% rename from channels/rdpsnd/client/MacAudio/CMakeLists.txt rename to channels/rdpsnd/client/mac/CMakeLists.txt index c5c375685..5791399c7 100644 --- a/channels/rdpsnd/client/MacAudio/CMakeLists.txt +++ b/channels/rdpsnd/client/mac/CMakeLists.txt @@ -16,23 +16,27 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(RDPSND_MACAUDIO_SRCS - rdpsnd_audio_q.c) +define_channel_client_subsystem("rdpsnd" "mac" "") + +set(${MODULE_PREFIX}_SRCS + rdpsnd_mac.c) include_directories(..) include_directories(${MACAUDIO_INCLUDE_DIRS}) -add_library(rdpsnd_macaudio ${RDPSND_MACAUDIO_SRCS}) -set_target_properties(rdpsnd_macaudio PROPERTIES PREFIX "") +add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -if(MONOLITHIC_BUILD) - target_link_libraries(rdpsnd_macaudio freerdp) -else() - target_link_libraries(rdpsnd_macaudio freerdp-utils) -endif() +set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "") -target_link_libraries(rdpsnd_macaudio ${MAC_AUDIOTOOLBOX_LIBRARY_PATH}) -target_link_libraries(rdpsnd_macaudio ${MAC_COREFOUNDATION_LIBRARY_PATH}) +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-utils) + +set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${MAC_AUDIOTOOLBOX_LIBRARY_PATH}) +set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${MAC_COREFOUNDATION_LIBRARY_PATH}) -install(TARGETS rdpsnd_macaudio DESTINATION ${FREERDP_PLUGIN_PATH}) +target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) + +install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH}) diff --git a/channels/rdpsnd/client/MacAudio/rdpsnd_audio_q.c b/channels/rdpsnd/client/mac/rdpsnd_mac.c similarity index 100% rename from channels/rdpsnd/client/MacAudio/rdpsnd_audio_q.c rename to channels/rdpsnd/client/mac/rdpsnd_mac.c diff --git a/channels/rdpsnd/client/pulse/CMakeLists.txt b/channels/rdpsnd/client/pulse/CMakeLists.txt index 73a29cda3..34bcf4254 100644 --- a/channels/rdpsnd/client/pulse/CMakeLists.txt +++ b/channels/rdpsnd/client/pulse/CMakeLists.txt @@ -1,9 +1,7 @@ # FreeRDP: A Remote Desktop Protocol Implementation # FreeRDP cmake build script # -# Copyright 2011 O.S. Systems Software Ltda. -# Copyright 2011 Otavio Salvador -# Copyright 2011 Marc-Andre Moreau +# Copyright 2012 Marc-Andre Moreau # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,21 +15,25 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(RDPSND_PULSE_SRCS +define_channel_client_subsystem("rdpsnd" "pulse" "") + +set(${MODULE_PREFIX}_SRCS rdpsnd_pulse.c) include_directories(..) -include_directories(${PULSEAUDIO_INCLUDE_DIR}) +include_directories(${PULSE_INCLUDE_DIR}) -add_library(rdpsnd_pulse ${RDPSND_PULSE_SRCS}) -set_target_properties(rdpsnd_pulse PROPERTIES PREFIX "") +add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -if(MONOLITHIC_BUILD) - target_link_libraries(rdpsnd_pulse freerdp) -else() - target_link_libraries(rdpsnd_pulse freerdp-utils) -endif() +set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "") -target_link_libraries(rdpsnd_pulse ${PULSEAUDIO_LIBRARY}) +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-utils) -install(TARGETS rdpsnd_pulse DESTINATION ${FREERDP_PLUGIN_PATH}) +set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${PULSE_LIBRARY}) + +target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) + +install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH}) diff --git a/channels/rdpsnd/server/CMakeLists.txt b/channels/rdpsnd/server/CMakeLists.txt index 170f184f6..66082ce05 100644 --- a/channels/rdpsnd/server/CMakeLists.txt +++ b/channels/rdpsnd/server/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "rdpsnd") -set(MODULE_NAME "${CHANNEL_NAME}-server") -string(TOUPPER "CHANNEL_${CHANNEL_NAME}_SERVER" MODULE_PREFIX) +define_channel_server("rdpsnd") set(${MODULE_PREFIX}_SRCS rdpsnd.c) diff --git a/channels/sample/CMakeLists.txt b/channels/sample/CMakeLists.txt index 5fe242c14..183b8a65f 100644 --- a/channels/sample/CMakeLists.txt +++ b/channels/sample/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "sample") -set(MODULE_NAME ${CHANNEL_NAME}) -string(TOUPPER "CHANNEL_${CHANNEL_NAME}" MODULE_PREFIX) +define_channel("sample") if(WITH_CLIENT_CHANNELS) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) diff --git a/channels/sample/client/CMakeLists.txt b/channels/sample/client/CMakeLists.txt index 5df74531e..b70820db5 100644 --- a/channels/sample/client/CMakeLists.txt +++ b/channels/sample/client/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "sample") -set(MODULE_NAME "${CHANNEL_NAME}") -string(TOUPPER "CHANNEL_${CHANNEL_NAME}_CLIENT" MODULE_PREFIX) +define_channel_client("sample") set(${MODULE_PREFIX}_SRCS skel_main.c diff --git a/channels/serial/CMakeLists.txt b/channels/serial/CMakeLists.txt index 0d8e8a8d4..aa5cd8589 100644 --- a/channels/serial/CMakeLists.txt +++ b/channels/serial/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "serial") -set(MODULE_NAME ${CHANNEL_NAME}) -string(TOUPPER "CHANNEL_${CHANNEL_NAME}" MODULE_PREFIX) +define_channel("serial") if(WITH_CLIENT_CHANNELS) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) diff --git a/channels/serial/client/CMakeLists.txt b/channels/serial/client/CMakeLists.txt index 749397956..ce3ad68ee 100644 --- a/channels/serial/client/CMakeLists.txt +++ b/channels/serial/client/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "serial") -set(MODULE_NAME "${CHANNEL_NAME}") -string(TOUPPER "CHANNEL_${CHANNEL_NAME}_CLIENT" MODULE_PREFIX) +define_channel_client("serial") set(${MODULE_PREFIX}_SRCS serial_tty.c @@ -27,7 +25,7 @@ set(${MODULE_PREFIX}_SRCS add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DeviceServiceEntry") -set_target_properties(serial PROPERTIES PREFIX "") +set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "") set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS MONOLITHIC ${MONOLITHIC_BUILD} @@ -41,3 +39,4 @@ if(NOT STATIC_CHANNELS) endif() set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client") + diff --git a/channels/server/CMakeLists.txt b/channels/server/CMakeLists.txt index a6f040282..4c067857a 100644 --- a/channels/server/CMakeLists.txt +++ b/channels/server/CMakeLists.txt @@ -44,6 +44,6 @@ set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS MODULES winpr-crt winpr-synch winpr-interlocked) target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) -install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}) set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/Server") + diff --git a/channels/smartcard/CMakeLists.txt b/channels/smartcard/CMakeLists.txt index 097d1d284..98c6c7259 100644 --- a/channels/smartcard/CMakeLists.txt +++ b/channels/smartcard/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "smartcard") -set(MODULE_NAME "${CHANNEL_NAME}") -string(TOUPPER "CHANNEL_${CHANNEL_NAME}_CLIENT" MODULE_PREFIX) +define_channel("smartcard") if(WITH_CLIENT_CHANNELS) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) diff --git a/channels/smartcard/client/CMakeLists.txt b/channels/smartcard/client/CMakeLists.txt index 2ba9c72ca..edd3e6372 100644 --- a/channels/smartcard/client/CMakeLists.txt +++ b/channels/smartcard/client/CMakeLists.txt @@ -15,8 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(MODULE_NAME "smartcard") -set(MODULE_PREFIX "CHANNEL_RDPDR_SMARTCARD_CLIENT") +define_channel_client("smartcard") set(${MODULE_PREFIX}_SRCS scard_main.c diff --git a/channels/tsmf/CMakeLists.txt b/channels/tsmf/CMakeLists.txt index ded72617e..7776633de 100644 --- a/channels/tsmf/CMakeLists.txt +++ b/channels/tsmf/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "tsmf") -set(MODULE_NAME ${CHANNEL_NAME}) -string(TOUPPER "CHANNEL_${CHANNEL_NAME}" MODULE_PREFIX) +define_channel("tsmf") if(WITH_CLIENT_CHANNELS) add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME}) diff --git a/channels/tsmf/client/CMakeLists.txt b/channels/tsmf/client/CMakeLists.txt index fae6538f4..06306ef3a 100644 --- a/channels/tsmf/client/CMakeLists.txt +++ b/channels/tsmf/client/CMakeLists.txt @@ -16,9 +16,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "tsmf") -set(MODULE_NAME "${CHANNEL_NAME}") -string(TOUPPER "CHANNEL_${CHANNEL_NAME}_CLIENT" MODULE_PREFIX) +define_channel_client("tsmf") set(${MODULE_PREFIX}_SRCS tsmf_audio.c @@ -69,6 +67,6 @@ if(WITH_ALSA) add_subdirectory(alsa) endif() -if(WITH_PULSEAUDIO) +if(WITH_PULSE) add_subdirectory(pulse) endif() diff --git a/channels/tsmf/client/alsa/CMakeLists.txt b/channels/tsmf/client/alsa/CMakeLists.txt index 07ba391c8..fac1c8289 100644 --- a/channels/tsmf/client/alsa/CMakeLists.txt +++ b/channels/tsmf/client/alsa/CMakeLists.txt @@ -1,9 +1,7 @@ # FreeRDP: A Remote Desktop Protocol Implementation # FreeRDP cmake build script # -# Copyright 2011 O.S. Systems Software Ltda. -# Copyright 2011 Otavio Salvador -# Copyright 2011 Marc-Andre Moreau +# Copyright 2012 Marc-Andre Moreau # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,23 +15,27 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(TSMF_ALSA_SRCS - tsmf_alsa.c -) +define_channel_client_subsystem("tsmf" "alsa" "audio") + +set(${MODULE_PREFIX}_SRCS + tsmf_alsa.c) include_directories(..) include_directories(${ALSA_INCLUDE_DIRS}) -add_library(tsmf_alsa ${TSMF_ALSA_SRCS}) -set_target_properties(tsmf_alsa PROPERTIES PREFIX "") +add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -if(MONOLITHIC_BUILD) - target_link_libraries(tsmf_alsa freerdp) -else() - target_link_libraries(tsmf_alsa freerdp-utils) -endif() +set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "") -target_link_libraries(tsmf_alsa ${ALSA_LIBRARIES}) +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-utils) + +set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${ALSA_LIBRARIES}) + +target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) + +install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH}) -install(TARGETS tsmf_alsa DESTINATION ${FREERDP_PLUGIN_PATH}) diff --git a/channels/tsmf/client/ffmpeg/CMakeLists.txt b/channels/tsmf/client/ffmpeg/CMakeLists.txt index b30464d2b..d7bd66162 100644 --- a/channels/tsmf/client/ffmpeg/CMakeLists.txt +++ b/channels/tsmf/client/ffmpeg/CMakeLists.txt @@ -1,9 +1,7 @@ # FreeRDP: A Remote Desktop Protocol Implementation # FreeRDP cmake build script # -# Copyright 2011 O.S. Systems Software Ltda. -# Copyright 2011 Otavio Salvador -# Copyright 2011 Marc-Andre Moreau +# Copyright 2012 Marc-Andre Moreau # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,30 +15,25 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(TSMF_FFMPEG_SRCS - tsmf_ffmpeg.c -) +define_channel_client_subsystem("tsmf" "ffmpeg" "video") + +set(${MODULE_PREFIX}_SRCS + tsmf_ffmpeg.c) include_directories(..) include_directories(${FFMPEG_INCLUDE_DIRS}) -add_library(tsmf_ffmpeg ${TSMF_FFMPEG_SRCS}) -set_target_properties(tsmf_ffmpeg PROPERTIES PREFIX "") +add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -if(CMAKE_COMPILER_IS_GNUCC) - CHECK_C_COMPILER_FLAG(-Wno-deprecated-declarations Wno-deprecated-declarations) - if(Wno-deprecated-declarations) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-deprecated-declarations") - endif() -endif() +set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "") -if(MONOLITHIC_BUILD) - target_link_libraries(tsmf_ffmpeg freerdp) -else() - target_link_libraries(tsmf_ffmpeg freerdp-utils) -endif() +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-utils) + +set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${FFMPEG_LIBRARIES}) -target_link_libraries(tsmf_ffmpeg ${FFMPEG_LIBRARIES}) - -install(TARGETS tsmf_ffmpeg DESTINATION ${FREERDP_PLUGIN_PATH}) +target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) +install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH}) diff --git a/channels/tsmf/client/gstreamer/CMakeLists.txt b/channels/tsmf/client/gstreamer/CMakeLists.txt index 9834e942c..2276dd484 100644 --- a/channels/tsmf/client/gstreamer/CMakeLists.txt +++ b/channels/tsmf/client/gstreamer/CMakeLists.txt @@ -1,5 +1,5 @@ # FreeRDP: A Remote Desktop Protocol Implementation -# FreeRDP cmake build script for gstreamer plugin +# FreeRDP cmake build script for gstreamer subsystem # # (C) Copyright 2012 Hewlett-Packard Development Company, L.P. # @@ -15,25 +15,29 @@ # See the License for the specific language governing permissions and # limitations under the License. +define_channel_client_subsystem("tsmf" "gstreamer" "video") - -set(TSMF_GSTREAMER_SRCS - tsmf_gstreamer.c -) +set(${MODULE_PREFIX}_SRCS + tsmf_gstreamer.c) include_directories(..) include_directories(${GSTREAMER_INCLUDE_DIRS}) -add_library(tsmf_gstreamer ${TSMF_GSTREAMER_SRCS}) -set_target_properties(tsmf_gstreamer PROPERTIES PREFIX "") +add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -if(MONOLITHIC_BUILD) - target_link_libraries(tsmf_gstreamer freerdp) -else() - target_link_libraries(tsmf_gstreamer freerdp-utils) -endif() +set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "") -target_link_libraries(tsmf_gstreamer ${GSTREAMER_LIBRARIES} gstapp-0.10 gstinterfaces-0.10 Xrandr X11 Xext) +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-utils) -install(TARGETS tsmf_gstreamer DESTINATION ${FREERDP_PLUGIN_PATH}) +set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} + ${GSTREAMER_LIBRARIES} + gstapp-0.10 + gstinterfaces-0.10 + Xrandr X11 Xext) +target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) + +install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH}) diff --git a/channels/tsmf/client/pulse/CMakeLists.txt b/channels/tsmf/client/pulse/CMakeLists.txt index 647e32c9b..6c9965450 100644 --- a/channels/tsmf/client/pulse/CMakeLists.txt +++ b/channels/tsmf/client/pulse/CMakeLists.txt @@ -1,9 +1,7 @@ # FreeRDP: A Remote Desktop Protocol Implementation # FreeRDP cmake build script # -# Copyright 2011 O.S. Systems Software Ltda. -# Copyright 2011 Otavio Salvador -# Copyright 2011 Marc-Andre Moreau +# Copyright 2012 Marc-Andre Moreau # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,20 +15,25 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(TSMF_PULSE_SRCS +define_channel_client_subsystem("tsmf" "pulse" "audio") + +set(${MODULE_PREFIX}_SRCS tsmf_pulse.c) include_directories(..) -include_directories(${PULSEAUDIO_INCLUDE_DIR}) +include_directories(${PULSE_INCLUDE_DIR}) -add_library(tsmf_pulse ${TSMF_PULSE_SRCS}) -set_target_properties(tsmf_pulse PROPERTIES PREFIX "") +add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -if(MONOLITHIC_BUILD) - target_link_libraries(tsmf_pulse ${PULSEAUDIO_LIBRARY} freerdp) -else() - target_link_libraries(tsmf_pulse ${PULSEAUDIO_LIBRARY} freerdp-utils) -endif() +set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "") -install(TARGETS tsmf_pulse DESTINATION ${FREERDP_PLUGIN_PATH}) +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-utils) +set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${PULSE_LIBRARY}) + +target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) + +install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH}) diff --git a/channels/urbdrc/CMakeLists.txt b/channels/urbdrc/CMakeLists.txt index 9e1f2eb5d..d18da8416 100644 --- a/channels/urbdrc/CMakeLists.txt +++ b/channels/urbdrc/CMakeLists.txt @@ -15,9 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "urbdrc") -set(MODULE_NAME ${CHANNEL_NAME}) -string(TOUPPER "CHANNEL_${CHANNEL_NAME}" MODULE_PREFIX) +define_channel("urbdrc") add_subdirectory(libusb) diff --git a/channels/urbdrc/client/CMakeLists.txt b/channels/urbdrc/client/CMakeLists.txt index c06727c5a..338c18794 100644 --- a/channels/urbdrc/client/CMakeLists.txt +++ b/channels/urbdrc/client/CMakeLists.txt @@ -16,9 +16,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CHANNEL_NAME "urbdrc") -set(MODULE_NAME "${CHANNEL_NAME}") -string(TOUPPER "CHANNEL_${CHANNEL_NAME}_CLIENT" MODULE_PREFIX) +define_channel_client("urbdrc") set(${MODULE_PREFIX}_SRCS searchman.c diff --git a/cmake/FindPCSC.cmake b/cmake/FindPCSC.cmake index a94709c6d..0cee2aba6 100644 --- a/cmake/FindPCSC.cmake +++ b/cmake/FindPCSC.cmake @@ -1,13 +1,18 @@ + include(FindPkgConfig) if (PKG_CONFIG_FOUND) pkg_check_modules(PCSC libpcsclite) endif() -find_path(PCSC_INCLUDE_DIR pcsclite.h PATHS ${PCSC_INCLUDE_DIRS} - PATH_SUFFIXES PCSC ) -find_library(PCSC_LIBRARY pcsclite PATHS ${PCSC_LIBRARY_DIRS}) +find_path(PCSC_INCLUDE_DIR pcsclite.h + PATHS ${PCSC_INCLUDE_DIRS} + PATH_SUFFIXES PCSC) + +find_library(PCSC_LIBRARY pcsclite + PATHS ${PCSC_LIBRARY_DIRS}) FIND_PACKAGE_HANDLE_STANDARD_ARGS(PCSC DEFAULT_MSG PCSC_INCLUDE_DIR PCSC_LIBRARY) mark_as_advanced(PCSC_INCLUDE_DIR PCSC_LIBRARY) + diff --git a/cmake/FindPulseAudio.cmake b/cmake/FindPulseAudio.cmake index 3cf8e974c..1dd51f789 100644 --- a/cmake/FindPulseAudio.cmake +++ b/cmake/FindPulseAudio.cmake @@ -1,12 +1,14 @@ + include(FindPkgConfig) -if (PKG_CONFIG_FOUND) - pkg_check_modules(PULSEAUDIO libpulse) +if(PKG_CONFIG_FOUND) + pkg_check_modules(PULSE libpulse) endif() -find_path(PULSEAUDIO_INCLUDE_DIR pulse/pulseaudio.h PATHS ${PULSEAUDIO_INCLUDE_DIRS} PATH_SUFFIXES pulse ) -find_library(PULSEAUDIO_LIBRARY pulse PATHS ${PULSEAUDIO_LIBRARY_DIRS}) +find_path(PULSE_INCLUDE_DIR pulse/pulseaudio.h PATHS ${PULSE_INCLUDE_DIRS} PATH_SUFFIXES pulse ) +find_library(PULSE_LIBRARY pulse PATHS ${PULSE_LIBRARY_DIRS}) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(PulseAudio DEFAULT_MSG PULSEAUDIO_INCLUDE_DIR PULSEAUDIO_LIBRARY) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(PulseAudio DEFAULT_MSG PULSE_INCLUDE_DIR PULSE_LIBRARY) + +mark_as_advanced(PULSE_INCLUDE_DIR PULSE_LIBRARY) -mark_as_advanced(PULSEAUDIO_INCLUDE_DIR PULSEAUDIO_LIBRARY) diff --git a/freerdp.spec b/freerdp.spec index 445f132d8..9db85671b 100644 --- a/freerdp.spec +++ b/freerdp.spec @@ -96,8 +96,8 @@ cmake \ -DCMAKE_INSTALL_PREFIX:PATH=/usr \ -DWITH_CUPS:BOOL=ON \ -DWITH_PCSC:BOOL=ON \ - -DWITH_PULSEAUDIO:BOOL=ON \ - -DWITH_MACAUDIO:BOOL=ON \ + -DWITH_PULSE:BOOL=ON \ + -DWITH_MACAUDIO:BOOL=ON \ -DWITH_X11:BOOL=ON \ -DWITH_XCURSOR:BOOL=ON \ -DWITH_XEXT:BOOL=ON \ diff --git a/libfreerdp/CMakeLists.txt b/libfreerdp/CMakeLists.txt index f73d66307..985f009b3 100644 --- a/libfreerdp/CMakeLists.txt +++ b/libfreerdp/CMakeLists.txt @@ -37,7 +37,6 @@ foreach(${MODULE_PREFIX}_SUBMODULE ${${MODULE_PREFIX}_SUBMODULES}) endforeach() if(MONOLITHIC_BUILD) - foreach(${MODULE_PREFIX}_SUBMODULE ${${MODULE_PREFIX}_SUBMODULES}) set(${MODULE_PREFIX}_OBJECTS ${${MODULE_PREFIX}_OBJECTS} "$") endforeach() @@ -52,3 +51,4 @@ if(MONOLITHIC_BUILD) set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "FreeRDP/libfreerdp") endif() +