summaryrefslogtreecommitdiffstats
path: root/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake
diff options
context:
space:
mode:
authorIlya Fedin <fedin-ilja2010@ya.ru>2022-01-26 00:32:30 +0400
committerIlya Fedin <fedin-ilja2010@ya.ru>2022-02-02 08:56:10 +0400
commit5a0849ed6b44657f3b680ab552d5f0ca4a9261d3 (patch)
tree566b5b7129dd2b40733cebfaaf86f94fb6f99a20 /cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake
parent2a192c5f18d7ddd8d57ba0cd2cf09b4b9c6ce826 (diff)
Handle glib optional components properly
Fixes: QTBUG-97929 Pick-to: 6.3 Change-Id: Ic73548cb10680a2ccd60faed2b0548c82892eaa1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake')
-rw-r--r--cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake50
1 files changed, 31 insertions, 19 deletions
diff --git a/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake b/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake
index 1d47a748ea..24a194c9cb 100644
--- a/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake
+++ b/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake
@@ -73,24 +73,24 @@ find_library(GTHREAD2_LIBRARIES
pkg_check_modules(PC_GOBJECT QUIET gobject-2.0)
-find_path(GOBJECT_INCLUDE_DIRS
+find_path(GLIB2_GOBJECT_INCLUDE_DIRS
NAMES glib-object.h
HINTS ${PC_GOBJECT_INCLUDEDIR}
PATH_SUFFIXES glib-2.0)
-find_library(GOBJECT_LIBRARIES
+find_library(GLIB2_GOBJECT_LIBRARIES
NAMES gobject-2.0
HINTS ${PC_GOBJECT_LIBDIR}
)
pkg_check_modules(PC_GIO QUIET gio-2.0)
-find_path(GIO_INCLUDE_DIRS
+find_path(GLIB2_GIO_INCLUDE_DIRS
NAMES gio/gio.h
HINTS ${PC_GIO_INCLUDEDIR}
PATH_SUFFIXES glib-2.0)
-find_library(GIO_LIBRARIES
+find_library(GLIB2_GIO_LIBRARIES
NAMES gio-2.0
HINTS ${PC_GIO_LIBDIR}
)
@@ -106,18 +106,30 @@ find_path(GLIB2_INTERNAL_INCLUDE_DIR glibconfig.h
# for now it is optional
if(GLIB2_INTERNAL_INCLUDE_DIR)
list(APPEND GLIB2_INCLUDE_DIRS "${GLIB2_INTERNAL_INCLUDE_DIR}")
- list(APPEND GOBJECT_INCLUDE_DIRS "${GLIB2_INTERNAL_INCLUDE_DIR}")
- list(APPEND GIO_INCLUDE_DIRS "${GLIB2_INTERNAL_INCLUDE_DIR}")
+ list(APPEND GLIB2_GOBJECT_INCLUDE_DIRS "${GLIB2_INTERNAL_INCLUDE_DIR}")
+ list(APPEND GLIB2_GIO_INCLUDE_DIRS "${GLIB2_INTERNAL_INCLUDE_DIR}")
endif()
# Deprecated synonyms
set(GLIB2_INCLUDE_DIR "${GLIB2_INCLUDE_DIRS}")
set(GLIB2_LIBRARY "${GLIB2_LIBRARIES}")
+set(GLIB2_GOBJECT_INCLUDE_DIR "${GLIB2_GOBJECT_INCLUDE_DIRS}")
+set(GLIB2_GOBJECT_LIBRARY "${GLIB2_GOBJECT_LIBRARIES}")
+set(GLIB2_GIO_INCLUDE_DIR "${GLIB2_GIO_INCLUDE_DIRS}")
+set(GLIB2_GIO_LIBRARY "${GLIB2_GIO_LIBRARIES}")
+
+if(GLIB2_GOBJECT_LIBRARIES AND GLIB2_GOBJECT_INCLUDE_DIRS)
+ set(GLIB2_GOBJECT_FOUND TRUE)
+endif()
+
+if(GLIB2_GIO_LIBRARIES AND GLIB2_GIO_INCLUDE_DIRS)
+ set(GLIB2_GIO_FOUND TRUE)
+endif()
include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(GLIB2 DEFAULT_MSG GLIB2_LIBRARIES GTHREAD2_LIBRARIES GLIB2_INCLUDE_DIRS)
-find_package_handle_standard_args(GOBJECT DEFAULT_MSG GOBJECT_LIBRARIES GOBJECT_INCLUDE_DIRS)
-find_package_handle_standard_args(GIO DEFAULT_MSG GIO_LIBRARIES GIO_INCLUDE_DIRS)
+find_package_handle_standard_args(GLIB2
+ REQUIRED_VARS GLIB2_LIBRARIES GTHREAD2_LIBRARIES GLIB2_INCLUDE_DIRS
+ HANDLE_COMPONENTS)
if(GLIB2_FOUND AND NOT TARGET GLIB2::GLIB2)
add_library(GLIB2::GLIB2 UNKNOWN IMPORTED)
@@ -127,26 +139,26 @@ if(GLIB2_FOUND AND NOT TARGET GLIB2::GLIB2)
INTERFACE_INCLUDE_DIRECTORIES "${GLIB2_INCLUDE_DIRS}")
endif()
-if(GOBJECT_FOUND AND NOT TARGET GLIB2::GOBJECT)
+if(GLIB2_GOBJECT_FOUND AND NOT TARGET GLIB2::GOBJECT)
add_library(GLIB2::GOBJECT UNKNOWN IMPORTED)
set_target_properties(GLIB2::GOBJECT PROPERTIES
- IMPORTED_LOCATION "${GOBJECT_LIBRARIES}"
- INTERFACE_INCLUDE_DIRECTORIES "${GOBJECT_INCLUDE_DIRS}")
+ IMPORTED_LOCATION "${GLIB2_GOBJECT_LIBRARIES}"
+ INTERFACE_INCLUDE_DIRECTORIES "${GLIB2_GOBJECT_INCLUDE_DIRS}")
endif()
-if(GIO_FOUND AND NOT TARGET GLIB2::GIO)
+if(GLIB2_GIO_FOUND AND NOT TARGET GLIB2::GIO)
add_library(GLIB2::GIO UNKNOWN IMPORTED)
set_target_properties(GLIB2::GIO PROPERTIES
- IMPORTED_LOCATION "${GIO_LIBRARIES}"
- INTERFACE_INCLUDE_DIRECTORIES "${GIO_INCLUDE_DIRS}")
+ IMPORTED_LOCATION "${GLIB2_GIO_LIBRARIES}"
+ INTERFACE_INCLUDE_DIRECTORIES "${GLIB2_GIO_INCLUDE_DIRS}")
endif()
mark_as_advanced(GLIB2_INCLUDE_DIRS GLIB2_INCLUDE_DIR
GLIB2_LIBRARIES GLIB2_LIBRARY
- GOBJECT_INCLUDE_DIRS GOBJECT_INCLUDE_DIR
- GOBJECT_LIBRARIES GOBJECT_LIBRARY
- GIO_INCLUDE_DIRS GIO_INCLUDE_DIR
- GIO_LIBRARIES GIO_LIBRARY)
+ GLIB2_GOBJECT_INCLUDE_DIRS GLIB2_GOBJECT_INCLUDE_DIR
+ GLIB2_GOBJECT_LIBRARIES GLIB2_GOBJECT_LIBRARY
+ GLIB2_GIO_INCLUDE_DIRS GLIB2_GIO_INCLUDE_DIR
+ GLIB2_GIO_LIBRARIES GLIB2_GIO_LIBRARY)
include(FeatureSummary)
set_package_properties(GLIB2 PROPERTIES