aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/release.yml16
-rw-r--r--.github/workflows/testing-nightly.yml16
-rw-r--r--CMakeLists.txt23
-rw-r--r--resource/appstream/com.bktus.gpgfrontend.desktop2
-rw-r--r--resource/plist/ExportOptions.plist.in6
-rw-r--r--src/CMakeLists.txt57
-rw-r--r--src/GpgFrontendBuildInstallInfo.h.in3
-rw-r--r--src/core/CMakeLists.txt2
-rw-r--r--src/core/function/GlobalSettingStation.cpp13
-rw-r--r--src/sdk/CMakeLists.txt2
-rw-r--r--src/test/CMakeLists.txt2
-rw-r--r--src/ui/CMakeLists.txt2
12 files changed, 85 insertions, 59 deletions
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index dcd03237..068a44fc 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -79,11 +79,11 @@ jobs:
- name: Codesign Configuration (macOS)
run: |
CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
- PP_PATH=$RUNNER_TEMP/${{secrets.GPGFRONTEND_XOCDE_PROVISIONING_PROFILE_UUID}}.provisionprofile
+ PP_PATH=$RUNNER_TEMP/${{secrets.GPGFRONTEND_XCODE_PROVISIONING_PROFILE_UUID}}.provisionprofile
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
echo -n "${{secrets.MACOS_CERTIFICATE}}" | base64 --decode -o $CERTIFICATE_PATH
- echo -n "${{secrets.GPGFRONTEND_XOCDE_PROVISIONING_PROFILE_DATA}}" | base64 --decode -o $PP_PATH
+ echo -n "${{secrets.GPGFRONTEND_XCODE_PROVISIONING_PROFILE_DATA}}" | base64 --decode -o $PP_PATH
security create-keychain -p gpgfrontend build.keychain
security default-keychain -s build.keychain
@@ -234,10 +234,10 @@ jobs:
cmake -B ${{github.workspace}}/build -G Xcode \
-DGPGFRONTEND_CONFIGURE_FOR_XCODE_BUILD=On \
-DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} \
- -DGPGFRONTEND_XOCDE_CODE_SIGN_IDENTITY="${{secrets.GPGFRONTEND_XOCDE_CODE_SIGN_IDENTITY}}" \
+ -DGPGFRONTEND_XCODE_CODE_SIGN_IDENTITY="${{secrets.GPGFRONTEND_XCODE_CODE_SIGN_IDENTITY}}" \
-DGPGFRONTEND_XCODE_TEAM_ID="${{secrets.GPGFRONTEND_XCODE_TEAM_ID}}" \
- -DGPGFRONTEND_XOCDE_APPID="${{secrets.GPGFRONTEND_XOCDE_APPID}}" \
- -DGPGFRONTEND_XOCDE_PROVISIONING_PROFILE_UUID="${{secrets.GPGFRONTEND_XOCDE_PROVISIONING_PROFILE_UUID}}"
+ -DGPGFRONTEND_XCODE_APPID="${{secrets.GPGFRONTEND_XCODE_APPID}}" \
+ -DGPGFRONTEND_XCODE_PROVISIONING_PROFILE_UUID="${{secrets.GPGFRONTEND_XCODE_PROVISIONING_PROFILE_UUID}}"
xcodebuild -list -project ${{github.workspace}}/build/GpgFrontend.xcodeproj
cd ${{github.workspace}}/build/
xcodebuild -scheme GpgFrontend -configuration "${{env.BUILD_TYPE}}"\
@@ -250,10 +250,10 @@ jobs:
- name: Copy Modules into Bundle & Deploy Qt & Code Sign (macOS)
run: |
- codesign -s "${{secrets.GPGFRONTEND_XOCDE_CODE_SIGN_IDENTITY}}" -f --deep --options=runtime --timestamp ${{github.workspace}}/modules/build/artifacts/modules/*
+ codesign -s "${{secrets.GPGFRONTEND_XCODE_CODE_SIGN_IDENTITY}}" -f --deep --options=runtime --timestamp ${{github.workspace}}/modules/build/artifacts/modules/*
cmake -E copy_directory ${{github.workspace}}/modules/build/artifacts/modules ${{github.workspace}}/build/package/GpgFrontend.app/Contents/Modules
macdeployqt ${{github.workspace}}/build/package/GpgFrontend.app -verbose=2 -appstore-compliant -always-overwrite
- codesign -s "${{secrets.GPGFRONTEND_XOCDE_CODE_SIGN_IDENTITY}}" -f --deep --options=runtime --timestamp ${{github.workspace}}/build/package/GpgFrontend.app
+ codesign -s "${{secrets.GPGFRONTEND_XCODE_CODE_SIGN_IDENTITY}}" -f --deep --options=runtime --timestamp ${{github.workspace}}/build/package/GpgFrontend.app
if: runner.os == 'macOS'
- name: Package & Sign App Bundle (macOS)
@@ -263,7 +263,7 @@ jobs:
hdiutil create ${{github.workspace}}/build/tmp.dmg -ov \
-volname "GpgFrontend" -fs HFS+ -srcfolder ${{github.workspace}}/build/package/
mkdir ${{github.workspace}}/build/upload-artifact
- create-dmg --codesign "${{secrets.GPGFRONTEND_XOCDE_CODE_SIGN_IDENTITY}}" --volicon "${{github.workspace}}/resource/lfs/icns/GpgFrontend.icns" --volname GpgFrontend --app-drop-link 600 185 --window-size 800 400 ${{github.workspace}}/build/upload-artifact/GpgFrontend.dmg ${{github.workspace}}/build/package/GpgFrontend.app
+ create-dmg --codesign "${{secrets.GPGFRONTEND_XCODE_CODE_SIGN_IDENTITY}}" --volicon "${{github.workspace}}/resource/lfs/icns/GpgFrontend.icns" --volname GpgFrontend --app-drop-link 600 185 --window-size 800 400 ${{github.workspace}}/build/upload-artifact/GpgFrontend.dmg ${{github.workspace}}/build/package/GpgFrontend.app
mv ${{github.workspace}}/build/upload-artifact/GpgFrontend.dmg \
${{github.workspace}}/build/upload-artifact/GpgFrontend-${{matrix.os}}-${{env.sha_short}}-x86_64.dmg
mv ${{github.workspace}}/build/GpgFrontend.app.zip \
diff --git a/.github/workflows/testing-nightly.yml b/.github/workflows/testing-nightly.yml
index 74882762..9192fe7e 100644
--- a/.github/workflows/testing-nightly.yml
+++ b/.github/workflows/testing-nightly.yml
@@ -73,11 +73,11 @@ jobs:
- name: Codesign Configuration (macOS)
run: |
CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
- PP_PATH=$RUNNER_TEMP/${{secrets.GPGFRONTEND_XOCDE_PROVISIONING_PROFILE_UUID}}.provisionprofile
+ PP_PATH=$RUNNER_TEMP/${{secrets.GPGFRONTEND_XCODE_PROVISIONING_PROFILE_UUID}}.provisionprofile
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
echo -n "${{secrets.MACOS_CERTIFICATE}}" | base64 --decode -o $CERTIFICATE_PATH
- echo -n "${{secrets.GPGFRONTEND_XOCDE_PROVISIONING_PROFILE_DATA}}" | base64 --decode -o $PP_PATH
+ echo -n "${{secrets.GPGFRONTEND_XCODE_PROVISIONING_PROFILE_DATA}}" | base64 --decode -o $PP_PATH
security create-keychain -p gpgfrontend build.keychain
security default-keychain -s build.keychain
@@ -227,10 +227,10 @@ jobs:
cmake -B ${{github.workspace}}/build -G Xcode \
-DGPGFRONTEND_CONFIGURE_FOR_XCODE_BUILD=On \
-DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} \
- -DGPGFRONTEND_XOCDE_CODE_SIGN_IDENTITY="${{secrets.GPGFRONTEND_XOCDE_CODE_SIGN_IDENTITY}}" \
+ -DGPGFRONTEND_XCODE_CODE_SIGN_IDENTITY="${{secrets.GPGFRONTEND_XCODE_CODE_SIGN_IDENTITY}}" \
-DGPGFRONTEND_XCODE_TEAM_ID="${{secrets.GPGFRONTEND_XCODE_TEAM_ID}}" \
- -DGPGFRONTEND_XOCDE_APPID="${{secrets.GPGFRONTEND_XOCDE_APPID}}" \
- -DGPGFRONTEND_XOCDE_PROVISIONING_PROFILE_UUID="${{secrets.GPGFRONTEND_XOCDE_PROVISIONING_PROFILE_UUID}}"
+ -DGPGFRONTEND_XCODE_APPID="${{secrets.GPGFRONTEND_XCODE_APPID}}" \
+ -DGPGFRONTEND_XCODE_PROVISIONING_PROFILE_UUID="${{secrets.GPGFRONTEND_XCODE_PROVISIONING_PROFILE_UUID}}"
xcodebuild -list -project ${{github.workspace}}/build/GpgFrontend.xcodeproj
cd ${{github.workspace}}/build/
xcodebuild -scheme GpgFrontend -configuration "${{env.BUILD_TYPE}}"\
@@ -243,10 +243,10 @@ jobs:
- name: Copy Modules into Bundle & Deploy Qt & Code Sign (macOS)
run: |
- codesign -s "${{secrets.GPGFRONTEND_XOCDE_CODE_SIGN_IDENTITY}}" -f --deep --options=runtime --timestamp ${{github.workspace}}/modules/build/artifacts/modules/*
+ codesign -s "${{secrets.GPGFRONTEND_XCODE_CODE_SIGN_IDENTITY}}" -f --deep --options=runtime --timestamp ${{github.workspace}}/modules/build/artifacts/modules/*
cmake -E copy_directory ${{github.workspace}}/modules/build/artifacts/modules ${{github.workspace}}/build/package/GpgFrontend.app/Contents/Modules
macdeployqt ${{github.workspace}}/build/package/GpgFrontend.app -verbose=2 -appstore-compliant -always-overwrite
- codesign -s "${{secrets.GPGFRONTEND_XOCDE_CODE_SIGN_IDENTITY}}" -f --deep --options=runtime --timestamp ${{github.workspace}}/build/package/GpgFrontend.app
+ codesign -s "${{secrets.GPGFRONTEND_XCODE_CODE_SIGN_IDENTITY}}" -f --deep --options=runtime --timestamp ${{github.workspace}}/build/package/GpgFrontend.app
if: runner.os == 'macOS'
- name: Package & Sign App Bundle (macOS)
@@ -256,7 +256,7 @@ jobs:
hdiutil create ${{github.workspace}}/build/tmp.dmg -ov \
-volname "GpgFrontend" -fs HFS+ -srcfolder ${{github.workspace}}/build/package/
mkdir ${{github.workspace}}/build/upload-artifact
- create-dmg --codesign "${{secrets.GPGFRONTEND_XOCDE_CODE_SIGN_IDENTITY}}" --volicon "${{github.workspace}}/resource/lfs/icns/GpgFrontend.icns" --volname GpgFrontend --app-drop-link 600 185 --window-size 800 400 ${{github.workspace}}/build/upload-artifact/GpgFrontend.dmg ${{github.workspace}}/build/package/GpgFrontend.app
+ create-dmg --codesign "${{secrets.GPGFRONTEND_XCODE_CODE_SIGN_IDENTITY}}" --volicon "${{github.workspace}}/resource/lfs/icns/GpgFrontend.icns" --volname GpgFrontend --app-drop-link 600 185 --window-size 800 400 ${{github.workspace}}/build/upload-artifact/GpgFrontend.dmg ${{github.workspace}}/build/package/GpgFrontend.app
mv ${{github.workspace}}/build/upload-artifact/GpgFrontend.dmg \
${{github.workspace}}/build/upload-artifact/GpgFrontend-${{matrix.os}}-${{env.sha_short}}.dmg
mv ${{github.workspace}}/build/GpgFrontend.app.zip \
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ba149318..b78ff062 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -64,10 +64,10 @@ option(GPGFRONTEND_BUILD_MODULES "Build Modules" ON)
# xcode build options
option(GPGFRONTEND_XCODE_TEAM_ID "GpgFrontend Apple Team ID" "NONE")
-option(GPGFRONTEND_XOCDE_CODE_SIGN_IDENTITY "GpgFrontend Signing Certificate" "NONE")
-option(GPGFRONTEND_XOCDE_APPID "GpgFrontend Apple AppID" "NONE")
-option(GPGFRONTEND_XOCDE_PROVISIONING_PROFILE_UUID "GpgFrontend ProvisioningProfile UUID" "NONE")
-option(GPGFRONTEND_XOCDE_ENABLE_SANDBOX "Enable SandBox For Xcode Build" OFF)
+option(GPGFRONTEND_XCODE_CODE_SIGN_IDENTITY "GpgFrontend Signing Certificate" "NONE")
+option(GPGFRONTEND_XCODE_APPID "GpgFrontend Apple AppID" "NONE")
+option(GPGFRONTEND_XCODE_PROVISIONING_PROFILE_UUID "GpgFrontend ProvisioningProfile UUID" "NONE")
+option(GPGFRONTEND_XCODE_ENABLE_SANDBOX "Enable SandBox For Xcode Build" OFF)
if(GPGFRONTEND_BUILD_APP_IMAGE)
set(BUILD_APP_IMAGE 1)
@@ -173,7 +173,13 @@ if(GPGFRONTEND_ENABLE_ASAN)
set(ENABLE_ASAN 1)
endif()
-set(AppName GpgFrontend)
+if(LINUX)
+ string(TOLOWER "${CMAKE_PROJECT_NAME}" APP_NAME)
+else()
+ set(APP_NAME "${CMAKE_PROJECT_NAME}")
+endif()
+
+string(TOLOWER "${APP_NAME}" APP_NAME_LOWER)
# Get Git Information
set(GIT_COMMIT_HASH "")
@@ -337,7 +343,6 @@ add_subdirectory(third_party) # source code
# Set build information
configure_file(${CMAKE_SOURCE_DIR}/src/GpgFrontend.h.in ${CMAKE_SOURCE_DIR}/src/GpgFrontend.h @ONLY)
configure_file(${CMAKE_SOURCE_DIR}/src/GpgFrontendBuildInfo.h.in ${CMAKE_SOURCE_DIR}/src/GpgFrontendBuildInfo.h @ONLY)
-configure_file(${CMAKE_SOURCE_DIR}/src/GpgFrontendBuildInstallInfo.h.in ${CMAKE_SOURCE_DIR}/src/GpgFrontendBuildInstallInfo.h @ONLY)
configure_file(${CMAKE_SOURCE_DIR}/src/sdk/GFSDKBuildInfo.h.in ${CMAKE_SOURCE_DIR}/src/sdk/GFSDKBuildInfo.h @ONLY)
if(APPLE)
@@ -379,8 +384,8 @@ else()
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/artifacts)
endif()
-add_subdirectory(src)
-
if(BUILD_MODULES)
add_subdirectory(modules)
-endif() \ No newline at end of file
+endif()
+
+add_subdirectory(src) \ No newline at end of file
diff --git a/resource/appstream/com.bktus.gpgfrontend.desktop b/resource/appstream/com.bktus.gpgfrontend.desktop
index 9f2a5a8a..c74c2af1 100644
--- a/resource/appstream/com.bktus.gpgfrontend.desktop
+++ b/resource/appstream/com.bktus.gpgfrontend.desktop
@@ -1,7 +1,7 @@
[Desktop Entry]
Type=Application
Name=Gpg Frontend
-Exec=GpgFrontend
+Exec=gpgfrontend
Icon=com.bktus.gpgfrontend
Comment=Encrypt and sign data
Terminal=false
diff --git a/resource/plist/ExportOptions.plist.in b/resource/plist/ExportOptions.plist.in
index 48a6567d..6b82f5ec 100644
--- a/resource/plist/ExportOptions.plist.in
+++ b/resource/plist/ExportOptions.plist.in
@@ -11,11 +11,11 @@
<key>signingStyle</key>
<string>automatic</string>
<key>signingCertificate</key>
- <string>@GPGFRONTEND_XOCDE_CODE_SIGN_IDENTITY@</string>
+ <string>@GPGFRONTEND_XCODE_CODE_SIGN_IDENTITY@</string>
<key>provisioningProfiles</key>
<dict>
- <key>@GPGFRONTEND_XOCDE_APPID@</key>
- <string>@GPGFRONTEND_XOCDE_PROVISIONING_PROFILE_UUID@</string>
+ <key>@GPGFRONTEND_XCODE_APPID@</key>
+ <string>@GPGFRONTEND_XCODE_PROVISIONING_PROFILE_UUID@</string>
</dict>
</dict>
</plist> \ No newline at end of file
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index e4811a08..ee4fbf17 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -68,17 +68,21 @@ set(APP_ICON_RESOURCE_WINDOWS "${CMAKE_SOURCE_DIR}/gpgfrontend.rc")
set_property(SOURCE gpgfrontend.rc APPEND PROPERTY OBJECT_DEPENDS ${CMAKE_SOURCE_DIR}/gpgfrontend.ico)
set(RESOURCE_FILES ${CMAKE_SOURCE_DIR}/gpgfrontend.qrc ${APP_ICON_RESOURCE_WINDOWS} ${QON_QM_FILES})
+# rpath
+set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
+set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+
if(${CMAKE_BUILD_TYPE} STREQUAL "Release")
if(MINGW)
- add_executable(${AppName} WIN32 ${APP_SOURCE} ${RESOURCE_FILES})
+ add_executable(${APP_NAME} WIN32 ${APP_SOURCE} ${RESOURCE_FILES})
elseif(APPLE AND XCODE_BUILD)
# standard app bundle packing
- add_executable(${AppName} MACOSX_BUNDLE ${GPGFRONTEND_MACOS_ICON} ${APP_SOURCE} ${RESOURCE_FILES})
+ add_executable(${APP_NAME} MACOSX_BUNDLE ${GPGFRONTEND_MACOS_ICON} ${APP_SOURCE} ${RESOURCE_FILES})
- set_target_properties(${AppName} PROPERTIES
+ set_target_properties(${APP_NAME} PROPERTIES
BUNDLE True
MACOSX_BUNDLE_GUI_IDENTIFIER com.bktus.gpgfrontend
- MACOSX_BUNDLE_BUNDLE_NAME ${AppName}
+ MACOSX_BUNDLE_BUNDLE_NAME ${APP_NAME}
MACOSX_BUNDLE_LONG_VERSION_STRING ${BUILD_VERSION}
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION}
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
@@ -88,36 +92,36 @@ if(${CMAKE_BUILD_TYPE} STREQUAL "Release")
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR}/resource/plist/MacOSXBundleInfo.plist.in)
# option for sandbox mode, still under test
- if(GPGFRONTEND_XOCDE_ENABLE_SANDBOX)
+ if(GPGFRONTEND_XCODE_ENABLE_SANDBOX)
message(STATUS "Build Application With App Sandbox")
set(CUSTOM_ATTRIBUTE_ENABLE_APP_SANDBOX "Yes")
- add_custom_command(TARGET ${AppName} POST_BUILD
- COMMAND /bin/cp -rf ${CMAKE_SOURCE_DIR}/resource/lfs/macOS/GnuPG ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}/${AppName}.app/Contents/
+ add_custom_command(TARGET ${APP_NAME} POST_BUILD
+ COMMAND /bin/cp -rf ${CMAKE_SOURCE_DIR}/resource/lfs/macOS/GnuPG ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}/${APP_NAME}.app/Contents/
WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
- COMMENT "Copying Buddled GnuPG into App Bundle Resource")
- set_target_properties(${AppName} PROPERTIES
+ COMMENT "Copying Bundle GnuPG into App Bundle Resource")
+ set_target_properties(${APP_NAME} PROPERTIES
XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_SOURCE_DIR}/resource/entitlements/GpgFrontend.entitlements")
else()
message(STATUS "Build Application Without App Sandbox")
set(CUSTOM_ATTRIBUTE_ENABLE_APP_SANDBOX "No")
endif()
- set_target_properties(${AppName} PROPERTIES
+ set_target_properties(${APP_NAME} PROPERTIES
XCODE_ATTRIBUTE_INSTALL_PATH "$(LOCAL_APPS_DIR)"
XCODE_ATTRIBUTE_SKIP_INSTALL "No"
XCODE_ATTRIBUTE_OTHER_CODE_SIGN_FLAGS "--deep --entitlements ${CMAKE_SOURCE_DIR}/resource/plist/entitlement.plist"
XCODE_ATTRIBUTE_ENABLE_APP_SANDBOX "${CUSTOM_ATTRIBUTE_ENABLE_APP_SANDBOX}"
XCODE_ATTRIBUTE_ENABLE_HARDENED_RUNTIME "Yes"
- XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "${GPGFRONTEND_XOCDE_CODE_SIGN_IDENTITY}")
+ XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "${GPGFRONTEND_XCODE_CODE_SIGN_IDENTITY}")
else()
- add_executable(${AppName} ${APP_SOURCE} ${RESOURCE_FILES})
+ add_executable(${APP_NAME} ${APP_SOURCE} ${RESOURCE_FILES})
endif()
else()
- add_executable(${AppName} ${APP_SOURCE} ${RESOURCE_FILES})
+ add_executable(${APP_NAME} ${APP_SOURCE} ${RESOURCE_FILES})
endif()
# using c++ standard 17
-target_compile_features(${AppName} PUBLIC cxx_std_17)
+target_compile_features(${APP_NAME} PUBLIC cxx_std_17)
# Set Resource Output Path
if(${CMAKE_BUILD_TYPE} STREQUAL "Release")
@@ -316,16 +320,16 @@ if(MINGW)
endif()
# link options for GpgFrontend
-target_link_libraries(${AppName} gpgfrontend_core gpgfrontend_ui gpgfrontend_test)
+target_link_libraries(${APP_NAME} gpgfrontend_core gpgfrontend_ui gpgfrontend_test)
if(MINGW)
message(STATUS "Link Application Library For MINGW")
- target_link_libraries(${AppName} crypto)
+ target_link_libraries(${APP_NAME} crypto)
elseif(APPLE)
message(STATUS "Link Application Library For macOS")
else()
message(STATUS "Link Application Library For Linux")
- target_link_libraries(${AppName} crypto pthread)
+ target_link_libraries(${APP_NAME} crypto pthread)
endif()
# add i18n support
@@ -371,14 +375,14 @@ if(GPGFRONTEND_QT5_BUILD)
qt5_add_resources(GF_I18N_RESOURCES ${QT_QM_TRANSLATIONS_RESOURCE_FILE})
message(STATUS "GF_I18N_RESOURCES ${GF_I18N_RESOURCES}")
- target_sources(${AppName} PRIVATE ${GF_I18N_RESOURCES})
+ target_sources(${APP_NAME} PRIVATE ${GF_I18N_RESOURCES})
else()
add_custom_target(gftranslations ALL)
qt_add_lrelease(gftranslations
TS_FILES ${TS_FILES}
QM_FILES_OUTPUT_VARIABLE GF_TRANSLATIONS_QM)
- qt_add_resources(${AppName} "gftranslations"
+ qt_add_resources(${APP_NAME} "gftranslations"
PREFIX "/i18n"
BASE ${CMAKE_CURRENT_BINARY_DIR}
FILES ${GF_TRANSLATIONS_QM})
@@ -390,14 +394,18 @@ else()
qt_add_lrelease(qttranslations
TS_FILES ${QT_TRANSLATIONS_TS}
QM_FILES_OUTPUT_VARIABLE QT_TRANSLATIONS_QM)
- qt_add_resources(${AppName} "qttranslations"
+ qt_add_resources(${APP_NAME} "qttranslations"
PREFIX "/i18n_qt"
BASE ${CMAKE_CURRENT_BINARY_DIR}
FILES ${QT_TRANSLATIONS_QM})
endif()
include(GNUInstallDirs)
-include(CPack)
+
+#
+# Install information read by application
+#
+configure_file(${CMAKE_SOURCE_DIR}/src/GpgFrontendBuildInstallInfo.h.in ${CMAKE_SOURCE_DIR}/src/GpgFrontendBuildInstallInfo.h @ONLY)
#
# Install generated libraries and application
@@ -408,7 +416,7 @@ set(GPGFRONTEND_INSTALL_LIBRARIES
gpgfrontend_test
gpgfrontend_module_sdk)
-install(TARGETS ${AppName} ${GPGFRONTEND_INSTALL_LIBRARIES}
+install(TARGETS ${APP_NAME} ${GPGFRONTEND_INSTALL_LIBRARIES}
EXPORT GpgFrontendTargets
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
@@ -461,7 +469,7 @@ endforeach()
# Building linux package on linux (DEB or RPM)
if(BUILD_APP_FOR_PACKAGE)
- set(CPACK_PACKAGE_NAME "GpgFrontend")
+ set(CPACK_PACKAGE_NAME "${APP_NAME_LOWER}")
set(CPACK_PACKAGE_VERSION "${PROJECT_VERSION}")
set(CPACK_PACKAGE_RELEASE "1")
set(CPACK_PACKAGE_CONTACT "[email protected]")
@@ -470,6 +478,7 @@ if(BUILD_APP_FOR_PACKAGE)
set(CPACK_PACKAGE_VENDOR "Saturneric")
set(CPACK_PACKAGE_HOMEPAGE_URL "https://gpgfrontend.bktus.com")
+ set(CPACK_PACKAGE_FILE_NAME "${APP_NAME_LOWER}-v${PROJECT_VERSION}")
set(CPACK_GENERATOR "RPM;DEB")
#
@@ -519,4 +528,6 @@ if(BUILD_APP_FOR_PACKAGE)
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
file(CHMOD "${CMAKE_BINARY_DIR}/rpm-post-uninstall.sh"
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
+
+ include(CPack)
endif() \ No newline at end of file
diff --git a/src/GpgFrontendBuildInstallInfo.h.in b/src/GpgFrontendBuildInstallInfo.h.in
index 3f9c74c9..ebb5cfd4 100644
--- a/src/GpgFrontendBuildInstallInfo.h.in
+++ b/src/GpgFrontendBuildInstallInfo.h.in
@@ -35,4 +35,5 @@
#define APP_BIN_PATH "@CMAKE_INSTALL_FULL_BINDIR@"
#define APP_LOCALSTATE_PATH "@CMAKE_INSTALL_FULL_LOCALSTATEDIR@"
#define APP_SYSCONF_PATH "@CMAKE_INSTALL_FULL_SYSCONFDIR@"
-#define APP_INFO_PATH "@CMAKE_INSTALL_FULL_INFODIR@" \ No newline at end of file
+#define APP_INFO_PATH "@CMAKE_INSTALL_FULL_INFODIR@"
+#define APP_LIB_PATH "@CMAKE_INSTALL_FULL_LIBDIR@" \ No newline at end of file
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 4f3b4318..1aeb33f3 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -106,7 +106,7 @@ elseif(APPLE)
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}
XCODE_ATTRIBUTE_SKIP_INSTALL "Yes"
- XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "${GPGFRONTEND_XOCDE_CODE_SIGN_IDENTITY}")
+ XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "${GPGFRONTEND_XCODE_CODE_SIGN_IDENTITY}")
endif()
else()
# linux
diff --git a/src/core/function/GlobalSettingStation.cpp b/src/core/function/GlobalSettingStation.cpp
index 3c0dda88..20bbfc55 100644
--- a/src/core/function/GlobalSettingStation.cpp
+++ b/src/core/function/GlobalSettingStation.cpp
@@ -28,6 +28,9 @@
#include "GlobalSettingStation.h"
+#include "GpgFrontendBuildInstallInfo.h"
+
+//
#include "core/module/ModuleManager.h"
#include "core/utils/FilesystemUtils.h"
@@ -157,11 +160,11 @@ class GlobalSettingStation::Impl {
#if defined(__linux__)
// AppImage
if (!qEnvironmentVariable("APPIMAGE").isEmpty()) {
- return qEnvironmentVariable("APPDIR") + "/usr/modules";
+ return qEnvironmentVariable("APPDIR") + "/usr/lib/modules";
}
// Flatpak
if (!qEnvironmentVariable("container").isEmpty()) {
- return "/app/modules";
+ return "/app/lib/gpgfrontend/modules";
}
#endif
@@ -183,6 +186,12 @@ class GlobalSettingStation::Impl {
#endif
+ // Package or Install
+ auto module_install_path = QString(APP_LIB_PATH) + "/gpgfrontend/modules";
+ if (QFileInfo(module_install_path).exists()) {
+ return module_install_path;
+ }
+
return exec_binary_path + "/modules";
}
diff --git a/src/sdk/CMakeLists.txt b/src/sdk/CMakeLists.txt
index 1f0baca4..55df8fe7 100644
--- a/src/sdk/CMakeLists.txt
+++ b/src/sdk/CMakeLists.txt
@@ -48,5 +48,5 @@ if(XCODE_BUILD)
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}
XCODE_ATTRIBUTE_SKIP_INSTALL "Yes"
- XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "${GPGFRONTEND_XOCDE_CODE_SIGN_IDENTITY}")
+ XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "${GPGFRONTEND_XCODE_CODE_SIGN_IDENTITY}")
endif() \ No newline at end of file
diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
index 63d70d63..52ad9c07 100644
--- a/src/test/CMakeLists.txt
+++ b/src/test/CMakeLists.txt
@@ -52,7 +52,7 @@ if(XCODE_BUILD)
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}
XCODE_ATTRIBUTE_SKIP_INSTALL "Yes"
- XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "${GPGFRONTEND_XOCDE_CODE_SIGN_IDENTITY}")
+ XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "${GPGFRONTEND_XCODE_CODE_SIGN_IDENTITY}")
endif()
add_test(AllTestsInGpgFrontend gpgfrontend_test)
diff --git a/src/ui/CMakeLists.txt b/src/ui/CMakeLists.txt
index 166dceb7..e8862bd0 100644
--- a/src/ui/CMakeLists.txt
+++ b/src/ui/CMakeLists.txt
@@ -78,7 +78,7 @@ if(XCODE_BUILD)
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}
XCODE_ATTRIBUTE_SKIP_INSTALL "Yes"
- XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "${GPGFRONTEND_XOCDE_CODE_SIGN_IDENTITY}")
+ XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "${GPGFRONTEND_XCODE_CODE_SIGN_IDENTITY}")
endif()
target_compile_features(gpgfrontend_ui PUBLIC cxx_std_17) \ No newline at end of file