summaryrefslogtreecommitdiffstats
path: root/CMakeScripts/Modules/Findyaml.cmake
blob: 154f2ed432d7b11712a5f3f5978d1b2db1f014b3 (plain)
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
# - Try to find the YAML library
# Once done this will define
#
#  YAML_FOUND - system has yaml
#  YAML_INCLUDE_DIR - the yaml include directory
#  YAML_LIBRARIES - the libraries needed to use yaml

# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.

if (YAML_INCLUDE_DIR AND YAML_LIBRARIES)
    # in cache already
    SET(YAML_FOUND TRUE)
else (YAML_INCLUDE_DIR AND YAML_LIBRARIES)
    IF (NOT WIN32)
		FIND_PACKAGE(PkgConfig)
        IF (PKG_CONFIG_FOUND)
            # use pkg-config to get the directories and then use these values
            # in the FIND_PATH() and FIND_LIBRARY() calls
            pkg_check_modules(_YAML_PC QUIET yaml-1)
        ENDIF (PKG_CONFIG_FOUND)
    ENDIF (NOT WIN32)

    FIND_PATH(YAML_INCLUDE_DIR yaml.h
        /usr/include
        /usr/local/include
    )

    FIND_LIBRARY(YAML_LIBRARIES NAMES yaml
        PATHS)

    if (YAML_INCLUDE_DIR AND YAML_LIBRARIES)
        set(YAML_FOUND TRUE)
    endif (YAML_INCLUDE_DIR AND YAML_LIBRARIES)


    if (YAML_FOUND)
        if (NOT YAML_FIND_QUIETLY)
            message(STATUS "Found YAML: ${YAML_LIBRARIES}")
        endif (NOT YAML_FIND_QUIETLY)
    else (YAML_FOUND)
        if (YAML_FIND_REQUIRED)
            message(FATAL_ERROR "Could NOT find YAML")
        endif (YAML_FIND_REQUIRED)
    endif (YAML_FOUND)

    MARK_AS_ADVANCED(YAML_INCLUDE_DIR YAML_LIBRARIES)

endif (YAML_INCLUDE_DIR AND YAML_LIBRARIES)