diff options
| author | John Szakmeister <john@szakmeister.net> | 2014-02-24 22:22:56 -0500 |
|---|---|---|
| committer | ashleyh <gh@ashleyh.eu> | 2014-02-27 19:11:48 +0000 |
| commit | 95db76e28091b62645014d64f1b555c83d54ad4b (patch) | |
| tree | 635e0a09fd5a8692ee1573015e56b0a42dd40964 /config | |
| parent | e728ce95ef2631a662940757ef11544881b895a2 (diff) | |
| download | rneovim-95db76e28091b62645014d64f1b555c83d54ad4b.tar.gz rneovim-95db76e28091b62645014d64f1b555c83d54ad4b.tar.bz2 rneovim-95db76e28091b62645014d64f1b555c83d54ad4b.zip | |
Improve libintl detection and linking.
This makes it so that a self-installed libintl is now detected and used.
It also attempts to locate a homebrew version of the library, if that
exists.
Diffstat (limited to 'config')
| -rw-r--r-- | config/CMakeLists.txt | 35 |
1 files changed, 26 insertions, 9 deletions
diff --git a/config/CMakeLists.txt b/config/CMakeLists.txt index c7cf555830..e515b5a431 100644 --- a/config/CMakeLists.txt +++ b/config/CMakeLists.txt @@ -7,14 +7,31 @@ check_type_size("time_t" SIZEOF_TIME_T) check_type_size("off_t" SIZEOF_OFF_T) if (CMAKE_HOST_APPLE) - execute_process(COMMAND brew --prefix gettext - OUTPUT_VARIABLE _TMP_HOMEBREW_GETTEXT_PREFIX - OUTPUT_STRIP_TRAILING_WHITESPACE) - set(HOMEBREW_GETTEXT_PREFIX ${_TMP_HOMEBREW_GETTEXT_PREFIX} - CACHE PATH "homebrew gettext directory (${_TMP_HOMEBREW_GETTEXT_PREFIX})") - set(CMAKE_REQUIRED_LIBRARIES intl) - set(CMAKE_REQUIRED_INCLUDES "${HOMEBREW_GETTEXT_PREFIX}/include") - set(CMAKE_REQUIRED_FLAGS "-L${HOMEBREW_GETTEXT_PREFIX}/lib") + find_program(HAVE_HOMEBREW brew) + if (HAVE_HOMEBREW) + execute_process(COMMAND brew --prefix gettext + OUTPUT_VARIABLE _TMP_HOMEBREW_GETTEXT_PREFIX + OUTPUT_STRIP_TRAILING_WHITESPACE) + set(HOMEBREW_GETTEXT_PREFIX ${_TMP_HOMEBREW_GETTEXT_PREFIX} + CACHE + PATH "homebrew gettext directory (${_TMP_HOMEBREW_GETTEXT_PREFIX})") + list(APPEND CMAKE_PREFIX_PATH "${HOMEBREW_GETTEXT_PREFIX}") + endif() +endif() + +find_path(LIBINTL_INCLUDE_DIR libintl.h) +find_library(LIBINTL_LIB intl) +get_filename_component(LIBINTL_LIB_DIR "${LIBINTL_LIB}" NAME) + +if (LIBINTL_INCLUDE_DIR) + set(CMAKE_REQUIRED_INCLUDES "${LIBINTL_INCLUDE_DIR}") +endif() + +# This is required because some operating systems don't have a separate +# libintl--it is built into glibc. So we only need to specify the library if +# one was actually found. +if (LIBINTL_LIB) + set(CMAKE_REQUIRED_LIBRARIES "${LIBINTL_LIB}") endif() check_c_source_compiles(" @@ -25,7 +42,7 @@ int main(int argc, char** argv) { bindtextdomain(\"foo\", \"bar\"); bind_textdomain_codeset(\"foo\", \"bar\"); textdomain(\"foo\"); -}" HAVE_WORKING_LIBINTL) +}" HAVE_LIBINTL) # generate configuration header and update include directories configure_file ( |