Merge branch 'master' into blender2.8
[blender.git] / build_files / cmake / Modules / FindPCRE.cmake
1 # - Find PCRE library
2 # Find the native PCRE includes and library
3 # This module defines
4 #  PCRE_INCLUDE_DIRS, where to find pcre.h, Set when
5 #                     PCRE_INCLUDE_DIR is found.
6 #  PCRE_LIBRARIES, libraries to link against to use PCRE.
7 #  PCRE_ROOT_DIR, The base directory to search for PCRE.
8 #                 This can also be an environment variable.
9 #  PCRE_FOUND, If false, do not try to use PCRE.
10 #
11 # also defined, but not for general use are
12 #  PCRE_LIBRARY, where to find the PCRE library.
13
14 #=============================================================================
15 # Copyright 2011 Blender Foundation.
16 #
17 # Distributed under the OSI-approved BSD License (the "License");
18 # see accompanying file Copyright.txt for details.
19 #
20 # This software is distributed WITHOUT ANY WARRANTY; without even the
21 # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
22 # See the License for more information.
23 #=============================================================================
24
25 # If PCRE_ROOT_DIR was defined in the environment, use it.
26 IF(NOT PCRE_ROOT_DIR AND NOT $ENV{PCRE_ROOT_DIR} STREQUAL "")
27   SET(PCRE_ROOT_DIR $ENV{PCRE_ROOT_DIR})
28 ENDIF()
29
30 SET(_pcre_SEARCH_DIRS
31   ${PCRE_ROOT_DIR}
32   /usr/local
33   /sw # Fink
34   /opt/local # DarwinPorts
35 )
36
37 FIND_PATH(PCRE_INCLUDE_DIR pcre.h
38   HINTS
39     ${_pcre_SEARCH_DIRS}
40   PATH_SUFFIXES
41     include
42 )
43
44 FIND_LIBRARY(PCRE_LIBRARY
45   NAMES
46     pcre
47   HINTS
48     ${_pcre_SEARCH_DIRS}
49   PATH_SUFFIXES
50     lib64 lib
51   )
52
53 # handle the QUIETLY and REQUIRED arguments and set PCRE_FOUND to TRUE if
54 # all listed variables are TRUE
55 INCLUDE(FindPackageHandleStandardArgs)
56 FIND_PACKAGE_HANDLE_STANDARD_ARGS(PCRE DEFAULT_MSG
57     PCRE_LIBRARY PCRE_INCLUDE_DIR)
58
59 # With 'make deps' precompiled libs, opencollada ships with a copy of libpcre
60 # but not the headers, ${PCRE_LIBRARY} will be valid in this case
61 # but PCRE_FOUND will be FALSE. So we set this variable outside of
62 # the IF(PCRE_FOUND) below to allow blender to successfully link.
63 SET(PCRE_LIBRARIES ${PCRE_LIBRARY})
64
65 IF(PCRE_FOUND)
66   SET(PCRE_INCLUDE_DIRS ${PCRE_INCLUDE_DIR})
67 ENDIF(PCRE_FOUND)
68
69 MARK_AS_ADVANCED(
70   PCRE_INCLUDE_DIR
71   PCRE_LIBRARY
72 )