CMake changes related to FGDATA_SRC_DIR and TRANSLATIONS_SRC_DIR
- When FGDATA_SRC_DIR isn't explicitly set by the user, set it to
${PROJECT_SOURCE_DIR}/../fgdata if this is a directory.
- When TRANSLATIONS_SRC_DIR isn't explicitly set by the user, look for
translations in ${FGDATA_SRC_DIR}/Translations instead of
${PROJECT_SOURCE_DIR}/../fgdata/Translations (i.e., honor the setting
of FGDATA_SRC_DIR for the sake of translation lookup).
This fixes the problem explained in [1] and [2].
[1] https://sourceforge.net/p/flightgear/mailman/message/36645499/
[2] b2274fbbed
/
This commit is contained in:
parent
b83c069b0b
commit
b2d6acdd4d
2 changed files with 9 additions and 6 deletions
|
@ -57,6 +57,9 @@ set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" CACHE STRING "Minimum OS X deployment ver
|
||||||
|
|
||||||
project(FlightGear)
|
project(FlightGear)
|
||||||
|
|
||||||
|
# Define SRC_PARENT_DIR as the parent directory of the project source directory
|
||||||
|
get_filename_component(SRC_PARENT_DIR ${PROJECT_SOURCE_DIR} DIRECTORY)
|
||||||
|
|
||||||
# We have some custom .cmake scripts not in the official distribution.
|
# We have some custom .cmake scripts not in the official distribution.
|
||||||
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/CMakeModules;${CMAKE_MODULE_PATH}")
|
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/CMakeModules;${CMAKE_MODULE_PATH}")
|
||||||
set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS TRUE)
|
set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS TRUE)
|
||||||
|
@ -94,6 +97,9 @@ include( ConfigureCPack )
|
||||||
# FlightGear base package path
|
# FlightGear base package path
|
||||||
if (FG_DATA_DIR)
|
if (FG_DATA_DIR)
|
||||||
message(STATUS "Using explicit data directory for base package: ${FG_DATA_DIR}")
|
message(STATUS "Using explicit data directory for base package: ${FG_DATA_DIR}")
|
||||||
|
elseif(IS_DIRECTORY "${SRC_PARENT_DIR}/fgdata")
|
||||||
|
set(FG_DATA_DIR "${SRC_PARENT_DIR}/fgdata")
|
||||||
|
message(STATUS "Using data directory for base package: ${FG_DATA_DIR}")
|
||||||
else()
|
else()
|
||||||
set(FG_DATA_DIR "${CMAKE_INSTALL_PREFIX}/lib/FlightGear" CACHE PATH "Default location where data files are located")
|
set(FG_DATA_DIR "${CMAKE_INSTALL_PREFIX}/lib/FlightGear" CACHE PATH "Default location where data files are located")
|
||||||
message(STATUS "Using default data directory for base package: ${FG_DATA_DIR}")
|
message(STATUS "Using default data directory for base package: ${FG_DATA_DIR}")
|
||||||
|
|
|
@ -1,15 +1,12 @@
|
||||||
|
|
||||||
GET_FILENAME_COMPONENT(SRC_PARENT_DIR ${PROJECT_SOURCE_DIR} PATH)
|
|
||||||
SET(FGDATA_SRC_DIR "${SRC_PARENT_DIR}/fgdata")
|
|
||||||
set(xlf_file "en_US/FlightGear-Qt.xlf")
|
set(xlf_file "en_US/FlightGear-Qt.xlf")
|
||||||
|
|
||||||
if(EXISTS "${TRANSLATIONS_SRC_DIR}/${xlf_file}")
|
if(EXISTS "${TRANSLATIONS_SRC_DIR}/${xlf_file}")
|
||||||
message(STATUS "Using explicitly defined translations from: ${TRANSLATIONS_SRC_DIR}")
|
message(STATUS "Using explicitly defined translations from: ${TRANSLATIONS_SRC_DIR}")
|
||||||
set(do_translate TRUE)
|
set(do_translate TRUE)
|
||||||
elseif(EXISTS "${FGDATA_SRC_DIR}/Translations/${xlf_file}")
|
elseif(EXISTS "${FG_DATA_DIR}/Translations/${xlf_file}")
|
||||||
SET(TRANSLATIONS_SRC_DIR "${FGDATA_SRC_DIR}/Translations")
|
set(TRANSLATIONS_SRC_DIR "${FG_DATA_DIR}/Translations")
|
||||||
message(STATUS "Found translations dir implicitly: ${TRANSLATIONS_SRC_DIR}")
|
|
||||||
set(do_translate TRUE)
|
set(do_translate TRUE)
|
||||||
|
message(STATUS "Found translations dir implicitly: ${TRANSLATIONS_SRC_DIR}")
|
||||||
else()
|
else()
|
||||||
message(STATUS "Couldn't find translations data, will not include translated string in the executable")
|
message(STATUS "Couldn't find translations data, will not include translated string in the executable")
|
||||||
set(do_translate FALSE)
|
set(do_translate FALSE)
|
||||||
|
|
Loading…
Reference in a new issue