|
| 1 | +diff --git a/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake b/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake |
| 2 | +index 24a194c..91c8e41 100644 |
| 3 | +--- a/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake |
| 4 | ++++ b/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake |
| 5 | +@@ -95,6 +95,18 @@ find_library(GLIB2_GIO_LIBRARIES |
| 6 | + HINTS ${PC_GIO_LIBDIR} |
| 7 | + ) |
| 8 | + |
| 9 | ++pkg_check_modules(PC_GMODULE QUIET gmodule-2.0) |
| 10 | ++ |
| 11 | ++find_path(GLIB2_GMODULE_INCLUDE_DIRS |
| 12 | ++ NAMES gmodule.h |
| 13 | ++ HINTS ${PC_GMODULE} |
| 14 | ++ PATH_SUFFIXES glib-2.0) |
| 15 | ++ |
| 16 | ++find_library(GLIB2_GMODULE_LIBRARIES |
| 17 | ++ NAMES gmodule-2.0 |
| 18 | ++ HINTS ${PC_GMODULE} |
| 19 | ++) |
| 20 | ++ |
| 21 | + # search the glibconfig.h include dir under the same root where the library is found |
| 22 | + get_filename_component(glib2LibDir "${GLIB2_LIBRARIES}" PATH) |
| 23 | + |
| 24 | +@@ -126,6 +138,11 @@ if(GLIB2_GIO_LIBRARIES AND GLIB2_GIO_INCLUDE_DIRS) |
| 25 | + set(GLIB2_GIO_FOUND TRUE) |
| 26 | + endif() |
| 27 | + |
| 28 | ++if(GLIB2_GMODULE_LIBRARIES AND GLIB2_GMODULE_INCLUDE_DIRS) |
| 29 | ++ set(GLIB2_GMODULE_FOUND TRUE) |
| 30 | ++endif() |
| 31 | ++ |
| 32 | ++ |
| 33 | + include(FindPackageHandleStandardArgs) |
| 34 | + find_package_handle_standard_args(GLIB2 |
| 35 | + REQUIRED_VARS GLIB2_LIBRARIES GTHREAD2_LIBRARIES GLIB2_INCLUDE_DIRS |
| 36 | +@@ -137,6 +154,16 @@ if(GLIB2_FOUND AND NOT TARGET GLIB2::GLIB2) |
| 37 | + IMPORTED_LOCATION "${GLIB2_LIBRARIES}" |
| 38 | + INTERFACE_LINK_LIBRARIES "${GTHREAD2_LIBRARIES}" |
| 39 | + INTERFACE_INCLUDE_DIRECTORIES "${GLIB2_INCLUDE_DIRS}") |
| 40 | ++ #vcpkg specific |
| 41 | ++ pkg_check_modules(PC_PCRE2_8BIT QUIET libpcre2-8) |
| 42 | ++ find_library(PCRE2_8BIT_LIBRARIES |
| 43 | ++ NAMES pcre2-8 |
| 44 | ++ HINTS ${PC_PCRE2_8BIT} |
| 45 | ++ ) |
| 46 | ++ target_link_libraries(GLIB2::GLIB2 INTERFACE ${PCRE2_8BIT_LIBRARIES}) |
| 47 | ++ find_package(Iconv) |
| 48 | ++ find_package(Intl) |
| 49 | ++ target_link_libraries(GLIB2::GLIB2 INTERFACE Intl::Intl Iconv::Iconv) |
| 50 | + endif() |
| 51 | + |
| 52 | + if(GLIB2_GOBJECT_FOUND AND NOT TARGET GLIB2::GOBJECT) |
| 53 | +@@ -153,12 +180,21 @@ if(GLIB2_GIO_FOUND AND NOT TARGET GLIB2::GIO) |
| 54 | + INTERFACE_INCLUDE_DIRECTORIES "${GLIB2_GIO_INCLUDE_DIRS}") |
| 55 | + endif() |
| 56 | + |
| 57 | ++if(GLIB2_GMODULE_FOUND AND NOT TARGET GLIB2::GMODULE) |
| 58 | ++ add_library(GLIB2::GMODULE UNKNOWN IMPORTED) |
| 59 | ++ set_target_properties(GLIB2::GMODULE PROPERTIES |
| 60 | ++ IMPORTED_LOCATION "${GLIB2_GMODULE_LIBRARIES}" |
| 61 | ++ INTERFACE_INCLUDE_DIRECTORIES "${GLIB2_GMODULE_INCLUDE_DIRS}") |
| 62 | ++endif() |
| 63 | ++ |
| 64 | ++ |
| 65 | + mark_as_advanced(GLIB2_INCLUDE_DIRS GLIB2_INCLUDE_DIR |
| 66 | + GLIB2_LIBRARIES GLIB2_LIBRARY |
| 67 | + GLIB2_GOBJECT_INCLUDE_DIRS GLIB2_GOBJECT_INCLUDE_DIR |
| 68 | + GLIB2_GOBJECT_LIBRARIES GLIB2_GOBJECT_LIBRARY |
| 69 | + GLIB2_GIO_INCLUDE_DIRS GLIB2_GIO_INCLUDE_DIR |
| 70 | +- GLIB2_GIO_LIBRARIES GLIB2_GIO_LIBRARY) |
| 71 | ++ GLIB2_GIO_LIBRARIES GLIB2_GIO_LIBRARY |
| 72 | ++ GLIB2_GMODULE_LIBRARIES GLIB2_GMODULE_INCLUDE_DIRS) |
| 73 | + |
| 74 | + include(FeatureSummary) |
| 75 | + set_package_properties(GLIB2 PROPERTIES |
0 commit comments