File: Findbabl.cmake

package info (click to toggle)
libopenshot 0.3.3%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 29,268 kB
  • sloc: cpp: 26,779; python: 92; makefile: 18; ruby: 5; sh: 2
file content (76 lines) | stat: -rw-r--r-- 1,982 bytes parent folder | download | duplicates (3)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# SPDX-FileCopyrightText: 2021 OpenShot Studios, LLC
#
# SPDX-License-Identifier: LGPL-3.0-or-later

function(_babl_GET_VERSION _header)
  file(STRINGS "${_header}" _version_defs
    REGEX "^[ \t]*#define[ \t]+BABL_[A-Z]+_VERSION.*")
  if(_version_defs)
    string(REGEX REPLACE
      ".*BABL_MAJOR_VERSION[ \t]+([0-9]+).*" "\\1"
      babl_MAJOR "${_version_defs}")
    string(REGEX REPLACE
      ".*BABL_MINOR_VERSION[ \t]+([0-9]+).*" "\\1"
      babl_MINOR "${_version_defs}")
    string(REGEX REPLACE
      ".*BABL_MICRO_VERSION[ \t]+([0-9]+).*" "\\1"
      babl_PATCH "${_version_defs}")
    set(babl_VERSION "${babl_MAJOR}.${babl_MINOR}.${babl_PATCH}" PARENT_SCOPE)
  endif()
endfunction()

find_package(PkgConfig)
pkg_check_modules(PC_BABL babl)

set(babl_VERSION ${PC_BABL_VERSION})

find_path(babl_INCLUDE_DIR
  NAMES babl/babl.h
  PATH_SUFFIXES babl-0.1
  HINTS
    ${babl_DIR}/include
    ${PC_BABL_INCLUDE_DIRS}
  DOC "babl include dir"
)

find_library(babl_LIBRARY
  NAMES babl-0.1
  HINTS
    ${babl_DIR}/lib
    ${PC_BABL_LIBDIR}
    ${PC_BABL_LIBRARY_DIRS}
  DOC "babl library"
)

set ( babl_LIBRARIES ${babl_LIBRARY} )
set ( babl_INCLUDE_DIRS ${babl_INCLUDE_DIR} )

if(babl_INCLUDE_DIR AND NOT babl_VERSION)
  set(_version_hdr "${babl_INCLUDE_DIR}/babl/babl-version.h")
  if(EXISTS "${_version_hdr}")
    _babl_GET_VERSION("${_version_hdr}")
  endif()
endif()

if (babl_INCLUDE_DIRS AND babl_LIBRARIES)
  set(babl_FOUND TRUE)
endif()

if(babl_FOUND AND NOT TARGET babl_lib)
	add_library(babl_lib UNKNOWN IMPORTED)

	set_property(TARGET babl_lib PROPERTY
		INTERFACE_INCLUDE_DIRECTORIES ${babl_INCLUDE_DIR})
	set_property(TARGET babl_lib PROPERTY
		IMPORTED_LOCATION ${babl_LIBRARY})
endif()

include ( FindPackageHandleStandardArgs )
# handle the QUIETLY and REQUIRED arguments and set babl_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(babl
  REQUIRED_VARS
    babl_INCLUDE_DIR
    babl_LIBRARY
  VERSION_VAR
    babl_VERSION)