Files
bongo/cmake/FindGMime.cmake
T
2026-07-16 18:52:00 +02:00

35 lines
1.4 KiB
CMake

find_path(GMime_INCLUDE_DIR NAMES gmime/gmime.h
PATH_SUFFIXES gmime-2.6 gmime-2.4 gmime-2.2 gmime-2.0 gmime)
find_library(GMime_LIBRARY NAMES gmime-2.6 gmime-2.4 gmime-2.2 gmime-2.0 gmime)
if(GMime_INCLUDE_DIR AND EXISTS "${GMime_INCLUDE_DIR}/gmime/gmime-version.h")
file(STRINGS "${GMime_INCLUDE_DIR}/gmime/gmime-version.h"
_GMime_VERSION_LINES
REGEX "^#define GMIME_(MAJOR|MINOR|MICRO)_VERSION[ \t]+\\([0-9]+\\)")
foreach(_component MAJOR MINOR MICRO)
string(REGEX MATCH "GMIME_${_component}_VERSION[ \t]+\\(([0-9]+)\\)"
_GMime_VERSION_MATCH "${_GMime_VERSION_LINES}")
set(_GMime_VERSION_${_component} "${CMAKE_MATCH_1}")
endforeach()
if(DEFINED _GMime_VERSION_MAJOR AND DEFINED _GMime_VERSION_MINOR AND
DEFINED _GMime_VERSION_MICRO)
set(GMime_VERSION
"${_GMime_VERSION_MAJOR}.${_GMime_VERSION_MINOR}.${_GMime_VERSION_MICRO}")
endif()
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(GMime
REQUIRED_VARS GMime_LIBRARY GMime_INCLUDE_DIR
VERSION_VAR GMime_VERSION)
if(GMime_FOUND AND NOT TARGET GMime::GMime)
add_library(GMime::GMime UNKNOWN IMPORTED)
set_target_properties(GMime::GMime PROPERTIES
IMPORTED_LOCATION "${GMime_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${GMime_INCLUDE_DIR}"
INTERFACE_LINK_LIBRARIES "GLib2::GObject")
endif()
mark_as_advanced(GMime_INCLUDE_DIR GMime_LIBRARY)