On Friday 18 of May 2012 01:56:03 Maciej Mrozowski wrote:
> Hello,
> 
> When both libcms1 and libcms2 are present, liblcms2 is automatically
> selected with no way to override the choice. Patch adds the choice by the
> means of ENABLE_LCMS2 option.

Also updated configure.ac:
--enable-cms=[auto/lcms1/lcms2] with similar behaviour.

-- 
regards
MM
From 3b57a9508e5aa8b5f803b393f66e01f6a78fea98 Mon Sep 17 00:00:00 2001
From: Maciej Mrozowski <[email protected]>
Date: Fri, 18 May 2012 01:47:55 +0200
Subject: [PATCH] [Buildsystem] CMake: Provide ENABLE_LCMS2 option to distinguish between available liblcms implementations when both are present during configure phase. Autotools: --enable-cms=[auto/lcms1/lcms2]. 'auto' (default) also prefers lcms2.

---
 CMakeLists.txt |   17 ++++++++---------
 configure.ac   |   31 +++++++++++++++----------------
 2 files changed, 23 insertions(+), 25 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9f4830b..e9246b1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -29,6 +29,7 @@ option(ENABLE_UTILS "Compile poppler command line utils." ON)
 option(ENABLE_CPP "Compile poppler cpp wrapper." ON)
 option(ENABLE_LIBOPENJPEG "Use libopenjpeg for JPX streams." ON)
 option(ENABLE_LCMS "Use liblcms for color management." ON)
+option(ENABLE_LCMS2 "Use liblcms2 for color management." ON)
 option(ENABLE_LIBCURL "Build libcurl based HTTP support." OFF)
 option(ENABLE_ZLIB "Build with zlib (not totally safe)." OFF)
 option(USE_FIXEDPOINT "Use fixed point arithmetic in the Splash backend" OFF)
@@ -136,16 +137,14 @@ if(ENABLE_LIBOPENJPEG)
   set(ENABLE_LIBOPENJPEG ${LIBOPENJPEG_FOUND})
   set(HAVE_OPENJPEG_H ON)
 endif(ENABLE_LIBOPENJPEG)
-if(ENABLE_LCMS)
+if(ENABLE_LCMS2)
   find_package(LCMS2)
-  if(LCMS2_FOUND)
-    set(USE_CMS ${LCMS2_FOUND})
-  else(LCMS2_FOUND)
-    find_package(LCMS)
-    set(USE_CMS ${LCMS_FOUND})
-    set(USE_LCMS1 ${LCMS_FOUND})
-  endif(LCMS2_FOUND)
-endif(ENABLE_LCMS)
+  set(USE_CMS ${LCMS2_FOUND})
+elseif(ENABLE_LCMS)
+  find_package(LCMS)
+  set(USE_CMS ${LCMS_FOUND})
+  set(USE_LCMS1 ${LCMS_FOUND})
+endif(ENABLE_LCMS2)
 if(ENABLE_LIBCURL)
   find_package(CURL)
   include_directories(${CURL_INCLUDE_DIR})
diff --git a/configure.ac b/configure.ac
index f9919d9..cbf217d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -660,7 +660,7 @@ AC_ARG_ENABLE(utils,
 AM_CONDITIONAL(BUILD_UTILS, test x$enable_utils = xyes)
 
 AC_ARG_ENABLE(compile-warnings,
-              AC_HELP_STRING([--enable-compile-warnings=@<:@no/yes/kde@:>@]
+              AC_HELP_STRING([--enable-compile-warnings=@<:@no/yes/kde@:>@],
                              [Turn on compiler warnings.]),,
               [enable_compile_warnings="yes"])
 
@@ -669,31 +669,30 @@ dnl   Color Management
 dnl
 
 AC_ARG_ENABLE(cms,
-	      AC_HELP_STRING([--disable-cms],
-	                     [Don't use color management system.]),
-              enable_cms=$enableval,
-              enable_cms="try")
-if test x$enable_cms = xyes; then
+              AC_HELP_STRING([--enable-cms=@<:@auto/lcms1/lcms2@:>@],
+                             [Use color management system. 'auto' prefers lcms2 over lcms1 if both are available [[default=auto]]]),
+              [enable_cms=$enableval],
+              [enable_cms="auto"])
+if test x$enable_cms = xauto; then
   PKG_CHECK_MODULES(LCMS, lcms2, [lcms2=yes], [lcms2=no])
   if test x$lcms2 = xno; then
-      PKG_CHECK_MODULES(LCMS, lcms)
-  fi
-elif test x$enable_cms = xtry; then
-  PKG_CHECK_MODULES(LCMS, lcms2,[lcms2=yes],[lcms2=no])
-  if test x$lcms2 = xyes; then
-    enable_cms=yes
-  else
-      PKG_CHECK_MODULES(LCMS, lcms,[enable_cms=yes],[enable_cms=no])
+      PKG_CHECK_MODULES(LCMS, lcms, [lcms1=yes], [lcms1=no])
   fi
+elif test x$enable_cms = xlcms1; then
+  PKG_CHECK_MODULES(LCMS, lcms, [lcms1=yes], [lcms1=no])
+elif test x$enable_cms = xlcms2; then
+  PKG_CHECK_MODULES(LCMS, lcms2, [lcms2=yes], [lcms2=no])
 fi
 
-if test "x$enable_cms" = "xyes"; then
+if test x$lcms1 = xyes || test x$lcms2 = xyes; then
+  enable_cms=yes
   AC_DEFINE(USE_CMS, 1, [Defines if use cms])
-  if test "x$lcms2" != "xyes"; then
+  if test x$lcms1 = xyes; then
     lcms1=yes;
     AC_DEFINE(USE_LCMS1, 1, [Defines if use lcms1])
   fi
 fi
+
 AM_CONDITIONAL(USE_CMS, test x$enable_cms = xyes)
 AM_CONDITIONAL(USE_LCMS1, test x$lcms1 = xyes)
 
-- 
1.7.3.4

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
poppler mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/poppler

Reply via email to