Permalink
Browse files

channels: refactoring of channels cmake scripts with macros

  • Loading branch information...
1 parent c82ad75 commit 81e485736f5a853a3e7377763109d69b449d5390 @awakecoding awakecoding committed Oct 17, 2012
Showing with 253 additions and 245 deletions.
  1. +11 −3 CMakeLists.txt
  2. +39 −0 channels/CMakeLists.txt
  3. +1 −3 channels/audin/CMakeLists.txt
  4. +2 −4 channels/audin/client/CMakeLists.txt
  5. +15 −13 channels/audin/client/alsa/CMakeLists.txt
  6. +16 −16 channels/audin/client/pulse/CMakeLists.txt
  7. +1 −3 channels/audin/server/CMakeLists.txt
  8. +2 −2 channels/client/CMakeLists.txt
  9. +1 −3 channels/cliprdr/CMakeLists.txt
  10. +1 −3 channels/cliprdr/client/CMakeLists.txt
  11. +1 −3 channels/disk/CMakeLists.txt
  12. +1 −3 channels/disk/client/CMakeLists.txt
  13. +1 −3 channels/drdynvc/CMakeLists.txt
  14. +1 −3 channels/drdynvc/client/CMakeLists.txt
  15. +1 −3 channels/parallel/CMakeLists.txt
  16. +1 −3 channels/parallel/client/CMakeLists.txt
  17. +1 −3 channels/printer/CMakeLists.txt
  18. +1 −3 channels/printer/client/CMakeLists.txt
  19. +1 −3 channels/rail/CMakeLists.txt
  20. +2 −4 channels/rail/client/CMakeLists.txt
  21. +1 −3 channels/rdpdr/CMakeLists.txt
  22. +1 −3 channels/rdpdr/client/CMakeLists.txt
  23. +1 −3 channels/rdpsnd/CMakeLists.txt
  24. +3 −5 channels/rdpsnd/client/CMakeLists.txt
  25. +15 −13 channels/rdpsnd/client/alsa/CMakeLists.txt
  26. +16 −12 channels/rdpsnd/client/{MacAudio → mac}/CMakeLists.txt
  27. 0 channels/rdpsnd/client/{MacAudio/rdpsnd_audio_q.c → mac/rdpsnd_mac.c}
  28. +16 −14 channels/rdpsnd/client/pulse/CMakeLists.txt
  29. +1 −3 channels/rdpsnd/server/CMakeLists.txt
  30. +1 −3 channels/sample/CMakeLists.txt
  31. +1 −3 channels/sample/client/CMakeLists.txt
  32. +1 −3 channels/serial/CMakeLists.txt
  33. +3 −4 channels/serial/client/CMakeLists.txt
  34. +1 −1 channels/server/CMakeLists.txt
  35. +1 −3 channels/smartcard/CMakeLists.txt
  36. +1 −2 channels/smartcard/client/CMakeLists.txt
  37. +1 −3 channels/tsmf/CMakeLists.txt
  38. +2 −4 channels/tsmf/client/CMakeLists.txt
  39. +17 −15 channels/tsmf/client/alsa/CMakeLists.txt
  40. +15 −22 channels/tsmf/client/ffmpeg/CMakeLists.txt
  41. +18 −14 channels/tsmf/client/gstreamer/CMakeLists.txt
  42. +16 −13 channels/tsmf/client/pulse/CMakeLists.txt
  43. +1 −3 channels/urbdrc/CMakeLists.txt
  44. +1 −3 channels/urbdrc/client/CMakeLists.txt
  45. +8 −3 cmake/FindPCSC.cmake
  46. +8 −6 cmake/FindPulseAudio.cmake
  47. +2 −2 freerdp.spec
  48. +1 −1 libfreerdp/CMakeLists.txt
View
@@ -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)
View
@@ -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)
@@ -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})
@@ -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()
@@ -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 <otavio@ossystems.com.br>
-# Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
+# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
#
# 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})
+
+set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
+
+set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
+ MONOLITHIC ${MONOLITHIC_BUILD}
+ MODULE freerdp
+ MODULES freerdp-utils)
-if(MONOLITHIC_BUILD)
- target_link_libraries(audin_alsa freerdp)
-else()
- target_link_libraries(audin_alsa freerdp-utils)
-endif()
+set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${ALSA_LIBRARIES})
-target_link_libraries(audin_alsa ${ALSA_LIBRARIES})
+target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
-install(TARGETS audin_alsa DESTINATION ${FREERDP_PLUGIN_PATH})
+install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
@@ -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 <otavio@ossystems.com.br>
-# Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
+# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
#
# 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(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
-add_library(audin_pulse ${AUDIN_PULSE_SRCS})
-set_target_properties(audin_pulse PROPERTIES PREFIX "")
+set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
-if(MONOLITHIC_BUILD)
- target_link_libraries(audin_pulse freerdp)
-else()
- target_link_libraries(audin_pulse freerdp-utils)
-endif()
+set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
+ MONOLITHIC ${MONOLITHIC_BUILD}
+ MODULE freerdp
+ MODULES freerdp-utils)
-target_link_libraries(audin_pulse ${PULSEAUDIO_LIBRARY})
+set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${PULSE_LIBRARY})
-install(TARGETS audin_pulse DESTINATION ${FREERDP_PLUGIN_PATH})
+target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
+install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
@@ -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)
@@ -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")
@@ -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})
@@ -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
@@ -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})
@@ -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
@@ -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})
@@ -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
@@ -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})
@@ -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)
@@ -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})
@@ -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
@@ -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})
@@ -1,7 +1,7 @@
# FreeRDP: A Remote Desktop Protocol Implementation
# FreeRDP cmake build script
#
-# Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
+# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
#
# 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
@@ -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})
Oops, something went wrong.

0 comments on commit 81e4857

Please sign in to comment.