freerdp: remove vendor-specific options from build system, add automatic ways of including external clients/servers

This commit is contained in:
Marc-André Moreau
2013-09-03 20:37:04 -04:00
parent 1b7abe9e4f
commit b480ce1830
18 changed files with 116 additions and 59 deletions

View File

@@ -51,10 +51,26 @@ if(ANDROID)
add_subdirectory(Android)
endif()
if(WITH_WAYK)
add_subdirectory(WaykClient)
endif()
# Pick up other clients
set(FILENAME "ModuleOptions.cmake")
file(GLOB FILEPATHS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/${FILENAME}")
foreach(FILEPATH ${FILEPATHS})
if(${FILEPATH} MATCHES "^([^/]*)//${FILENAME}")
string(REGEX REPLACE "^([^/]*)//${FILENAME}" "\\1" FREERDP_CLIENT ${FILEPATH})
set(FREERDP_CLIENT_ENABLED 0)
include(${FILEPATH})
if(FREERDP_CLIENT_ENABLED)
if(NOT (${FREERDP_CLIENT_VENDOR} MATCHES "FreeRDP"))
list(APPEND FREERDP_EXTRA_CLIENTS ${FREERDP_CLIENT})
endif()
endif()
endif()
endforeach()
foreach(FREERDP_CLIENT ${FREERDP_EXTRA_CLIENTS})
add_subdirectory(${FREERDP_CLIENT})
endforeach()
if (WITH_DOTNET)
add_subdirectory(DotNetClient)
endif()