File: FindPugixml.cmake

package info (click to toggle)
darktable 2.2.1-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 23,236 kB
  • sloc: ansic: 200,593; cpp: 23,773; xml: 10,142; lisp: 7,084; sh: 2,489; perl: 1,701; ruby: 1,155; python: 426; makefile: 289; awk: 110; asm: 46
file content (30 lines) | stat: -rw-r--r-- 1,054 bytes parent folder | download | duplicates (2)
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 this lib depends on.
set(Pugixml_PROCESS_INCLUDES Pugixml_INCLUDE_DIR)
set(Pugixml_PROCESS_LIBS Pugixml_LIBRARY)
libfind_process(Pugixml)