diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3dfad0f..ad5b4a5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,13 +25,13 @@ jobs: uses: actions/cache@v2.1.6 with: key: win-conan-${{ hashFiles('**/conanfile.txt') }} - path: ~/.conan/ + path: ~/.conan/ - name: Cache Qt id: cache-qt uses: actions/cache@v2.1.6 with: - path: '${{ github.workspace }}/qt/' + path: "${{ github.workspace }}/qt/" key: ${{ runner.os }}-QtCache - name: Install Qt @@ -39,19 +39,19 @@ jobs: with: cached: ${{ steps.cache-qt.outputs.cache-hit }} modules: qtwebengine - dir: '${{ github.workspace }}/qt/' + dir: "${{ github.workspace }}/qt/" - name: Export qtkeychain run: | - conan export recipes/qtkeychain + conan export recipes/qtkeychain - name: Build run: | - mkdir build - cd build - conan install .. --build=missing - cmake -G"NMake Makefiles JOM" -DCMAKE_INSTALL_PREFIX=redist .. - jom + mkdir build + cd build + conan install .. --build=missing + cmake -G"NMake Makefiles JOM" -DCMAKE_INSTALL_PREFIX=redist .. + jom shell: cmd - name: Install @@ -77,12 +77,12 @@ jobs: - name: Install qt run: | sudo apt-get update - sudo apt-get install qt5keychain-dev qtwebengine5-dev -y + sudo apt-get install qt5keychain-dev qtwebengine5-dev qttools5-dev -y - name: Build run: | - mkdir build - cd build - cmake -DCMAKE_BUILD_TYPE=Release .. - make -j4 + mkdir build + cd build + cmake -DCMAKE_BUILD_TYPE=Release .. + make -j4 shell: bash \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 7a3ce89..1a7ba38 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -82,8 +82,11 @@ set(HEADERS src/WorkspaceCommon.h) +file(COPY rsrc/languages.qrc DESTINATION ${CMAKE_BINARY_DIR}/intl) + set(RESOURCES - rsrc/resources.qrc) + rsrc/resources.qrc + ${CMAKE_BINARY_DIR}/intl/languages.qrc) set(TRANSLATIONS intl/en_US.ts @@ -97,7 +100,7 @@ set(TRANSLATIONS intl/nl_NL.ts intl/ko_KR.ts) -set_source_files_properties(${TRANSLATIONS} PROPERTIES OUTPUT_LOCATION "${RUNTIME_OUTPUT_DIRECTORY}translations") +set_source_files_properties(${TRANSLATIONS} PROPERTIES OUTPUT_LOCATION "intl") find_package(Qt5LinguistTools) if (Qt5LinguistTools_FOUND) @@ -106,7 +109,6 @@ if (Qt5LinguistTools_FOUND) else () qt5_add_translation(QM_FILES ${TRANSLATIONS}) endif () - install(FILES ${QM_FILES} DESTINATION ./translations) else () message("Qt5LinguistTools not found") endif () @@ -144,10 +146,13 @@ endif () target_compile_definitions(${PROJECT_NAME} PRIVATE FUEL_VERSION="${PROJECT_VERSION}") + # ------------------------------------------------------------------------------------------------# # Cpack # ------------------------------------------------------------------------------------------------# +include(GNUInstallDirs) + set(CPACK_PACKAGE_NAME "${PROJECT_NAME}") set(CPACK_PACKAGE_VENDOR "${PROJECT_NAME}") set(CPACK_PACKAGE_DESCRIPTION "A GUI front-end for the Fossil SCM") @@ -201,6 +206,22 @@ if (WIN32) set(CPACK_GENERATOR ${CPACK_GENERATOR};WIX) set(CPACK_MODULE_PATH "") endif () + +if(UNIX) + install( + TARGETS ${PROJECT_NAME} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ) + install( + FILES ${CMAKE_SOURCE_DIR}/rsrc/fuel.desktop + DESTINATION ${CMAKE_INSTALL_DATADIR}/applications/ + ) + install( + FILES ${CMAKE_SOURCE_DIR}/rsrc/icons/fuel.png + DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/256x256/apps + ) +endif() + include(CPack) feature_summary(WHAT ALL) \ No newline at end of file diff --git a/fuel.pro b/fuel.pro index 743a6f5..4d0cc39 100644 --- a/fuel.pro +++ b/fuel.pro @@ -57,6 +57,8 @@ exists( $$OUT_PWD/conanbuildinfo.pri ) { message("Using conan packages") CONFIG += conan_basic_setup include($$OUT_PWD/conanbuildinfo.pri) +} else { + QT += Qt5Keychain } INCLUDEPATH += src diff --git a/rsrc/fuel.desktop b/rsrc/fuel.desktop index c48a004..2e9c40e 100644 --- a/rsrc/fuel.desktop +++ b/rsrc/fuel.desktop @@ -1,10 +1,9 @@ [Desktop Entry] -Encoding=UTF-8 Type=Application -Exec=/usr/bin/fuel -Icon=/usr/share/icons/hicolor/256x256/apps/fuel.png +Exec=Fuel +Icon=fuel Terminal=false Name=Fuel GenericName=Software Configuration Management tool Comment=GUI Front-End to the Fossil SCM tool -Categories=Qt;Development;RevisionControl +Categories=Development;RevisionControl; \ No newline at end of file diff --git a/rsrc/languages.qrc b/rsrc/languages.qrc new file mode 100644 index 0000000..59c8f08 --- /dev/null +++ b/rsrc/languages.qrc @@ -0,0 +1,13 @@ + + + el_GR.qm + de_DE.qm + es_ES.qm + fr_FR.qm + ru_RU.qm + pt_PT.qm + it_IT.qm + nl_NL.qm + ko_KR.qm + + diff --git a/rsrc/resources.qrc b/rsrc/resources.qrc index cdbbc99..a470179 100644 --- a/rsrc/resources.qrc +++ b/rsrc/resources.qrc @@ -156,19 +156,6 @@ icons/Zoom In-01.png icons/Zoom Out-01.png - - - intl/el_GR.qm - intl/de_DE.qm - intl/es_ES.qm - intl/fr_FR.qm - intl/ru_RU.qm - intl/pt_PT.qm - intl/it_IT.qm - intl/nl_NL.qm - intl/ko_KR.qm - - <--> docs/Translators.txt docs/Licenses.txt diff --git a/src/AppSettings.cpp b/src/AppSettings.cpp index f3f4489..d49476c 100644 --- a/src/AppSettings.cpp +++ b/src/AppSettings.cpp @@ -75,7 +75,7 @@ bool Settings::InstallLang(const QString &langId) return true; } - QString locale_path = QString(":intl/intl/%0.qm").arg(langId); + QString locale_path = QString(":intl/%0.qm").arg(langId); if(!translator.load(locale_path)) return false;