Bring back LOCALEDIR

* The current infrastructure relies on `LOCALEDIR`
  in places beyond CMake, hence we need to keep
  it for the time being.

Fixes #2211
This commit is contained in:
David Seifert 2017-11-18 16:10:56 +01:00 committed by Gregory A Lundberg
parent d8efb9a2bf
commit 0f2b585fc5
2 changed files with 21 additions and 19 deletions

View file

@ -28,6 +28,7 @@ include(GNUInstallDirs)
#Path options
set(DATADIRNAME "wesnoth" CACHE STRING "change the name of the directory for the read-only architecture-independent game data")
set(EXECUTABLE_OUTPUT_PATH "${CMAKE_BINARY_DIR}" CACHE STRING "change the dir where binaries are placed right at compile time")
set(LOCALEDIR "translations" CACHE STRING "change the name of the locale data directory to a non-default name")
set(PREFERENCES_DIR "" CACHE STRING "Use a non-default preferences directory (.wesnoth on unix)")
set(DEFAULT_PREFS_FILE "" CACHE STRING "Set system wide preferences file")
@ -483,6 +484,8 @@ if(X11_FOUND)
add_definitions(-D_X11)
endif(X11_FOUND)
add_definitions(-DLOCALEDIR="${LOCALEDIR}")
# -NDEBUG is automatically added to all release build types, so manually remove
# this define from the related variables
MESSAGE ("removing NDEBUG flag from CMAKE_CXX_FLAGS_RELWITHDEBINFO")
@ -659,16 +662,15 @@ endif()
# End setting options for Profile build
# #
# On Windows the path used is always relative.
if(WIN32)
add_definitions(-DHAS_RELATIVE_LOCALEDIR=1)
file(RELATIVE_PATH LOCALEDIR "${CMAKE_INSTALL_FULL_BINDIR}" "${CMAKE_INSTALL_FULL_LOCALEDIR}")
else(WIN32)
# When the path starts with a / on a Unix system it's an absolute path.
# This means that on Windows the path used is always relative.
if(IS_ABSOLUTE "${LOCALEDIR}")
add_definitions(-DHAS_RELATIVE_LOCALEDIR=0)
set(LOCALEDIR "${CMAKE_INSTALL_FULL_LOCALEDIR}")
endif(WIN32)
add_definitions(-DLOCALEDIR="${LOCALEDIR}")
set(LOCALE_INSTALL ${LOCALEDIR})
else()
add_definitions(-DHAS_RELATIVE_LOCALEDIR=1)
set(LOCALE_INSTALL ${CMAKE_INSTALL_DATADIR}/${DATADIRNAME}/${LOCALEDIR})
endif()
add_definitions(-DFIFODIR="${FIFO_DIR}")

View file

@ -229,32 +229,32 @@ if(ENABLE_NLS)
foreach(DOMAIN ${DOMAINS})
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${LINGUA}/LC_MESSAGES
OUTPUT ${CMAKE_SOURCE_DIR}/${LOCALEDIR}/${LINGUA}/LC_MESSAGES
COMMAND ${CMAKE_COMMAND} -E make_directory
${CMAKE_CURRENT_BINARY_DIR}/${LINGUA}/LC_MESSAGES
${CMAKE_SOURCE_DIR}/${LOCALEDIR}/${LINGUA}/LC_MESSAGES
COMMENT "mo-update [${LINGUA}]: Creating locale directory."
)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${LINGUA}/LC_MESSAGES/${DOMAIN}.mo
OUTPUT ${CMAKE_SOURCE_DIR}/${LOCALEDIR}/${LINGUA}/LC_MESSAGES/${DOMAIN}.mo
COMMAND ${GETTEXT_MSGFMT_EXECUTABLE}
${GETTEXT_MSGFMT_PARAMETER}
-o ${CMAKE_CURRENT_BINARY_DIR}/${LINGUA}/LC_MESSAGES/${DOMAIN}.mo ${LINGUA}.po
-o ${CMAKE_SOURCE_DIR}/${LOCALEDIR}/${LINGUA}/LC_MESSAGES/${DOMAIN}.mo ${LINGUA}.po
DEPENDS
${CMAKE_CURRENT_BINARY_DIR}/${LINGUA}/LC_MESSAGES
${CMAKE_SOURCE_DIR}/${LOCALEDIR}/${LINGUA}/LC_MESSAGES
${PROJECT_SOURCE_DIR}/po/${DOMAIN}/${LINGUA}.po
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/po/${DOMAIN}
COMMENT "mo-update [${DOMAIN}-${LINGUA}]: Creating mo file."
)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${LINGUA}/LC_MESSAGES/${DOMAIN}.mo
DESTINATION ${CMAKE_INSTALL_LOCALEDIR}/${LINGUA}/LC_MESSAGES)
install(FILES ${CMAKE_SOURCE_DIR}/${LOCALEDIR}/${LINGUA}/LC_MESSAGES/${DOMAIN}.mo
DESTINATION ${LOCALE_INSTALL}/${LINGUA}/LC_MESSAGES)
set(mo-update-SRC ${mo-update-SRC}
${CMAKE_CURRENT_BINARY_DIR}/${LINGUA}/LC_MESSAGES/${DOMAIN}.mo
${CMAKE_SOURCE_DIR}/${LOCALEDIR}/${LINGUA}/LC_MESSAGES/${DOMAIN}.mo
)
set(mo-update-LINGUA-SRC ${mo-update-LINGUA-SRC}
${CMAKE_CURRENT_BINARY_DIR}/${LINGUA}/LC_MESSAGES/${DOMAIN}.mo
${CMAKE_SOURCE_DIR}/${LOCALEDIR}/${LINGUA}/LC_MESSAGES/${DOMAIN}.mo
)
endforeach(DOMAIN ${DOMAINS})
@ -276,7 +276,7 @@ if(ENABLE_NLS)
)
set_directory_properties(properties
ADDITIONAL_MAKE_CLEAN_FILES ${CMAKE_CURRENT_BINARY_DIR}
ADDITIONAL_MAKE_CLEAN_FILES ${CMAKE_SOURCE_DIR}/${LOCALEDIR}
)
endif(ENABLE_NLS)