Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHannah von Reth <hannah.vonreth@owncloud.com>2021-09-27 12:19:51 +0300
committerHannah von Reth <vonreth@kde.org>2021-10-01 15:42:55 +0300
commit874ffe8ea3fc8182804546752c720e5975262567 (patch)
treed141916811213d6c4b6a99157896a6e002d42350 /src
parent84962a646b751a0f1b55d586fe7d21e1b8add949 (diff)
Modernise libcloudprovider cmake code
Diffstat (limited to 'src')
-rw-r--r--src/gui/libcloudproviders/libcloudproviders.cmake37
1 files changed, 19 insertions, 18 deletions
diff --git a/src/gui/libcloudproviders/libcloudproviders.cmake b/src/gui/libcloudproviders/libcloudproviders.cmake
index 0dc9816e6..719d6e3e7 100644
--- a/src/gui/libcloudproviders/libcloudproviders.cmake
+++ b/src/gui/libcloudproviders/libcloudproviders.cmake
@@ -1,18 +1,17 @@
-# The cloudproviders feature can only be enabled if the libcloudproviders
-# and gio-2.0 libraries are available, and failure due to any missing
-# dependency should be graceful.
-set(LIBCLOUDPROVIDERS_POSSIBLE "")
-find_package(Libcloudproviders QUIET)
-find_package(PkgConfig)
-if(LIBCLOUDPROVIDERS_FOUND AND PKG_CONFIG_FOUND)
- pkg_search_module(GIO gio-2.0)
- if(GIO_FOUND)
- set(LIBCLOUDPROVIDERS_POSSIBLE "1")
- endif()
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(CLOUDPROVIDERS cloudproviders>=0.3 IMPORTED_TARGET)
+
+if(CLOUDPROVIDERS_FOUND)
+ pkg_check_modules(GIO REQUIRED gio-2.0 IMPORTED_TARGET)
+ pkg_check_modules(GLIB2 REQUIRED glib-2.0 IMPORTED_TARGET)
+endif()
+
+set(LIBCLOUDPROVIDERS_POSSIBLE FALSE)
+if (TARGET PkgConfig::CLOUDPROVIDERS)
+ set(LIBCLOUDPROVIDERS_POSSIBLE TRUE)
endif()
-# User visible config switch
-set(WITH_LIBCLOUDPROVIDERS ${LIBCLOUDPROVIDERS_POSSIBLE} CACHE BOOL "Whether to bulid with libcloudproviders")
+option(WITH_LIBCLOUDPROVIDERS "Whether to bulid with libcloudproviders" ${LIBCLOUDPROVIDERS_POSSIBLE})
if(WITH_LIBCLOUDPROVIDERS AND NOT LIBCLOUDPROVIDERS_POSSIBLE)
message(FATAL_ERROR "Trying to enable libcloudproviders but dependencies are missing")
@@ -22,13 +21,13 @@ if(WITH_LIBCLOUDPROVIDERS)
target_sources(owncloudCore PRIVATE
libcloudproviders/libcloudproviders.cpp
)
- target_include_directories(owncloudCore SYSTEM PRIVATE ${GIO_INCLUDE_DIRS})
- target_compile_definitions(owncloudCore PRIVATE WITH_LIBCLOUDPROVIDERS)
target_link_libraries(owncloudCore PUBLIC
- cloudproviders
- ${GIO_LDFLAGS}
+ PkgConfig::CLOUDPROVIDERS
+ PkgConfig::GLIB2
+ PkgConfig::GIO
)
-
+ target_compile_definitions(owncloudCore PRIVATE WITH_LIBCLOUDPROVIDERS)
+
configure_file(libcloudproviders/cloud-provider.ini.in ${CMAKE_CURRENT_BINARY_DIR}/${APPLICATION_CLOUDPROVIDERS_DBUS_NAME}.ini)
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/${APPLICATION_CLOUDPROVIDERS_DBUS_NAME}.ini
@@ -38,3 +37,5 @@ if(WITH_LIBCLOUDPROVIDERS)
elseif(UNIX AND NOT APPLE)
message("Building without libcloudproviders")
endif()
+
+add_feature_info(Libcloudproviders WITH_LIBCLOUDPROVIDERS "Enable cloud provider integration")