From 32309fb4462aaf86c6efe9a99a8d41d7d2b24bfd Mon Sep 17 00:00:00 2001 From: Julien Schueller Date: Sat, 26 Sep 2020 10:21:07 +0200 Subject: CMake: FindGLIB2 to include gthread2 sub-library Avoids undefined references to g_thread_init. Fixes: QTBUG-86727 Change-Id: Ic41b0dab9e4e23083faf4e9abcf7acc517172e49 Reviewed-by: Alexandru Croitor --- .../extra-cmake-modules/find-modules/FindGLIB2.cmake | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'cmake/3rdparty') diff --git a/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake b/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake index 1e13104187..8f873c1b45 100644 --- a/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake +++ b/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake @@ -64,6 +64,13 @@ find_library(GLIB2_LIBRARIES HINTS ${PC_GLIB2_LIBDIR} ) +pkg_check_modules(PC_GTHREAD2 QUIET gthread-2.0) + +find_library(GTHREAD2_LIBRARIES + NAMES gthread-2.0 + HINTS ${PC_GTHREAD2_LIBDIR} +) + # search the glibconfig.h include dir under the same root where the library is found get_filename_component(glib2LibDir "${GLIB2_LIBRARIES}" PATH) @@ -82,13 +89,14 @@ set(GLIB2_INCLUDE_DIR "${GLIB2_INCLUDE_DIRS}") set(GLIB2_LIBRARY "${GLIB2_LIBRARIES}") include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(GLIB2 DEFAULT_MSG GLIB2_LIBRARIES GLIB2_INCLUDE_DIRS) +find_package_handle_standard_args(GLIB2 DEFAULT_MSG GLIB2_LIBRARIES GTHREAD2_LIBRARIES GLIB2_INCLUDE_DIRS) if(GLIB2_FOUND AND NOT TARGET GLIB2::GLIB2) add_library(GLIB2::GLIB2 UNKNOWN IMPORTED) set_target_properties(GLIB2::GLIB2 PROPERTIES IMPORTED_LOCATION "${GLIB2_LIBRARIES}" - INTERFACE_INCLUDE_DIRECTORIES "${GLIB2_INCLUDE_DIRS}") + INTERFACE_LINK_LIBRARIES "${GTHREAD2_LIBRARIES}" + INTERFACE_INCLUDE_DIRECTORIES "${GLIB2_INCLUDE_DIRS}") endif() mark_as_advanced(GLIB2_INCLUDE_DIRS GLIB2_INCLUDE_DIR -- cgit v1.2.3