diff --git a/.travis.yml b/.travis.yml index e727525..5de2861 100644 --- a/.travis.yml +++ b/.travis.yml @@ -44,7 +44,7 @@ matrix: env: CMAKE_CXX_COMPILER=clang++-3.6 os: linux - compiler: clang - env: CMAKE_CXX_COMPILER=clang++-3.6 + env: CMAKE_CXX_COMPILER=/usr/bin/clang++ os: osx before_install: diff --git a/openhantek/CMakeLists.txt b/openhantek/CMakeLists.txt index fd2753e..c82c8ef 100644 --- a/openhantek/CMakeLists.txt +++ b/openhantek/CMakeLists.txt @@ -23,7 +23,7 @@ add_subdirectory(translations) add_subdirectory(res) # make executable -add_executable(${PROJECT_NAME} ${SRC} ${HEADERS} ${QRC}) +add_executable(${PROJECT_NAME} ${SRC} ${HEADERS} ${QRC} "${CMAKE_BINARY_DIR}/translations.qrc") target_link_libraries(${PROJECT_NAME} Qt5::Widgets Qt5::PrintSupport Qt5::OpenGL ${OPENGL_LIBRARIES} ) #target_compile_features(${PROJECT_NAME} PRIVATE cxx_range_for) diff --git a/openhantek/src/main.cpp b/openhantek/src/main.cpp index c0b865e..3ccbeb4 100644 --- a/openhantek/src/main.cpp +++ b/openhantek/src/main.cpp @@ -38,12 +38,13 @@ int main(int argc, char *argv[]) { QApplication openHantekApplication(argc, argv); QTranslator qtTranslator; - qtTranslator.load("qt_" + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath)); - openHantekApplication.installTranslator(&qtTranslator); + if (qtTranslator.load("qt_" + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath))) + openHantekApplication.installTranslator(&qtTranslator); QTranslator openHantekTranslator; - openHantekTranslator.load("openhantek_" + QLocale::system().name(), QMAKE_TRANSLATIONS_PATH); - openHantekApplication.installTranslator(&openHantekTranslator); + if (openHantekTranslator.load(QLocale(), QLatin1String("openhantek"), QLatin1String("_"), QLatin1String(":/translations"))) + openHantekApplication.installTranslator(&openHantekTranslator); + OpenHantekMainWindow *openHantekMainWindow = new OpenHantekMainWindow(); openHantekMainWindow->show(); diff --git a/openhantek/translations/CMakeLists.txt b/openhantek/translations/CMakeLists.txt index 1bb5c66..dcb1fdc 100644 --- a/openhantek/translations/CMakeLists.txt +++ b/openhantek/translations/CMakeLists.txt @@ -6,8 +6,6 @@ if (NOT FOUND_Qt5LinguistTools) return() endif() -### translation stuff - file(GLOB TRANSLATION_FILES ${CMAKE_CURRENT_LIST_DIR}/*.ts) qt5_create_translation(TRANSLATION_MESSAGES ${SRC} ${TRANSLATION_FILES}) @@ -15,8 +13,10 @@ qt5_add_translation(TRANSLATION_QM ${TRANSLATION_FILES}) add_custom_target(translations_update DEPENDS ${TRANSLATION_MESSAGES}) add_custom_target(translations DEPENDS ${TRANSLATION_QM}) -if(APPLE AND UNIX) ## OSX - install(FILES ${TRANSLATION_QM} DESTINATION ${PROJECT_NAME}.app/Contents/Resources/translations) -else() - install(FILES ${TRANSLATION_QM} DESTINATION translations) -endif() \ No newline at end of file +# We prepare the translations.qrc file and insert all available compiled translation files now. +set(QRC_ITEMS "") +foreach(TRANSLATION_FILE ${TRANSLATION_MESSAGES}) + get_filename_component(FILENAME "${TRANSLATION_FILE}" NAME) + set(QRC_ITEMS "${QRC_ITEMS}\n${TRANSLATION_FILE}") +endforeach() +configure_file("${CMAKE_CURRENT_LIST_DIR}/translations.qrc" "${CMAKE_BINARY_DIR}/translations.qrc" @ONLY) diff --git a/openhantek/translations/translations.qrc b/openhantek/translations/translations.qrc new file mode 100644 index 0000000..2393e70 --- /dev/null +++ b/openhantek/translations/translations.qrc @@ -0,0 +1,5 @@ + + + @QRC_ITEMS@ + +