From 6e37f3fe3fa0f4ce9a25a91e9d97191c8e4abec1 Mon Sep 17 00:00:00 2001 From: Marvin W Date: Thu, 3 Nov 2022 09:46:07 -0600 Subject: Automatically select appropriate libsoup version --- cmake/SoupVersion.cmake | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 cmake/SoupVersion.cmake (limited to 'cmake/SoupVersion.cmake') diff --git a/cmake/SoupVersion.cmake b/cmake/SoupVersion.cmake new file mode 100644 index 00000000..625a1513 --- /dev/null +++ b/cmake/SoupVersion.cmake @@ -0,0 +1,33 @@ +find_package(Nice QUIET) +if (Nice_FOUND AND NOT SOUP_VERSION AND NOT USE_SOUP3) + file(GET_RUNTIME_DEPENDENCIES + RESOLVED_DEPENDENCIES_VAR Nice_DEPENDENCIES + UNRESOLVED_DEPENDENCIES_VAR Nice_UNRESOLVED_DEPENDENCIES + LIBRARIES ${Nice_LIBRARY} + PRE_INCLUDE_REGEXES "soup|gupnp" + PRE_EXCLUDE_REGEXES "." + ) + foreach (lib ${Nice_DEPENDENCIES}) + if (lib MATCHES ".*/libsoup-3.*") + set(SOUP_VERSION 3) + endif () + endforeach () + foreach (lib ${Nice_DEPENDENCIES}) + if (lib MATCHES ".*/libsoup-2.*") + set(SOUP_VERSION 2) + endif () + endforeach () + set(SOUP_VERSION ${SOUP_VERSION} CACHE STRING "Version of libsoup to use") + set_property(CACHE SOUP_VERSION PROPERTY STRINGS "2" "3") + message(STATUS "Using Soup${SOUP_VERSION} to provide Soup") +elseif (NOT SOUP_VERSION) + find_package(Soup2 QUIET) + find_package(Soup3 QUIET) + # Only use libsoup 3 if specifically requested or when libsoup 2 is not available + if (Soup3_FOUND AND NOT Soup2_FOUND OR USE_SOUP3) + set(SOUP_VERSION 3) + else () + set(SOUP_VERSION 2) + endif () +endif () +set(Soup "Soup${SOUP_VERSION}") \ No newline at end of file -- cgit v1.2.3-54-g00ecf