Support installing multiple configurations within the same prefix
This commit is contained in:
parent
76f70abdf8
commit
850101dce6
|
@ -171,7 +171,8 @@ else ()
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
# find c++utilities
|
# find c++utilities
|
||||||
find_package(c++utilities 5.0.0 REQUIRED)
|
set(CONFIGURATION_PACKAGE_SUFFIX "" CACHE STRING "sets the suffix for find_package() calls to packages configured via c++utilities")
|
||||||
|
find_package(c++utilities${CONFIGURATION_PACKAGE_SUFFIX} 5.0.0 REQUIRED)
|
||||||
use_cpp_utilities()
|
use_cpp_utilities()
|
||||||
|
|
||||||
# include modules to apply configuration
|
# include modules to apply configuration
|
||||||
|
|
|
@ -225,7 +225,7 @@ if (ENABLE_QT_TRANSLATIONS AND TS_FILES)
|
||||||
|
|
||||||
# add install target for translations
|
# add install target for translations
|
||||||
if (NOT META_NO_INSTALL_TARGETS AND ENABLE_INSTALL_TARGETS)
|
if (NOT META_NO_INSTALL_TARGETS AND ENABLE_INSTALL_TARGETS)
|
||||||
install(FILES ${QM_FILES} DESTINATION share/${META_PROJECT_NAME}/translations COMPONENT localization)
|
install(FILES ${QM_FILES} DESTINATION "${META_DATA_DIR}/translations" COMPONENT localization)
|
||||||
if (NOT TARGET install-localization)
|
if (NOT TARGET install-localization)
|
||||||
set(LOCALIZATION_TARGET "install-localization")
|
set(LOCALIZATION_TARGET "install-localization")
|
||||||
add_custom_target(${LOCALIZATION_TARGET}
|
add_custom_target(${LOCALIZATION_TARGET}
|
||||||
|
@ -419,7 +419,7 @@ foreach (RES_FILE ${RES_FILES})
|
||||||
endforeach ()
|
endforeach ()
|
||||||
|
|
||||||
# export Qt resources required by static libraries the static library depends on
|
# export Qt resources required by static libraries the static library depends on
|
||||||
if (META_PROJECT_IS_LIBRARY AND NOT BUILD_SHARED_LIBS AND STATIC_LIBRARIES_QT_RESOURCES)
|
if (STATIC_LIBRARIES_QT_RESOURCES)
|
||||||
list(REMOVE_DUPLICATES STATIC_LIBRARIES_QT_RESOURCES)
|
list(REMOVE_DUPLICATES STATIC_LIBRARIES_QT_RESOURCES)
|
||||||
list(APPEND QT_RESOURCES ${STATIC_LIBRARIES_QT_RESOURCES})
|
list(APPEND QT_RESOURCES ${STATIC_LIBRARIES_QT_RESOURCES})
|
||||||
endif ()
|
endif ()
|
||||||
|
|
|
@ -113,7 +113,7 @@ void loadQtTranslationFile(std::initializer_list<QString> repositoryNames)
|
||||||
void loadQtTranslationFile(initializer_list<QString> repositoryNames, const QString &localeName)
|
void loadQtTranslationFile(initializer_list<QString> repositoryNames, const QString &localeName)
|
||||||
{
|
{
|
||||||
for (const QString &repoName : repositoryNames) {
|
for (const QString &repoName : repositoryNames) {
|
||||||
QTranslator *qtTranslator = new QTranslator;
|
QTranslator *const qtTranslator = new QTranslator;
|
||||||
const QString fileName(repoName % QChar('_') % localeName);
|
const QString fileName(repoName % QChar('_') % localeName);
|
||||||
if (!additionalTranslationFilePath().isEmpty() && qtTranslator->load(fileName, additionalTranslationFilePath())) {
|
if (!additionalTranslationFilePath().isEmpty() && qtTranslator->load(fileName, additionalTranslationFilePath())) {
|
||||||
QCoreApplication::installTranslator(qtTranslator);
|
QCoreApplication::installTranslator(qtTranslator);
|
||||||
|
@ -156,8 +156,9 @@ void loadApplicationTranslationFile(const QString &applicationName)
|
||||||
// load English translation files as fallback
|
// load English translation files as fallback
|
||||||
loadApplicationTranslationFile(applicationName, QStringLiteral("en_US"));
|
loadApplicationTranslationFile(applicationName, QStringLiteral("en_US"));
|
||||||
// load translation files for current locale
|
// load translation files for current locale
|
||||||
if (QLocale().name() != QLatin1String("en_US")) {
|
const auto defaultLocale(QLocale().name());
|
||||||
loadApplicationTranslationFile(applicationName, QLocale().name());
|
if (defaultLocale != QLatin1String("en_US")) {
|
||||||
|
loadApplicationTranslationFile(applicationName, defaultLocale);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -180,7 +181,7 @@ void loadApplicationTranslationFile(const QString &applicationName)
|
||||||
*/
|
*/
|
||||||
void loadApplicationTranslationFile(const QString &applicationName, const QString &localeName)
|
void loadApplicationTranslationFile(const QString &applicationName, const QString &localeName)
|
||||||
{
|
{
|
||||||
QTranslator *appTranslator = new QTranslator;
|
QTranslator *const appTranslator = new QTranslator;
|
||||||
const QString fileName(applicationName % QChar('_') % localeName);
|
const QString fileName(applicationName % QChar('_') % localeName);
|
||||||
if (!additionalTranslationFilePath().isEmpty() && appTranslator->load(fileName, additionalTranslationFilePath())) {
|
if (!additionalTranslationFilePath().isEmpty() && appTranslator->load(fileName, additionalTranslationFilePath())) {
|
||||||
QCoreApplication::installTranslator(appTranslator);
|
QCoreApplication::installTranslator(appTranslator);
|
||||||
|
@ -188,9 +189,9 @@ void loadApplicationTranslationFile(const QString &applicationName, const QStrin
|
||||||
QCoreApplication::installTranslator(appTranslator);
|
QCoreApplication::installTranslator(appTranslator);
|
||||||
} else if (appTranslator->load(fileName, QStringLiteral("./translations"))) {
|
} else if (appTranslator->load(fileName, QStringLiteral("./translations"))) {
|
||||||
QCoreApplication::installTranslator(appTranslator);
|
QCoreApplication::installTranslator(appTranslator);
|
||||||
} else if (appTranslator->load(fileName, QStringLiteral(APP_INSTALL_PREFIX "/share/") % applicationName % QStringLiteral("/translations"))) {
|
} else if (appTranslator->load(fileName, QStringLiteral(APP_INSTALL_PREFIX "/" APP_DATA_DIR) % applicationName % QStringLiteral("/translations"))) {
|
||||||
QCoreApplication::installTranslator(appTranslator);
|
QCoreApplication::installTranslator(appTranslator);
|
||||||
} else if (appTranslator->load(fileName, QStringLiteral("../share/") % applicationName % QStringLiteral("/translations"))) {
|
} else if (appTranslator->load(fileName, QStringLiteral("../" APP_DATA_DIR "/") % applicationName % QStringLiteral("/translations"))) {
|
||||||
QCoreApplication::installTranslator(appTranslator);
|
QCoreApplication::installTranslator(appTranslator);
|
||||||
} else if (appTranslator->load(fileName, QStringLiteral(":/translations"))) {
|
} else if (appTranslator->load(fileName, QStringLiteral(":/translations"))) {
|
||||||
QCoreApplication::installTranslator(appTranslator);
|
QCoreApplication::installTranslator(appTranslator);
|
||||||
|
|
Loading…
Reference in New Issue