From 438d977e409ca5d2c125088138db2f7721b486fa Mon Sep 17 00:00:00 2001 From: Julien Schueller Date: Tue, 30 Apr 2013 10:51:22 +0200 Subject: [PATCH] Added detection of libintl. --- cmake/FindLibintl.cmake | 47 ++++++++++++++++++++++++++++++++++++++++++++ ftdi_eeprom/CMakeLists.txt | 7 +++-- 2 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 cmake/FindLibintl.cmake diff --git a/cmake/FindLibintl.cmake b/cmake/FindLibintl.cmake new file mode 100644 index 0000000..65ed91c --- /dev/null +++ b/cmake/FindLibintl.cmake @@ -0,0 +1,47 @@ +# Try to find Libintl functionality +# Once done this will define +# +# LIBINTL_FOUND - system has Libintl +# LIBINTL_INCLUDE_DIR - Libintl include directory +# LIBINTL_LIBRARIES - Libraries needed to use Libintl +# +# TODO: This will enable translations only if Gettext functionality is +# present in libc. Must have more robust system for release, where Gettext +# functionality can also reside in standalone Gettext library, or the one +# embedded within kdelibs (cf. gettext.m4 from Gettext source). + +# Copyright (c) 2006, Chusslove Illich, +# Copyright (c) 2007, Alexander Neundorf, +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +if(LIBINTL_INCLUDE_DIR AND LIBINTL_LIB_FOUND) + set(Libintl_FIND_QUIETLY TRUE) +endif(LIBINTL_INCLUDE_DIR AND LIBINTL_LIB_FOUND) + +find_path(LIBINTL_INCLUDE_DIR libintl.h) + +set(LIBINTL_LIB_FOUND FALSE) + +if(LIBINTL_INCLUDE_DIR) + include(CheckFunctionExists) + check_function_exists(dgettext LIBINTL_LIBC_HAS_DGETTEXT) + + if (LIBINTL_LIBC_HAS_DGETTEXT) + set(LIBINTL_LIBRARIES) + set(LIBINTL_LIB_FOUND TRUE) + else (LIBINTL_LIBC_HAS_DGETTEXT) + find_library(LIBINTL_LIBRARIES NAMES intl libintl ) + if(LIBINTL_LIBRARIES) + set(LIBINTL_LIB_FOUND TRUE) + endif(LIBINTL_LIBRARIES) + endif (LIBINTL_LIBC_HAS_DGETTEXT) + +endif(LIBINTL_INCLUDE_DIR) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Libintl DEFAULT_MSG LIBINTL_INCLUDE_DIR LIBINTL_LIB_FOUND) + +mark_as_advanced(LIBINTL_INCLUDE_DIR LIBINTL_LIBRARIES LIBINTL_LIBC_HAS_DGETTEXT LIBINTL_LIB_FOUND) + diff --git a/ftdi_eeprom/CMakeLists.txt b/ftdi_eeprom/CMakeLists.txt index 573b8ec..816e937 100644 --- a/ftdi_eeprom/CMakeLists.txt +++ b/ftdi_eeprom/CMakeLists.txt @@ -3,6 +3,7 @@ option(FTDI_EEPROM "Build ftdi_eeprom" ON) if ( FTDI_EEPROM ) find_package ( Confuse ) + find_package ( Libintl ) else(FTDI_EEPROM) message(STATUS "ftdi_eeprom build is disabled") endif () @@ -11,7 +12,7 @@ endif () if ( CONFUSE_FOUND ) message(STATUS "Building ftdi_eeprom") - include_directories ( ${CONFUSE_INCLUDE_DIRS} ) + include_directories ( ${CONFUSE_INCLUDE_DIRS} ${LIBINTL_INCLUDE_DIR} ) list ( APPEND libs ${CONFUSE_LIBRARIES} ) @@ -30,8 +31,8 @@ if ( CONFUSE_FOUND ) add_executable ( ftdi_eeprom main.c ) target_link_libraries ( ftdi_eeprom ftdi1 ) - target_link_libraries ( ftdi_eeprom ${CONFUSE_LIBRARIES} ) - + target_link_libraries ( ftdi_eeprom ${CONFUSE_LIBRARIES} ${LIBINTL_LIBRARIES} ) + install ( TARGETS ftdi_eeprom DESTINATION bin ) else () message ( STATUS "libConfuse not found, won't build ftdi_eeprom" ) -- 1.7.1