summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorPino Toscano <pino@kde.org>2012-02-20 22:18:00 +0100
committerPino Toscano <pino@kde.org>2012-02-20 22:18:00 +0100
commitd0186c558f4a84a9317687ad50b460d34fb5fdf0 (patch)
treef2406af118ce3482d54cd211e9c04cebd6ff447f /cmake
parente48c22d3b70412015b9cc07a9a6ce07845274e13 (diff)
cmake: support for lcms2
followup of e48c22d3b70412015b9cc07a9a6ce07845274e13 also for the CMake build system, importing the FindLCMS2.cmake from kdelibs
Diffstat (limited to 'cmake')
-rw-r--r--cmake/modules/FindLCMS2.cmake73
1 files changed, 73 insertions, 0 deletions
diff --git a/cmake/modules/FindLCMS2.cmake b/cmake/modules/FindLCMS2.cmake
new file mode 100644
index 00000000..2ec91d04
--- /dev/null
+++ b/cmake/modules/FindLCMS2.cmake
@@ -0,0 +1,73 @@
+# - Find LCMS2
+# Find the LCMS2 includes and library
+# This module defines
+# LCMS2_INCLUDE_DIR, where to find lcms.h
+# LCMS2_LIBRARIES, the libraries needed to use LCMS2.
+# LCMS2_VERSION, The value of LCMS_VERSION defined in lcms.h
+# LCMS2_FOUND, If false, do not try to use LCMS2.
+
+
+# Copyright (c) 2008, Adrian Page, <adrian@pagenet.plus.com>
+# Copyright (c) 2009, Cyrille Berger, <cberger@cberger.net>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+
+# use pkg-config to get the directories and then use these values
+# in the FIND_PATH() and FIND_LIBRARY() calls
+if(NOT WIN32)
+ find_package(PkgConfig)
+ pkg_check_modules(PC_LCMS2 lcms2)
+ set(LCMS2_DEFINITIONS ${PC_LCMS2_CFLAGS_OTHER})
+endif(NOT WIN32)
+
+find_path(LCMS2_INCLUDE_DIR lcms2.h
+ PATHS
+ ${PC_LCMS2_INCLUDEDIR}
+ ${PC_LCMS2_INCLUDE_DIRS}
+ PATH_SUFFIXES lcms2 liblcms2
+)
+
+find_library(LCMS2_LIBRARIES NAMES lcms2 liblcms2 lcms-2 liblcms-2
+ PATHS
+ ${PC_LCMS2_LIBDIR}
+ ${PC_LCMS2_LIBRARY_DIRS}
+ PATH_SUFFIXES lcms2
+)
+
+if(LCMS2_INCLUDE_DIR AND LCMS2_LIBRARIES)
+ set(LCMS2_FOUND TRUE)
+else(LCMS2_INCLUDE_DIR AND LCMS2_LIBRARIES)
+ set(LCMS2_FOUND FALSE)
+endif(LCMS2_INCLUDE_DIR AND LCMS2_LIBRARIES)
+
+if(LCMS2_FOUND)
+ file(READ ${LCMS2_INCLUDE_DIR}/lcms2.h LCMS2_VERSION_CONTENT)
+ string(REGEX MATCH "#define LCMS_VERSION[ ]*[0-9]*\n" LCMS2_VERSION_MATCH ${LCMS2_VERSION_CONTENT})
+ if(LCMS2_VERSION_MATCH)
+ string(REGEX REPLACE "#define LCMS_VERSION[ ]*([0-9]*)\n" "\\1" LCMS2_VERSION ${LCMS2_VERSION_MATCH})
+ if(NOT LCMS2_FIND_QUIETLY)
+ string(SUBSTRING ${LCMS2_VERSION} 0 1 LCMS2_MAJOR_VERSION)
+ string(SUBSTRING ${LCMS2_VERSION} 1 2 LCMS2_MINOR_VERSION)
+ message(STATUS "Found lcms version ${LCMS2_MAJOR_VERSION}.${LCMS2_MINOR_VERSION}, ${LCMS2_LIBRARIES}")
+ endif(NOT LCMS2_FIND_QUIETLY)
+ else(LCMS2_VERSION_MATCH)
+ if(NOT LCMS2_FIND_QUIETLY)
+ message(STATUS "Found lcms2 but failed to find version ${LCMS2_LIBRARIES}")
+ endif(NOT LCMS2_FIND_QUIETLY)
+ set(LCMS2_VERSION NOTFOUND)
+ endif(LCMS2_VERSION_MATCH)
+else(LCMS2_FOUND)
+ if(NOT LCMS2_FIND_QUIETLY)
+ if(LCMS2_FIND_REQUIRED)
+ message(FATAL_ERROR "Required package lcms2 NOT found")
+ else(LCMS2_FIND_REQUIRED)
+ message(STATUS "lcms2 NOT found")
+ endif(LCMS2_FIND_REQUIRED)
+ endif(NOT LCMS2_FIND_QUIETLY)
+endif(LCMS2_FOUND)
+
+mark_as_advanced(LCMS2_INCLUDE_DIR LCMS2_LIBRARIES LCMS2_VERSION)
+
+