aboutsummaryrefslogtreecommitdiff
path: root/modules/FindLibXslt.cmake
blob: afac1f2fc751694cfad79b83c403cb7a0f3a8dde (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
50
51
52
53
54
55
56
57
58
59
60
# - Try to find LibXslt
# Once done this will define
#
#  LIBXSLT_FOUND - system has LibXslt
#  LIBXSLT_INCLUDE_DIR - the LibXslt include directory
#  LIBXSLT_LIBRARIES - Link these to LibXslt
#  LIBXSLT_DEFINITIONS - Compiler switches required for using LibXslt
#

IF (DEFINED CACHED_LIBXSLT)

  # in cache already
  IF ("${CACHED_LIBXSLT}" STREQUAL "YES")
    SET(LIBXSLT_FOUND TRUE)
  ENDIF ("${CACHED_LIBXSLT}" STREQUAL "YES")

ELSE (DEFINED CACHED_LIBXSLT)

  IF (NOT WIN32)
    # use pkg-config to get the directories and then use these values
    # in the FIND_PATH() and FIND_LIBRARY() calls
    INCLUDE(UsePkgConfig)
    PKGCONFIG(libxslt _LibXsltIncDir _LibXsltLinkDir _LibXsltLinkFlags _LibXsltCflags)
    set(LIBXSLT_DEFINITIONS ${_LibXsltCflags})
  ENDIF (NOT WIN32)

  FIND_PATH(LIBXSLT_INCLUDE_DIR libxslt/xslt.h
    ${_LibXsltIncDir}
    /usr/include
    /usr/local/include
  )
  
  FIND_LIBRARY(LIBXSLT_LIBRARIES NAMES xslt libxslt
    PATHS
    ${_LibXsltLinkDir}
    /usr/lib
    /usr/local/lib
  )
  
  if (LIBXSLT_INCLUDE_DIR AND LIBXSLT_LIBRARIES)
     set(LIBXSLT_FOUND TRUE)
     set(CACHED_LIBXSLT "YES")
  else (LIBXSLT_INCLUDE_DIR AND LIBXSLT_LIBRARIES)
     set(CACHED_LIBXSLT "NO")
  endif (LIBXSLT_INCLUDE_DIR AND LIBXSLT_LIBRARIES)
  
  if (LIBXSLT_FOUND)
    if (NOT LibXslt_FIND_QUIETLY)
    message(STATUS "Found LibXslt: ${LIBXSLT_LIBRARIES}")
    endif (NOT LibXslt_FIND_QUIETLY)
  else (LIBXSLT_FOUND)
    if (LibXslt_FIND_REQUIRED)
    message(FATAL_ERROR "Could NOT find LibXslt")
    endif (LibXslt_FIND_REQUIRED)
  endif (LIBXSLT_FOUND)
  
  set(CACHED_LIBXSLT ${CACHED_LIBXSLT} CACHE INTERNAL "If libxslt was checked")
  MARK_AS_ADVANCED(LIBXSLT_INCLUDE_DIR LIBXSLT_LIBRARIES)
  
ENDIF (DEFINED CACHED_LIBXSLT)