File: FindPugixml.cmake

package info (click to toggle)
darktable 4.2.1-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 52,960 kB
  • sloc: ansic: 329,632; cpp: 90,717; xml: 18,803; lisp: 12,673; sh: 3,478; javascript: 3,264; perl: 1,888; python: 1,082; ruby: 972; makefile: 536; asm: 46; sql: 38; awk: 21
file content (30 lines) | stat: -rw-r--r-- 1,049 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# - Try to find Pugixml
# Once done, this will define
#
#  Pugixml_FOUND - system has Pugixml
#  Pugixml_INCLUDE_DIRS - the Pugixml include directories
#  Pugixml_LIBRARIES - link these to use Pugixml

include(LibFindMacros)

libfind_pkg_detect(Pugixml pugixml
  FIND_PATH pugixml.hpp
  FIND_LIBRARY pugixml
)

if (Pugixml_PKGCONF_VERSION)
  set(Pugixml_VERSION "${Pugixml_PKGCONF_VERSION}")
elseif(Pugixml_INCLUDE_DIR)
  # no .pc file, look for version manually.
  # yes, libfind_version_header() does not work here.

  file(READ "${Pugixml_INCLUDE_DIR}/pugixml.hpp" Pugixml_VERSION_CONTENT)
  string(REGEX MATCH "PUGIXML_VERSION *([0-9])([0-9][0-9])" _dummy "${Pugixml_VERSION_CONTENT}")
  set(Pugixml_VERSION "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}")
endif()

# Set the include dir variables and the libraries and let libfind_process do the rest.
# NOTE: Singular variables for this library, plural for libraries this lib depends on.
set(Pugixml_PROCESS_INCLUDES Pugixml_INCLUDE_DIR)
set(Pugixml_PROCESS_LIBS Pugixml_LIBRARY)
libfind_process(Pugixml)