mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 01:59:02 +00:00
cmake: Use provided gmo-files if platform lacks python or gettext tools.
Running lyx from the build-directory now searches for the gmo-files first in the build dir and then in source dir
This commit is contained in:
parent
c3796d8b88
commit
22d52f5f08
@ -510,11 +510,18 @@ endif()
|
|||||||
|
|
||||||
if(LYX_NLS)
|
if(LYX_NLS)
|
||||||
FIND_PROGRAM(LYX_PYTHON_EXECUTABLE python2 python HINTS ${GNUWIN32_DIR}/python)
|
FIND_PROGRAM(LYX_PYTHON_EXECUTABLE python2 python HINTS ${GNUWIN32_DIR}/python)
|
||||||
if(${LYX_PYTHON_EXECUTABLE} MATCHES "-NOTFOUND")
|
find_package(LyXGettext)
|
||||||
message(FATAL_ERROR "Python 2.6 needed!")
|
if(LYX_PYTHON_EXECUTABLE AND GETTEXT_FOUND)
|
||||||
|
add_subdirectory(po "${TOP_BINARY_DIR}/po")
|
||||||
|
else()
|
||||||
|
# Install only supplied .gmo-files
|
||||||
|
file(GLOB _gmofiles RELATIVE "${TOP_SRC_DIR}/po" "${TOP_SRC_DIR}/po/*.gmo")
|
||||||
|
message(STATUS "Installing provided .gmo-files only")
|
||||||
|
foreach( _gmo ${_gmofiles})
|
||||||
|
string(REGEX REPLACE "\\.gmo$" "" _lang ${_gmo})
|
||||||
|
install(FILES "${TOP_SRC_DIR}/po/${_gmo}" DESTINATION ${LYX_DATA_SUBDIR}${LYX_LOCALEDIR}/${_lang}/LC_MESSAGES RENAME ${PACKAGE}.mo)
|
||||||
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
find_package(LyXGettext REQUIRED)
|
|
||||||
add_subdirectory(po "${TOP_BINARY_DIR}/po")
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_package(ICONV REQUIRED)
|
find_package(ICONV REQUIRED)
|
||||||
|
2
po/.gitignore
vendored
2
po/.gitignore
vendored
@ -1,7 +1,7 @@
|
|||||||
POTFILES
|
POTFILES
|
||||||
POTFILES.in
|
POTFILES.in
|
||||||
lyx*.pot
|
lyx*.pot
|
||||||
*.gmo
|
#*.gmo
|
||||||
stamp-po
|
stamp-po
|
||||||
remove-potcdate.sed
|
remove-potcdate.sed
|
||||||
|
|
||||||
|
@ -155,7 +155,7 @@ foreach(_pofile ${LYX_BASE_PO_FILES})
|
|||||||
string(REGEX REPLACE "^(.*)\\.po$" "\\1" _inst_lng ${_pofile})
|
string(REGEX REPLACE "^(.*)\\.po$" "\\1" _inst_lng ${_pofile})
|
||||||
list(FIND CONFIGURED_LANGUAGES ${_inst_lng} _lng_idx)
|
list(FIND CONFIGURED_LANGUAGES ${_inst_lng} _lng_idx)
|
||||||
if(_lng_idx GREATER -1)
|
if(_lng_idx GREATER -1)
|
||||||
list(APPEND INSTALLED_LANGUAGES "${_inst_lng} ")
|
list(APPEND INSTALLED_LANGUAGES ${_inst_lng})
|
||||||
endif()
|
endif()
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_pofile}
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_pofile}
|
||||||
@ -165,6 +165,17 @@ foreach(_pofile ${LYX_BASE_PO_FILES})
|
|||||||
list(APPEND LYX_PO_FILES ${CMAKE_CURRENT_BINARY_DIR}/${_pofile})
|
list(APPEND LYX_PO_FILES ${CMAKE_CURRENT_BINARY_DIR}/${_pofile})
|
||||||
endforeach(_pofile)
|
endforeach(_pofile)
|
||||||
|
|
||||||
|
set(LYX_UPDATED_GMO_FILES)
|
||||||
|
foreach(_gmo_base ${INSTALLED_LANGUAGES})
|
||||||
|
set(_gmo ${_gmo_base}.gmo)
|
||||||
|
add_custom_command(
|
||||||
|
OUTPUT "${LYX_DEST_PO}/${_gmo}"
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_BINARY_DIR}/${_gmo}" "${LYX_DEST_PO}/${_gmo}"
|
||||||
|
DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${_gmo}"
|
||||||
|
)
|
||||||
|
list(APPEND LYX_UPDATED_GMO_FILES "${LYX_DEST_PO}/${_gmo}")
|
||||||
|
endforeach()
|
||||||
|
|
||||||
set(LYX_UPDATED_PO_FILES)
|
set(LYX_UPDATED_PO_FILES)
|
||||||
foreach(_pofile ${LYX_BASE_PO_FILES})
|
foreach(_pofile ${LYX_BASE_PO_FILES})
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
@ -194,7 +205,7 @@ GETTEXT_CREATE_TRANSLATIONS(${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.pot ${_addAL
|
|||||||
|
|
||||||
# Create a new target to remerge po files
|
# Create a new target to remerge po files
|
||||||
# ALL omitted here, to prevent from automatic creation
|
# ALL omitted here, to prevent from automatic creation
|
||||||
ADD_CUSTOM_TARGET(update-po DEPENDS ${LYX_UPDATED_PO_FILES})
|
ADD_CUSTOM_TARGET(update-po DEPENDS ${LYX_UPDATED_PO_FILES} ${LYX_UPDATED_GMO_FILES})
|
||||||
set_target_properties(update-po PROPERTIES FOLDER "i18n")
|
set_target_properties(update-po PROPERTIES FOLDER "i18n")
|
||||||
add_dependencies(update-po translations)
|
add_dependencies(update-po translations)
|
||||||
|
|
||||||
|
@ -168,9 +168,15 @@ void Package::set_temp_dir(FileName const & temp_dir) const
|
|||||||
|
|
||||||
FileName Package::messages_file(string const & c) const
|
FileName Package::messages_file(string const & c) const
|
||||||
{
|
{
|
||||||
if (in_build_dir_)
|
if (in_build_dir_) {
|
||||||
return FileName(top_srcdir().absFileName() + "/po/"
|
FileName res = FileName(lyx_dir().absFileName() + "/po/"
|
||||||
+ c + ".gmo");
|
+ c + ".gmo");
|
||||||
|
if (!res.isReadableFile())
|
||||||
|
res = FileName(top_srcdir().absFileName() + "/po/"
|
||||||
|
+ c + ".gmo");
|
||||||
|
|
||||||
|
return res;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
return FileName(locale_dir_.absFileName() + "/" + c
|
return FileName(locale_dir_.absFileName() + "/" + c
|
||||||
+ "/LC_MESSAGES/" PACKAGE ".mo");
|
+ "/LC_MESSAGES/" PACKAGE ".mo");
|
||||||
|
Loading…
Reference in New Issue
Block a user