Support installing multiple configurations within the same prefix
This commit is contained in:
parent
76f70abdf8
commit
850101dce6
|
@ -171,7 +171,8 @@ else ()
|
|||
endif ()
|
||||
|
||||
# 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()
|
||||
|
||||
# include modules to apply configuration
|
||||
|
|
|
@ -225,7 +225,7 @@ if (ENABLE_QT_TRANSLATIONS AND TS_FILES)
|
|||
|
||||
# add install target for translations
|
||||
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)
|
||||
set(LOCALIZATION_TARGET "install-localization")
|
||||
add_custom_target(${LOCALIZATION_TARGET}
|
||||
|
@ -419,7 +419,7 @@ foreach (RES_FILE ${RES_FILES})
|
|||
endforeach ()
|
||||
|
||||
# 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(APPEND QT_RESOURCES ${STATIC_LIBRARIES_QT_RESOURCES})
|
||||
endif ()
|
||||
|
|
|
@ -113,7 +113,7 @@ void loadQtTranslationFile(std::initializer_list<QString> repositoryNames)
|
|||
void loadQtTranslationFile(initializer_list<QString> repositoryNames, const QString &localeName)
|
||||
{
|
||||
for (const QString &repoName : repositoryNames) {
|
||||
QTranslator *qtTranslator = new QTranslator;
|
||||
QTranslator *const qtTranslator = new QTranslator;
|
||||
const QString fileName(repoName % QChar('_') % localeName);
|
||||
if (!additionalTranslationFilePath().isEmpty() && qtTranslator->load(fileName, additionalTranslationFilePath())) {
|
||||
QCoreApplication::installTranslator(qtTranslator);
|
||||
|
@ -156,8 +156,9 @@ void loadApplicationTranslationFile(const QString &applicationName)
|
|||
// load English translation files as fallback
|
||||
loadApplicationTranslationFile(applicationName, QStringLiteral("en_US"));
|
||||
// load translation files for current locale
|
||||
if (QLocale().name() != QLatin1String("en_US")) {
|
||||
loadApplicationTranslationFile(applicationName, QLocale().name());
|
||||
const auto defaultLocale(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)
|
||||
{
|
||||
QTranslator *appTranslator = new QTranslator;
|
||||
QTranslator *const appTranslator = new QTranslator;
|
||||
const QString fileName(applicationName % QChar('_') % localeName);
|
||||
if (!additionalTranslationFilePath().isEmpty() && appTranslator->load(fileName, additionalTranslationFilePath())) {
|
||||
QCoreApplication::installTranslator(appTranslator);
|
||||
|
@ -188,9 +189,9 @@ void loadApplicationTranslationFile(const QString &applicationName, const QStrin
|
|||
QCoreApplication::installTranslator(appTranslator);
|
||||
} else if (appTranslator->load(fileName, QStringLiteral("./translations"))) {
|
||||
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);
|
||||
} 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);
|
||||
} else if (appTranslator->load(fileName, QStringLiteral(":/translations"))) {
|
||||
QCoreApplication::installTranslator(appTranslator);
|
||||
|
|
Loading…
Reference in New Issue