From: Hannah von Reth Date: Thu, 15 Aug 2019 11:13:44 +0000 (+0200) Subject: CMake VFS: Enable us to provided vfs plugins from an external directory X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~21^2~468^2~195 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=e5a36c3bc6ad5342826d879f6b87ff751f4bb92d;p=nextcloud-desktop.git CMake VFS: Enable us to provided vfs plugins from an external directory --- diff --git a/src/libsync/vfs/CMakeLists.txt b/src/libsync/vfs/CMakeLists.txt index 306988f46..fec473b57 100644 --- a/src/libsync/vfs/CMakeLists.txt +++ b/src/libsync/vfs/CMakeLists.txt @@ -1,20 +1,25 @@ # Globbing for plugins has a problem with in-source builds # that create directories for the build. -#file(GLOB vfsPlugins RELATIVE ${CMAKE_CURRENT_LIST_DIR} "*") +#file(GLOB VIRTUAL_FILE_SYSTEM_PLUGINS RELATIVE ${CMAKE_CURRENT_LIST_DIR} "*") -SET(vfsPlugins "suffix;win") +list(APPEND VIRTUAL_FILE_SYSTEM_PLUGINS "suffix" "win") -foreach(vfsPlugin ${vfsPlugins}) - if(NOT IS_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/${vfsPlugin}") +foreach(vfsPlugin ${VIRTUAL_FILE_SYSTEM_PLUGINS}) + set(vfsPluginPath ${vfsPlugin}) + get_filename_component(vfsPluginName ${vfsPlugin} NAME) + if (NOT IS_ABSOLUTE ${vfsPlugin}) + set(vfsPluginPath "${CMAKE_CURRENT_LIST_DIR}/${vfsPlugin}") + endif() + if(NOT IS_DIRECTORY ${vfsPluginPath}) continue() endif() - add_subdirectory("${vfsPlugin}") + add_subdirectory(${vfsPluginPath} ${vfsPluginName}) - if(UNIT_TESTING AND IS_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/${vfsPlugin}/test") - add_subdirectory("${vfsPlugin}/test" "${vfsPlugin}_test") - message(STATUS "Added vfsPlugin with tests: ${vfsPlugin}") + if(UNIT_TESTING AND IS_DIRECTORY "${vfsPluginPath}/test") + add_subdirectory("${vfsPluginPath}/test" "${vfsPluginName}_test") + message(STATUS "Added vfsPlugin with tests: ${vfsPluginName}") else() - message(STATUS "Added vfsPlugin without tests: ${vfsPlugin}") + message(STATUS "Added vfsPlugin without tests: ${vfsPluginName}") endif() endforeach()