summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2014-11-13 15:08:34 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2014-11-13 15:08:34 (GMT)
commit307570aee1fec8c7b3374571eb7b4de9d2be11b3 (patch)
treedf37ec6b50d4b8aadf81f6b25e1aaf9e1ce7d595
parentcddb5002b5c28c0cc5fe9c1e41a5e0f556b3e3a8 (diff)
parentc5e797dbb8b2b507431c665e924a41ed0def879e (diff)
downloadCMake-307570aee1fec8c7b3374571eb7b4de9d2be11b3.zip
CMake-307570aee1fec8c7b3374571eb7b4de9d2be11b3.tar.gz
CMake-307570aee1fec8c7b3374571eb7b4de9d2be11b3.tar.bz2
Merge topic 'add-FindIntl'
c5e797db FindIntl: New module to find Gettext libintl
-rw-r--r--Help/manual/cmake-modules.7.rst1
-rw-r--r--Help/module/FindIntl.rst1
-rw-r--r--Modules/FindGettext.cmake3
-rw-r--r--Modules/FindIntl.cmake69
4 files changed, 74 insertions, 0 deletions
diff --git a/Help/manual/cmake-modules.7.rst b/Help/manual/cmake-modules.7.rst
index f5a35b3..083ed7a 100644
--- a/Help/manual/cmake-modules.7.rst
+++ b/Help/manual/cmake-modules.7.rst
@@ -118,6 +118,7 @@ All Modules
/module/FindIce
/module/FindIcotool
/module/FindImageMagick
+ /module/FindIntl
/module/FindITK
/module/FindJasper
/module/FindJava
diff --git a/Help/module/FindIntl.rst b/Help/module/FindIntl.rst
new file mode 100644
index 0000000..813e2df
--- /dev/null
+++ b/Help/module/FindIntl.rst
@@ -0,0 +1 @@
+.. cmake-module:: ../../Modules/FindIntl.cmake
diff --git a/Modules/FindGettext.cmake b/Modules/FindGettext.cmake
index f972ad0..ac53c3f 100644
--- a/Modules/FindGettext.cmake
+++ b/Modules/FindGettext.cmake
@@ -50,6 +50,9 @@
# (by default use share/locale/).
# If ALL is specified, the po files are processed when building the all traget.
# It creates a custom target "pofiles".
+#
+# .. note::
+# If you wish to use the Gettext library (libintl), use :module:`FindIntl`.
#=============================================================================
# Copyright 2007-2009 Kitware, Inc.
diff --git a/Modules/FindIntl.cmake b/Modules/FindIntl.cmake
new file mode 100644
index 0000000..cd2ec63
--- /dev/null
+++ b/Modules/FindIntl.cmake
@@ -0,0 +1,69 @@
+#.rst:
+# FindIntl
+# --------
+#
+# Find the Gettext libintl headers and libraries.
+#
+# This module reports information about the Gettext libintl
+# installation in several variables. General variables::
+#
+# Intl_FOUND - true if the libintl headers and libraries were found
+# Intl_INCLUDE_DIRS - the directory containing the libintl headers
+# Intl_LIBRARIES - libintl libraries to be linked
+#
+# The following cache variables may also be set::
+#
+# Intl_INCLUDE_DIR - the directory containing the libintl headers
+# Intl_LIBRARY - the libintl library (if any)
+#
+# .. note::
+# On some platforms, such as Linux with GNU libc, the gettext
+# functions are present in the C standard library and libintl
+# is not required. ``Intl_LIBRARIES`` will be empty in this
+# case.
+#
+# .. note::
+# If you wish to use the Gettext tools (``msgmerge``,
+# ``msgfmt``, etc.), use :module:`FindGettext`.
+
+
+# Written by Roger Leigh <rleigh@codelibre.net>
+
+#=============================================================================
+# Copyright 2014 Roger Leigh <rleigh@codelibre.net>
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+# License text for the above reference.)
+
+# Find include directory
+find_path(Intl_INCLUDE_DIR
+ NAMES "libintl.h"
+ DOC "libintl include directory")
+mark_as_advanced(Intl_INCLUDE_DIR)
+
+# Find all Intl libraries
+find_library(Intl_LIBRARY "intl"
+ DOC "libintl libraries (if not in the C library)")
+mark_as_advanced(Intl_LIBRARY)
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Intl
+ FOUND_VAR Intl_FOUND
+ REQUIRED_VARS Intl_INCLUDE_DIR
+ FAIL_MESSAGE "Failed to find Gettext libintl")
+
+if(Intl_FOUND)
+ set(Intl_INCLUDE_DIRS "${Intl_INCLUDE_DIR}")
+ if(Intl_LIBRARY)
+ set(Intl_LIBRARIES "${Intl_LIBRARY}")
+ else()
+ unset(Intl_LIBRARIES)
+ endif()
+endif()