cmake: use external libintl on windows

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24338 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Peter Kümmel 2008-04-19 08:47:33 +00:00
parent 8c3e90ef67
commit 1500d274b4
5 changed files with 63 additions and 4 deletions

View File

@ -116,12 +116,20 @@ find_package(ZLIB REQUIRED)
if(all OR aspell)
set(aspell TRUE CACHE TYPE STRING)
find_package(ASPELL REQUIRED)
find_package(ASPELL REQUIRED)
else()
find_package(ASPELL)
endif()
set(aspell)
if(WIN32)
set(use_external_libintl TRUE)
endif()
if(use_external_libintl)
find_package(Libintl REQUIRED)
endif()
message("")
if(nls OR all)
set(nls TRUE CACHE TYPE STRING)
@ -304,7 +312,9 @@ include_directories(
${TOP_SRC_DIR}/boost)
add_subdirectory(boost)
add_subdirectory(intl)
if(NOT use_external_libintl)
add_subdirectory(intl)
endif()
add_subdirectory(src)
include(../Install)

View File

@ -74,6 +74,7 @@ if(ICONV_FOUND)
endif()
add_library(intl STATIC ${intl_sources} ${intl_headers})
set(LIBINTL_LIBRARIES intl)
if(ICONV_FOUND)
target_link_libraries(intl ${ICONV_LIBRARY})

View File

@ -0,0 +1,46 @@
# 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, <caslav.ilic@gmx.net>
# Copyright (c) 2007, Alexander Neundorf, <neundorf@kde.org>
#
# 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)

View File

@ -64,7 +64,8 @@ target_link_libraries(lyx
frontend_qt4
graphics
support
intl
${LIBINTL_LIBRARIES}
${ICONV_LIBRARY}
${QT_QTMAIN_LIBRARY}
${vld_dll})

View File

@ -59,7 +59,8 @@ target_link_libraries(tex2lyx
support
boost_regex
${QT_QTCORE_LIBRARY}
intl)
${LIBINTL_LIBRARIES}
${ICONV_LIBRARY})
if(WIN32)
target_link_libraries(tex2lyx shlwapi)