File: FindBRUNSLI.cmake

package info (click to toggle)
gdal 3.11.3%2Bdfsg-1~exp1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 89,016 kB
  • sloc: cpp: 1,165,048; ansic: 208,864; python: 26,958; java: 5,972; xml: 4,611; sh: 3,776; cs: 2,508; yacc: 1,306; makefile: 213
file content (74 lines) | stat: -rw-r--r-- 2,316 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
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
# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying file COPYING-CMAKE-SCRIPTS or
# https://cmake.org/licensing for details.

#[=======================================================================[.rst:
FindBRUNSLI
--------

Find the BRUNSLI libraries

Brunsli encode and decode libraries are built with CMake.
Unfortunately Brunsli does not export cmake config files yet, thus this find module

IMPORTED targets
^^^^^^^^^^^^^^^^

This module defines the following
:prop_tgt:`IMPORTED` target: ``BRUNSLI::ENCODE``
:prop_tgt:`IMPORTED` target: ``BRUNSLI::DECODE``

Result variables
^^^^^^^^^^^^^^^^

This module will set the following variables if found:

``BRUNSLI_INCLUDE_DIR`` - where to find encode.h, decode.h, etc.
``BRUNSLI_ENC_LIB`` - the library to link against to encode Brunsli.
``BRUNSLI_DEC_LIB`` - the library to link against to decode Brunsli.
``BRUNSLI_FOUND`` - TRUE if found

#]=======================================================================]

set(BRUNSLI_NAME BRUNSLI)

find_path(BRUNSLI_INCLUDE_DIR brunsli/encode.h
    HINTS ${BRUNSLI_ROOT}
    PATH_SUFFIXES ${BRUNSLI_NAME}/include include
)

find_library(BRUNSLI_ENC_LIB
    NAMES brunslienc-c
    HINTS ${BRUNSLI_ROOT}
    PATH_SUFFIXES ${BRUNSLI_NAME}/lib lib
)

find_library(BRUNSLI_DEC_LIB
    NAMES brunslidec-c
    HINTS ${BRUNSLI_ROOT}
    PATH_SUFFIXES ${BRUNSLI_NAME}/lib lib
)

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(BRUNSLI
    REQUIRED_VARS   BRUNSLI_ENC_LIB BRUNSLI_DEC_LIB BRUNSLI_INCLUDE_DIR
)
mark_as_advanced(BRUNSLI_INCLUDE_DIR BRUNSLI_ENC_LIB BRUNSLI_DEC_LIB)

if(BRUNSLI_FOUND)
    if(NOT TARGET BRUNSLI::ENCODE)
        add_library(BRUNSLI::ENCODE UNKNOWN IMPORTED)
        set_target_properties(BRUNSLI::ENCODE PROPERTIES
            INTERFACE_INCLUDE_DIRECTORIES "${BRUNSLI_INCLUDE_DIR}"
            IMPORTED_LINK_INTERFACE_LANGUAGES C
            IMPORTED_LOCATION "${BRUNSLI_ENC_LIB}"
        )
    endif()
    if(NOT TARGET BRUNSLI::DECODE)
        add_library(BRUNSLI::DECODE UNKNOWN IMPORTED)
        set_target_properties(BRUNSLI::DECODE PROPERTIES
            INTERFACE_INCLUDE_DIRECTORIES "${BRUNSLI_INCLUDE_DIR}"
            IMPORTED_LINK_INTERFACE_LANGUAGES C
            IMPORTED_LOCATION "${BRUNSLI_DEC_LIB}"
        )
    endif()
endif()