freebsd-ports/games/sumwars/files/patch-FindGettext.cmake
Pawel Pekala 924f605261 Summoning Wars is an open source role-playing game,
featuring both a single-player and a multiplayer mode
for about 2 to 8 players.

WWW: http://sumwars.org

PR:		ports/162687
Submitted by:	Stas Timokhin <devel@stasyan.com>
2011-12-15 22:50:58 +00:00

185 lines
7.3 KiB
CMake

--- CMakeModules/FindGettext.cmake.orig 1970-01-01 07:00:00.000000000 +0700
+++ CMakeModules/FindGettext.cmake 2010-08-12 23:36:21.000000000 +0700
@@ -0,0 +1,182 @@
+# - Find Gettext run-time library and tools.
+# This module finds the GNU gettext run-time library (LGPL), include paths and
+# associated tools (GPL). This code sets the following variables:
+# GETTEXT_INCLUDE_DIR = path(s) to gettext's include files
+# GETTEXT_LIBRARIES = the libraries to link against to use gettext
+# GETTEXT_INTL_LIBRARY = path to gettext's intl library
+# GETTEXT_RUNTIME_FOUND = true if runtime libs were found (intl)
+# GETTEXT_INFO_MSG = information string about gettext
+# GETTEXT_XGETTEXT_EXECUTABLE = xgettext tool
+# GETTEXT_MSGINIT_EXECUTABLE = msginit tool
+# GETTEXT_MSGMERGE_EXECUTABLE = msgmerge tool
+# GETTEXT_MSGCAT_EXECUTABLE = msgcat tool
+# GETTEXT_MSGCONV_EXECUTABLE = msgconv tool
+# GETTEXT_MSGFMT_EXECUTABLE = msgfmt tool
+# GETTEXT_TOOLS_FOUND = true if all the tools were found
+# GETTEXT_FOUND = true if both runtime and tools were found
+# As a convenience, the following variables can be set before including
+# this module to make its life easier:
+# GETTEXT_SEARCH_PATH = list of path to search gettext components for
+# --------------------------------------------------------------------------
+# As a convenience, try to find everything as soon as we set any one of
+# the cache variables.
+
+macro(GETTEXT_FIND_POTENTIAL_DIRS)
+
+ set(potential_bin_dirs)
+ set(potential_lib_dirs)
+ set(potential_include_dirs)
+ foreach(filepath
+ "${GETTEXT_INTL_LIBRARY}"
+ "${GETTEXT_XGETTEXT_EXECUTABLE}"
+ "${GETTEXT_MSGINIT_EXECUTABLE}"
+ "${GETTEXT_MSGMERGE_EXECUTABLE}"
+ "${GETTEXT_MSGCAT_EXECUTABLE}"
+ "${GETTEXT_MSGCONV_EXECUTABLE}"
+ "${GETTEXT_MSGFMT_EXECUTABLE}"
+ )
+ get_filename_component(path "${filepath}" PATH)
+ set(potential_bin_dirs ${potential_bin_dirs} "${path}/../bin")
+ set(potential_lib_dirs ${potential_lib_dirs} "${path}/../lib")
+ set(potential_include_dirs ${potential_include_dirs} "${path}/../include")
+ endforeach(filepath)
+
+ foreach(path
+ "${GETTEXT_INCLUDE_DIR}"
+ "${GETTEXT_SEARCH_PATH}"
+ )
+ set(potential_bin_dirs ${potential_bin_dirs} "${path}/../bin")
+ set(potential_lib_dirs ${potential_lib_dirs} "${path}/../lib")
+ set(potential_include_dirs ${potential_include_dirs} "${path}/../include")
+ endforeach(path)
+
+endmacro(GETTEXT_FIND_POTENTIAL_DIRS)
+
+# --------------------------------------------------------------------------
+# Find the runtime lib
+
+macro(GETTEXT_FIND_RUNTIME_LIBRARY)
+
+ set(GETTEXT_RUNTIME_FOUND 1)
+
+ # The gettext intl include dir (libintl.h)
+
+ find_path(GETTEXT_INCLUDE_DIR
+ libintl.h
+ ${potential_include_dirs}
+ DOC "Path to gettext include directory (where libintl.h can be found)")
+ mark_as_advanced(GETTEXT_INCLUDE_DIR)
+ if(NOT GETTEXT_INCLUDE_DIR)
+ set(GETTEXT_RUNTIME_FOUND 0)
+ endif(NOT GETTEXT_INCLUDE_DIR)
+
+ set(GETTEXT_LIBRARIES)
+
+ # The gettext intl library
+ # Some Unix system (like Linux) have gettext right into libc
+
+ if(WIN32)
+ set(HAVE_GETTEXT 0)
+ else(WIN32)
+ include(CheckFunctionExists)
+ check_function_exists(gettext HAVE_GETTEXT)
+ endif(WIN32)
+
+ if(HAVE_GETTEXT)
+ # Even if we have a system one, let the user provide another one
+ # eventually (i.e., more recent, or GNU).
+ set(GETTEXT_INTL_LIBRARY "" CACHE FILEPATH
+ "Path to gettext intl library (leave it empty to use the system one)")
+ else(HAVE_GETTEXT)
+ find_library(GETTEXT_INTL_LIBRARY
+ NAMES intl
+ PATHS ${potential_lib_dirs}
+ DOC "Path to gettext intl library")
+ if(NOT GETTEXT_INTL_LIBRARY)
+ set(GETTEXT_RUNTIME_FOUND 0)
+ endif(NOT GETTEXT_INTL_LIBRARY)
+ endif(HAVE_GETTEXT)
+
+ mark_as_advanced(GETTEXT_INTL_LIBRARY)
+ if(GETTEXT_INTL_LIBRARY)
+ set(GETTEXT_LIBRARIES ${GETTEXT_LIBRARIES} ${GETTEXT_INTL_LIBRARY})
+ endif(GETTEXT_INTL_LIBRARY)
+
+ # The gettext asprintf library
+ # Actually not useful as it does not seem to exist on Unix
+
+ # IF(WIN32)
+ # FIND_LIBRARY(GETTEXT_ASPRINTF_LIBRARY
+ # NAMES asprintf
+ # PATHS ${potential_lib_dirs}
+ # DOC "Gettext asprintf library")
+ # MARK_AS_ADVANCED(GETTEXT_ASPRINTF_LIBRARY)
+ # IF(NOT GETTEXT_ASPRINTF_LIBRARY)
+ # SET(GETTEXT_RUNTIME_FOUND 0)
+ # ELSE(NOT GETTEXT_ASPRINTF_LIBRARY)
+ # SET(GETTEXT_LIBRARIES ${GETTEXT_LIBRARIES} ${GETTEXT_ASPRINTF_LIBRARY})
+ # ENDIF(NOT GETTEXT_ASPRINTF_LIBRARY)
+ # ENDIF(WIN32)
+
+endmacro(GETTEXT_FIND_RUNTIME_LIBRARY)
+
+# --------------------------------------------------------------------------
+# Find the tools
+
+macro(GETTEXT_FIND_TOOLS)
+ set(GETTEXT_TOOLS_FOUND 1)
+ foreach(tool
+ xgettext
+ msginit
+ msgmerge
+ msgcat
+ msgconv
+ msgfmt
+ )
+ string(TOUPPER ${tool} tool_upper)
+ find_program(GETTEXT_${tool_upper}_EXECUTABLE
+ NAMES ${tool}
+ PATHS ${potential_bin_dirs}
+ DOC "Path to gettext ${tool} tool")
+ mark_as_advanced(GETTEXT_${tool_upper}_EXECUTABLE)
+ if(NOT GETTEXT_${tool_upper}_EXECUTABLE)
+ set(GETTEXT_TOOLS_FOUND 0)
+ endif(NOT GETTEXT_${tool_upper}_EXECUTABLE)
+ endforeach(tool)
+endmacro(GETTEXT_FIND_TOOLS)
+
+# --------------------------------------------------------------------------
+# Some convenient info about gettext, where to get it, etc.
+
+set(GETTEXT_INFO_MSG "More information about gettext can be found at http://directory.fsf.org/gettext.html.")
+if(WIN32)
+ set(GETTEXT_INFO_MSG "${GETTEXT_INFO_MSG} Windows users can download gettext-runtime-0.13.1.bin.woe32.zip (LGPL), gettext-tools-0.13.1.bin.woe32.zip (GPL) as well as libiconv-1.9.1.bin.woe32.zip (LGPL) from any GNU mirror (say, http://mirrors.kernel.org/gnu/gettext/ and http://mirrors.kernel.org/gnu/libiconv/), unpack the archives in the same directory, then set GETTEXT_INTL_LIBRARY to 'lib/intl.lib' in and GETTEXT_INCLUDE_DIR to 'include' in that directory.\n\nWarning: if you are using ActiveTcl, the ActiveState binary distribution for Tcl, make sure you overwrite the iconv.dll file found in both the Tcl bin/ and lib/ directories with the iconv.dll file found in your gettext bin/ directory.")
+endif(WIN32)
+
+# --------------------------------------------------------------------------
+# Found ?
+
+gettext_find_potential_dirs()
+gettext_find_runtime_library()
+gettext_find_tools()
+
+# Try again with new potential dirs now that we may have found the runtime
+# or the tools
+
+gettext_find_potential_dirs()
+if(NOT GETTEXT_RUNTIME_FOUND)
+ gettext_find_runtime_library()
+endif(NOT GETTEXT_RUNTIME_FOUND)
+if(NOT GETTEXT_TOOLS_FOUND)
+ gettext_find_tools()
+endif(NOT GETTEXT_TOOLS_FOUND)
+
+if(GETTEXT_RUNTIME_FOUND AND GETTEXT_TOOLS_FOUND)
+ set(GETTEXT_FOUND 1)
+else(GETTEXT_RUNTIME_FOUND AND GETTEXT_TOOLS_FOUND)
+ set(GETTEXT_FOUND 0)
+endif(GETTEXT_RUNTIME_FOUND AND GETTEXT_TOOLS_FOUND)
+
+if(NOT GETTEXT_FOUND AND NOT Gettext_FIND_QUIETLY AND Gettext_FIND_REQUIRED)
+ message(FATAL_ERROR "Could not find gettext runtime library and tools for internationalization purposes.\n\n${GETTEXT_INFO_MSG}")
+endif(NOT GETTEXT_FOUND AND NOT Gettext_FIND_QUIETLY AND Gettext_FIND_REQUIRED)