From 1b244c8b19797712614f7bd6384e230675f198c0 Mon Sep 17 00:00:00 2001 From: Philip van der Hoeven Date: Wed, 29 Apr 2015 21:36:37 +0700 Subject: network/freerdp: Fix compatibility with newer cmake. Signed-off-by: Willy Sudiarto Raharjo --- network/freerdp/freerdp.SlackBuild | 5 +- network/freerdp/patches/freerdp-cmake-3.1.patch | 98 +++++++++++++++++++++++++ 2 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 network/freerdp/patches/freerdp-cmake-3.1.patch (limited to 'network') diff --git a/network/freerdp/freerdp.SlackBuild b/network/freerdp/freerdp.SlackBuild index 47ecf12623cfc..9a19604f68efd 100644 --- a/network/freerdp/freerdp.SlackBuild +++ b/network/freerdp/freerdp.SlackBuild @@ -28,7 +28,7 @@ PRGNAM=freerdp VERSION=${VERSION:-1.2.0_beta1_android9} -BUILD=${BUILD:-3} +BUILD=${BUILD:-4} TAG=${TAG:-_SBo} TARNAME=${VERSION%_*}+${VERSION##*_} @@ -90,6 +90,9 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +# Patch for cmake 3.1. Thanks to Mario Preksavec and Christoph Willing. +patch -p1 <$CWD/patches/freerdp-cmake-3.1.patch + mkdir -p build cd build cmake \ diff --git a/network/freerdp/patches/freerdp-cmake-3.1.patch b/network/freerdp/patches/freerdp-cmake-3.1.patch new file mode 100644 index 0000000000000..462fb56396f85 --- /dev/null +++ b/network/freerdp/patches/freerdp-cmake-3.1.patch @@ -0,0 +1,98 @@ +From 1b663ceffe51008af7ae9749e5b7999b2f7d6698 Mon Sep 17 00:00:00 2001 +From: Bernhard Miklautz +Date: Fri, 12 Dec 2014 18:26:45 +0100 +Subject: [PATCH] build: cmake 3.1 compatibility + +* fix problem with REMOVE_DUPLICATES on undefined lists +* since 3.1 file(GLOB FILEPATHS RELATIVE .. returns single / instead of // as + previously - necessary adoptions for regex and matches done. Should + work with all cmake versions. + +Tested with 3.1.0-rc3 +--- + channels/CMakeLists.txt | 4 ++-- + channels/client/CMakeLists.txt | 2 ++ + client/CMakeLists.txt | 4 ++-- + server/CMakeLists.txt | 4 ++-- + third-party/CMakeLists.txt | 6 +++--- + 5 files changed, 11 insertions(+), 9 deletions(-) + +diff --git a/channels/CMakeLists.txt b/channels/CMakeLists.txt +index c4e6048..540b1ac 100644 +--- a/channels/CMakeLists.txt ++++ b/channels/CMakeLists.txt +@@ -253,8 +253,8 @@ set(FILENAME "ChannelOptions.cmake") + file(GLOB FILEPATHS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/${FILENAME}") + + foreach(FILEPATH ${FILEPATHS}) +- if(${FILEPATH} MATCHES "^([^/]*)//${FILENAME}") +- string(REGEX REPLACE "^([^/]*)//${FILENAME}" "\\1" DIR ${FILEPATH}) ++ if(${FILEPATH} MATCHES "^([^/]*)/+${FILENAME}") ++ string(REGEX REPLACE "^([^/]*)/+${FILENAME}" "\\1" DIR ${FILEPATH}) + set(CHANNEL_OPTION) + include(${FILEPATH}) + if(${CHANNEL_OPTION}) +diff --git a/channels/client/CMakeLists.txt b/channels/client/CMakeLists.txt +index 049bc7b..2db18e8 100644 +--- a/channels/client/CMakeLists.txt ++++ b/channels/client/CMakeLists.txt +@@ -24,7 +24,9 @@ set(${MODULE_PREFIX}_SRCS + ${CMAKE_CURRENT_SOURCE_DIR}/addin.c + ${CMAKE_CURRENT_SOURCE_DIR}/addin.h) + ++if(CHANNEL_STATIC_CLIENT_ENTRIES) + list(REMOVE_DUPLICATES CHANNEL_STATIC_CLIENT_ENTRIES) ++endif() + + foreach(STATIC_ENTRY ${CHANNEL_STATIC_CLIENT_ENTRIES}) + foreach(STATIC_MODULE ${CHANNEL_STATIC_CLIENT_MODULES}) +diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt +index 14ed363..b8b7699 100644 +--- a/client/CMakeLists.txt ++++ b/client/CMakeLists.txt +@@ -63,8 +63,8 @@ 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}) ++ if(${FILEPATH} MATCHES "^([^/]*)/+${FILENAME}") ++ string(REGEX REPLACE "^([^/]*)/+${FILENAME}" "\\1" FREERDP_CLIENT ${FILEPATH}) + set(FREERDP_CLIENT_ENABLED 0) + include(${FILEPATH}) + if(FREERDP_CLIENT_ENABLED) +diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt +index cda14ba..ee9458e 100644 +--- a/server/CMakeLists.txt ++++ b/server/CMakeLists.txt +@@ -48,8 +48,8 @@ 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_SERVER ${FILEPATH}) ++ if(${FILEPATH} MATCHES "^([^/]*)/+${FILENAME}") ++ string(REGEX REPLACE "^([^/]*)/+${FILENAME}" "\\1" FREERDP_SERVER ${FILEPATH}) + set(FREERDP_SERVER_ENABLED 0) + include(${FILEPATH}) + if(FREERDP_SERVER_ENABLED) +diff --git a/third-party/CMakeLists.txt b/third-party/CMakeLists.txt +index 09b1fd4..610f35e 100644 +--- a/third-party/CMakeLists.txt ++++ b/third-party/CMakeLists.txt +@@ -22,11 +22,11 @@ + file(GLOB all_valid_subdirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/CMakeLists.txt") + + foreach(dir ${all_valid_subdirs}) +- if(${dir} MATCHES "^([^/]*)//CMakeLists.txt") +- string(REGEX REPLACE "^([^/]*)//CMakeLists.txt" "\\1" dir_trimmed ${dir}) ++ if(${dir} MATCHES "^([^/]*)/+CMakeLists.txt") ++ string(REGEX REPLACE "^([^/]*)/+CMakeLists.txt" "\\1" dir_trimmed ${dir}) + message(STATUS "Adding third-party component ${dir_trimmed}") + add_subdirectory(${dir_trimmed}) + endif() + endforeach(dir) + +-set(THIRD_PARTY_INCLUDES ${THIRD_PARTY_INCLUDES} PARENT_SCOPE) +\ No newline at end of file ++set(THIRD_PARTY_INCLUDES ${THIRD_PARTY_INCLUDES} PARENT_SCOPE) -- cgit v1.2.3