diff options
author | Saturneric <[email protected]> | 2022-01-12 20:20:38 +0000 |
---|---|---|
committer | Saturneric <[email protected]> | 2022-01-12 20:20:38 +0000 |
commit | 1c3a29f611ab619e7fbb98862a19e20eb029ff63 (patch) | |
tree | 35525ee1b99e3b19fa9e07b73e07917e20f2d47a /src | |
parent | <refactor, chore>(project, ui, core): Normalize third-party dependencies. (diff) | |
parent | <feat>(ci): adjust the ci file (diff) | |
download | GpgFrontend-1c3a29f611ab619e7fbb98862a19e20eb029ff63.tar.gz GpgFrontend-1c3a29f611ab619e7fbb98862a19e20eb029ff63.zip |
<refactor, chore, fix>(project, ui, core): Merged with dev/ci/2.0.5
1. Mainly changes in project configuration files
2. Fix existing problems in project construction
Diffstat (limited to 'src')
-rw-r--r-- | src/CMakeLists.txt | 12 | ||||
-rw-r--r-- | src/gpg/CMakeLists.txt | 9 | ||||
-rw-r--r-- | src/gpg/GpgConstants.cpp | 64 | ||||
-rw-r--r-- | src/gpg/GpgConstants.h | 1 | ||||
-rw-r--r-- | src/ui/CMakeLists.txt | 3 |
5 files changed, 66 insertions, 23 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7f243df8..d17be5e4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -32,7 +32,6 @@ if (APPLICATION_BUILD) # Set Binary Output Path set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}) endif () - message(STATUS "CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}") endif () @@ -50,7 +49,6 @@ if (APPLICATION_BUILD) else () set(RESOURCE_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) endif () - message(STATUS "RESOURCE_OUTPUT_DIRECTORY ${RESOURCE_OUTPUT_DIRECTORY}") endif () # Get ALL SOURCE FILES @@ -65,7 +63,6 @@ if (MULTI_LANG_SUPPORT) FIND_PROGRAM(GETTEXT_XGETTEXT_EXECUTABLE xgettext) set(LOCALE_OUTPUT_PATH ${RESOURCE_OUTPUT_DIRECTORY}/locales) - message(STATUS "LOCALE_OUTPUT_PATH ${LOCALE_OUTPUT_PATH}") if (NOT GETTEXT_MSGFMT_EXECUTABLE OR NOT GETTEXT_XGETTEXT_EXECUTABLE) message(ERROR "msgfmt or xgettext not found. Translations will *not* be installed") @@ -80,12 +77,11 @@ if (MULTI_LANG_SUPPORT) file(GLOB ALL_PO_FILES ${CMAKE_SOURCE_DIR}/resource/locale/po/*.po) SET(GMO_FILES) - message(STATUS "ALL_PO_FILES ${ALL_PO_FILES}") foreach (_poFile ${ALL_PO_FILES}) GET_FILENAME_COMPONENT(_poFileName ${_poFile} NAME) string(REGEX REPLACE "\\.[^.]*$" "" _langName ${_poFileName}) - message(STATUS "_poFileName ${_langName}") + message(STATUS "GNU gettext po file ${_langName}") make_directory(${RESOURCE_OUTPUT_DIRECTORY}/locales) make_directory(${RESOURCE_OUTPUT_DIRECTORY}/locales/${_langName}/LC_MESSAGES) add_custom_command( @@ -241,7 +237,6 @@ if (APPLICATION_BUILD) set(GPGFRONTEND_LIBS ${GPGFRONTEND_AFTER_UI_LIBS} gpgfrontend_ui gpgfrontend_core ${GPGFRONTEND_BEFORE_UI_LIBS} easyloggingpp) set(QT_DEPENDENCY_LIBS Qt5::Network Qt5::PrintSupport Qt5::Widgets Qt5::Test Qt5::Core) - message(STATUS "Boost Libraries ${Boost_LIBRARIES}") IF (MINGW) message(STATUS "Link Application Static Library For MINGW") @@ -293,11 +288,11 @@ if (LINUX_INSTALL_SOFTWARE) DESTINATION /usr/share/icons/hicolor/) endif () if (MULTI_LANG_SUPPORT) - message(STATUS "Local Output Path ${LOCALE_OUTPUT_PATH}") install(DIRECTORY ${LOCALE_OUTPUT_PATH}/ DESTINATION ${CMAKE_INSTALL_FULL_LOCALEDIR}) endif () if (APP_PACKAGE_DEB) + message(STATUS "Configure Deb Package") SET(CPACK_GENERATOR "DEB") set(CPACK_INSTALL_PREFIX "/usr/local/") set(CPACK_PACKAGE_NAME "gpgfrontend") @@ -314,3 +309,6 @@ if (LINUX_INSTALL_SOFTWARE) endif () endif () +message(STATUS "Resource Files: ${RESOURCE_OUTPUT_DIRECTORY}") +message(STATUS "Locale Files: ${LOCALE_OUTPUT_PATH}") +message(STATUS "Runtime Files: ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}") diff --git a/src/gpg/CMakeLists.txt b/src/gpg/CMakeLists.txt index 52cb5d3c..693b9147 100644 --- a/src/gpg/CMakeLists.txt +++ b/src/gpg/CMakeLists.txt @@ -6,23 +6,22 @@ aux_source_directory(. GPG_SOURCE) add_library(gpgfrontend_core STATIC ${GPG_SOURCE}) set(UTILS_DIR ${CMAKE_SOURCE_DIR}/utils) + set(GPGME_LIB_DIR ${UTILS_DIR}/gpgme/lib) set(THIRD_PARTY_LIBS easyloggingpp config++) set(BOOST_LIBS Boost::date_time Boost::filesystem) -message(STATUS "Third Party Libraries " ${THIRD_PARTY_LIBS}) - if (MINGW) message(STATUS "Link GPG Static Library For MINGW") target_link_libraries(gpgfrontend_core ${THIRD_PARTY_LIBS} ${BOOST_LIBS} - gpgme gpg-error assuan wsock32) + gpgme assuan gpg-error wsock32) target_compile_features(gpgfrontend_core PUBLIC cxx_std_17) elseif (APPLE) message(STATUS "Link GPG Static Library For macOS") target_link_libraries(gpgfrontend_core ${THIRD_PARTY_LIBS} - gpgme gpg-error assuan + gpgme assuan gpg-error ${BOOST_LIBS} dl) if (XCODE_BUILD) @@ -35,7 +34,7 @@ elseif (APPLE) else () message(STATUS "Link GPG Static Library For Unix") target_link_libraries(gpgfrontend_core ${THIRD_PARTY_LIBS} - gpgme gpg-error assuan + gpgme assuan gpg-error ${BOOST_LIBS} pthread dl) endif () diff --git a/src/gpg/GpgConstants.cpp b/src/gpg/GpgConstants.cpp index 100bf8f8..2c9403da 100644 --- a/src/gpg/GpgConstants.cpp +++ b/src/gpg/GpgConstants.cpp @@ -49,6 +49,9 @@ const char* GpgFrontend::GpgConstants::PGP_PRIVATE_KEY_BEGIN = const char* GpgFrontend::GpgConstants::GPG_FRONTEND_SHORT_CRYPTO_HEAD = "GpgF_Scpt://"; +/// +/// \param err gpg_error_t +/// \return gpgme_error_t GpgFrontend::check_gpg_error(gpgme_error_t err) { if (gpg_err_code(err) != GPG_ERR_NO_ERROR) { LOG(ERROR) << "[" << _("Error") << " " << gpg_err_code(err) << "] " @@ -58,6 +61,10 @@ gpgme_error_t GpgFrontend::check_gpg_error(gpgme_error_t err) { return err; } +/// +/// \param err +/// \param predict +/// \return gpg_err_code_t GpgFrontend::check_gpg_error_2_err_code(gpgme_error_t err, gpgme_error_t predict) { auto err_code = gpg_err_code(err); @@ -69,7 +76,10 @@ gpg_err_code_t GpgFrontend::check_gpg_error_2_err_code(gpgme_error_t err, return err_code; } -// error-handling +/// +/// \param err +/// \param comment +/// \return gpgme_error_t GpgFrontend::check_gpg_error(gpgme_error_t err, const std::string& comment) { if (gpg_err_code(err) != GPG_ERR_NO_ERROR) { @@ -80,6 +90,9 @@ gpgme_error_t GpgFrontend::check_gpg_error(gpgme_error_t err, return err; } +/// +/// \param fingerprint +/// \return std::string GpgFrontend::beautify_fingerprint( GpgFrontend::BypeArrayConstRef fingerprint) { auto len = fingerprint.size(); @@ -93,14 +106,16 @@ std::string GpgFrontend::beautify_fingerprint( return out.str(); } -// trim from start (in place) +/// +/// \param s static inline void ltrim(std::string& s) { s.erase(s.begin(), std::find_if(s.begin(), s.end(), [](unsigned char ch) { return !std::isspace(ch); })); } -// trim from end (in place) +/// +/// \param s static inline void rtrim(std::string& s) { s.erase(std::find_if(s.rbegin(), s.rend(), [](unsigned char ch) { return !std::isspace(ch); }) @@ -108,13 +123,18 @@ static inline void rtrim(std::string& s) { s.end()); } -// trim from both ends (in place) +/// +/// \param s +/// \return static inline std::string trim(std::string& s) { ltrim(s); rtrim(s); return s; } +/// +/// \param utf8_path +/// \return std::string GpgFrontend::read_all_data_in_file(const std::string& utf8_path) { using namespace boost::filesystem; class path file_info(utf8_path.c_str()); @@ -133,6 +153,10 @@ std::string GpgFrontend::read_all_data_in_file(const std::string& utf8_path) { return in_buffer; } +/// +/// \param utf8_path +/// \param out_buffer +/// \return bool GpgFrontend::write_buffer_to_file(const std::string& utf8_path, const std::string& out_buffer) { using namespace boost::filesystem; @@ -149,6 +173,9 @@ bool GpgFrontend::write_buffer_to_file(const std::string& utf8_path, return true; } +/// +/// \param path +/// \return std::string GpgFrontend::get_file_extension(const std::string& path) { // Create a path object from given string boost::filesystem::path path_obj(path); @@ -162,6 +189,9 @@ std::string GpgFrontend::get_file_extension(const std::string& path) { return {}; } +/// +/// \param path +/// \return std::string GpgFrontend::get_only_file_name_with_path(const std::string& path) { // Create a path object from given string boost::filesystem::path path_obj(path); @@ -174,12 +204,9 @@ std::string GpgFrontend::get_only_file_name_with_path(const std::string& path) { return {}; } -/* - * isSigned returns: - * - 0, if text isn't signed at all - * - 1, if text is partially signed - * - 2, if text is completly signed - */ +/// +/// \param text +/// \return int GpgFrontend::text_is_signed(GpgFrontend::BypeArrayRef text) { using boost::algorithm::ends_with; using boost::algorithm::starts_with; @@ -195,36 +222,53 @@ int GpgFrontend::text_is_signed(GpgFrontend::BypeArrayRef text) { return 0; } +/// +/// \param result +/// \return GpgFrontend::GpgEncrResult GpgFrontend::_new_result( gpgme_encrypt_result_t&& result) { gpgme_result_ref(result); return {result, _result_ref_deletor()}; } +/// +/// \param result +/// \return GpgFrontend::GpgDecrResult GpgFrontend::_new_result( gpgme_decrypt_result_t&& result) { gpgme_result_ref(result); return {result, _result_ref_deletor()}; } +/// +/// \param result +/// \return GpgFrontend::GpgSignResult GpgFrontend::_new_result( gpgme_sign_result_t&& result) { gpgme_result_ref(result); return {result, _result_ref_deletor()}; } +/// +/// \param result +/// \return GpgFrontend::GpgVerifyResult GpgFrontend::_new_result( gpgme_verify_result_t&& result) { gpgme_result_ref(result); return {result, _result_ref_deletor()}; } +/// +/// \param result +/// \return GpgFrontend::GpgGenKeyResult GpgFrontend::_new_result( gpgme_genkey_result_t&& result) { gpgme_result_ref(result); return {result, _result_ref_deletor()}; } +/// +/// \param _result void GpgFrontend::_result_ref_deletor::operator()(void* _result) { DLOG(INFO) << _("Called") << _result; if (_result != nullptr) gpgme_result_unref(_result); diff --git a/src/gpg/GpgConstants.h b/src/gpg/GpgConstants.h index d2f9b0b6..9ac0d7ad 100644 --- a/src/gpg/GpgConstants.h +++ b/src/gpg/GpgConstants.h @@ -25,7 +25,6 @@ #ifndef GPG_CONSTANTS_H #define GPG_CONSTANTS_H -#include <gpg-error.h> #include <gpgme.h> #include <cassert> diff --git a/src/ui/CMakeLists.txt b/src/ui/CMakeLists.txt index ed250b82..073da46f 100644 --- a/src/ui/CMakeLists.txt +++ b/src/ui/CMakeLists.txt @@ -39,6 +39,9 @@ target_link_libraries(${GPGFRONTEND_UI_LIB_NAME} target_link_libraries(${GPGFRONTEND_UI_LIB_NAME} easyloggingpp) +# link gpgfrontend_core +target_link_libraries(${GPGFRONTEND_UI_LIB_NAME} + gpgfrontend_core) target_include_directories(gpgfrontend_ui PUBLIC ${CMAKE_CURRENT_BINARY_DIR}/${GPGFRONTEND_UI_LIB_NAME}_autogen/include) |