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;