2
# Find the LCMS includes and library
2
# Find the LCMS (Little Color Management System) library and includes and
3
3
# This module defines
4
4
# LCMS_INCLUDE_DIR, where to find lcms.h
5
5
# LCMS_LIBRARIES, the libraries needed to use LCMS.
6
# LCMS_VERSION, The value of LCMS_VERSION defined in lcms.h
6
# LCMS_DOT_VERSION, The version number of the LCMS library, e.g. "1.19"
7
# LCMS_VERSION, Similar to LCMS_DOT_VERSION, but without the dots, e.g. "119"
7
8
# LCMS_FOUND, If false, do not try to use LCMS.
10
# The minimum required version of LCMS can be specified using the
11
# standard syntax, e.g. find_package(LCMS 1.10)
10
13
# Copyright (c) 2008, Adrian Page, <adrian@pagenet.plus.com>
11
14
# Copyright (c) 2009, Cyrille Berger, <cberger@cberger.net>
25
28
find_path(LCMS_INCLUDE_DIR lcms.h
27
30
${PC_LCMS_INCLUDEDIR}
28
31
${PC_LCMS_INCLUDE_DIRS}
29
32
PATH_SUFFIXES lcms liblcms1
32
35
find_library(LCMS_LIBRARIES NAMES lcms liblcms lcms-1 liblcms-1
35
38
${PC_LCMS_LIBRARY_DIRS}
39
if(LCMS_INCLUDE_DIR AND LCMS_LIBRARIES)
41
else(LCMS_INCLUDE_DIR AND LCMS_LIBRARIES)
43
endif(LCMS_INCLUDE_DIR AND LCMS_LIBRARIES)
42
# Store the LCMS version number in the cache, so we don't have to search everytime again
43
if(LCMS_INCLUDE_DIR AND NOT LCMS_VERSION)
46
44
file(READ ${LCMS_INCLUDE_DIR}/lcms.h LCMS_VERSION_CONTENT)
47
45
string(REGEX MATCH "#define LCMS_VERSION[ ]*[0-9]*\n" LCMS_VERSION_MATCH ${LCMS_VERSION_CONTENT})
48
46
if(LCMS_VERSION_MATCH)
49
string(REGEX REPLACE "#define LCMS_VERSION[ ]*([0-9]*)\n" "\\1" LCMS_VERSION ${LCMS_VERSION_MATCH})
50
if(NOT LCMS_FIND_QUIETLY)
51
string(SUBSTRING ${LCMS_VERSION} 0 1 LCMS_MAJOR_VERSION)
52
string(SUBSTRING ${LCMS_VERSION} 1 2 LCMS_MINOR_VERSION)
53
message(STATUS "Found lcms version ${LCMS_MAJOR_VERSION}.${LCMS_MINOR_VERSION}, ${LCMS_LIBRARIES}")
54
endif(NOT LCMS_FIND_QUIETLY)
55
else(LCMS_VERSION_MATCH)
56
if(NOT LCMS_FIND_QUIETLY)
57
message(STATUS "Found lcms but failed to find version ${LCMS_LIBRARIES}")
58
endif(NOT LCMS_FIND_QUIETLY)
59
set(LCMS_VERSION NOTFOUND)
47
string(REGEX REPLACE "#define LCMS_VERSION[ ]*([0-9]*)\n" "\\1" _LCMS_VERSION ${LCMS_VERSION_MATCH})
48
string(SUBSTRING ${_LCMS_VERSION} 0 1 LCMS_MAJOR_VERSION)
49
string(SUBSTRING ${_LCMS_VERSION} 1 2 LCMS_MINOR_VERSION)
60
50
endif(LCMS_VERSION_MATCH)
62
if(NOT LCMS_FIND_QUIETLY)
63
if(LCMS_FIND_REQUIRED)
64
message(FATAL_ERROR "Required package lcms NOT found")
65
else(LCMS_FIND_REQUIRED)
66
message(STATUS "lcms NOT found")
67
endif(LCMS_FIND_REQUIRED)
68
endif(NOT LCMS_FIND_QUIETLY)
51
set(LCMS_VERSION "${LCMS_MAJOR_VERSION}${LCMS_MINOR_VERSION}" CACHE STRING "Version number of lcms" FORCE)
52
set(LCMS_DOT_VERSION "${LCMS_MAJOR_VERSION}.${LCMS_MINOR_VERSION}" CACHE STRING "Version number of lcms split into components" FORCE)
53
endif(LCMS_INCLUDE_DIR AND NOT LCMS_VERSION)
55
include(FindPackageHandleStandardArgs)
56
find_package_handle_standard_args(LCMS REQUIRED_VARS LCMS_LIBRARIES LCMS_INCLUDE_DIR
57
VERSION_VAR LCMS_DOT_VERSION )
71
59
mark_as_advanced(LCMS_INCLUDE_DIR LCMS_LIBRARIES LCMS_VERSION)