From 86643fa46f4b1195fbf979a3e71d1daa64e215ed Mon Sep 17 00:00:00 2001 From: Quentin Rouland Date: Sat, 16 Mar 2019 16:18:05 +0100 Subject: [PATCH] Fix build cmake --- CMakeLists.txt | 76 +------------------------------- clickable.json | 3 ++ plugins/Pass/CMakeLists.txt | 21 +++++++++ plugins/Pass/pass.cpp | 14 ++++-- plugins/Pass/pass.h | 1 + po/utpass.qrouland.pot | 16 +++---- qml/Main.qml | 2 + qml/components/Search.qml | 12 ----- qml/components/qmldir | 3 +- qml/pages/headers/MainHeader.qml | 8 +++- third/CMakeLists.txt | 53 ++++++++++++++++++++++ 11 files changed, 106 insertions(+), 103 deletions(-) delete mode 100644 qml/components/Search.qml create mode 100644 third/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 8fb6795..086da58 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,80 +8,8 @@ find_package(Qt5Core) find_package(Qt5Qml) find_package(Qt5Quick) - set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") -execute_process( - COMMAND dpkg-architecture -qDEB_HOST_ARCH - OUTPUT_VARIABLE CLICK_ARCH - OUTPUT_STRIP_TRAILING_WHITESPACE -) - -execute_process( - COMMAND dpkg-architecture -qDEB_HOST_MULTIARCH - OUTPUT_VARIABLE ARCH_TRIPLET - OUTPUT_STRIP_TRAILING_WHITESPACE -) - -# Add external dependencies -set(EXTERNAL_LIBS "${CMAKE_SOURCE_DIR}/local") -set(COMPILE_TOOLS "${CMAKE_SOURCE_DIR}/tools") -set(ENV{PATH} "${EXTERNAL_LIBS}/bin:${COMPILE_TOOLS}:$ENV{PATH}") -set(THIRD_PATH "${CMAKE_CURRENT_SOURCE_DIR}/third") -set(LIBGPGERROR_PATH "${THIRD_PATH}/libgpg-error") -set(LIBASSUANSRC_PATH "${THIRD_PATH}/libassuan") -set(LIBGPGME_PATH "${THIRD_PATH}/gpgme") - -INCLUDE_DIRECTORIES(${EXTERNAL_LIBS}/include) -LINK_DIRECTORIES(${EXTERNAL_LIBS}/lib) - -ExternalProject_Add( - LibGpgError - INSTALL_DIR ${EXTERNAL_LIBS} - DOWNLOAD_COMMAND "" - SOURCE_DIR ${LIBGPGERROR_PATH} - CONFIGURE_COMMAND /autogen.sh && /configure --prefix=${EXTERNAL_LIBS} --enable-maintainer-mode --enable-static --host ${ARCH_TRIPLET} - BUILD_IN_SOURCE 1 - BUILD_COMMAND make - INSTALL_COMMAND make install -) - -add_library(target-LibGpgError SHARED IMPORTED) -set_property(TARGET target-LibGpgError PROPERTY IMPORTED_LOCATION "${EXTERNAL_LIBS}/lib/libgpg-error.so") - -ExternalProject_Add( - LibGpgAssuan - DEPENDS LibGpgError - INSTALL_DIR ${EXTERNAL_LIBS} - DOWNLOAD_COMMAND "" - SOURCE_DIR ${LIBASSUANSRC_PATH} - CONFIGURE_COMMAND /autogen.sh && /configure --prefix=${EXTERNAL_LIBS} --enable-maintainer-mode --enable-static --with-libgpg-error-prefix=${EXTERNAL_LIBS} --host ${ARCH_TRIPLET} - BUILD_IN_SOURCE 1 - BUILD_COMMAND make - INSTALL_COMMAND make install -) - -add_library(target-LibGpgAssuan SHARED IMPORTED) -set_property(TARGET target-LibGpgAssuan PROPERTY IMPORTED_LOCATION "${EXTERNAL_LIBS}/lib/libassuan.so") - -ExternalProject_Add( - LibGpgme - DEPENDS LibGpgError LibGpgAssuan - INSTALL_DIR ${EXTERNAL_LIBS} - DOWNLOAD_COMMAND "" - SOURCE_DIR ${LIBGPGME_PATH} - CONFIGURE_COMMAND /autogen.sh && /configure --enable-languages=cpp,qt --prefix=${EXTERNAL_LIBS} --enable-maintainer-mode --enable-static --with-libgpg-error-prefix=${EXTERNAL_LIBS} --with-libassuan-prefix=${EXTERNAL_LIBS} --host ${ARCH_TRIPLET} - BUILD_IN_SOURCE 1 - BUILD_COMMAND make - INSTALL_COMMAND make install -) - -add_library(target-LibGpgppme SHARED IMPORTED) -set_property(TARGET target-LibGpgppme PROPERTY IMPORTED_LOCATION "${EXTERNAL_LIBS}/lib/libgpgmepp.so") - -add_library(target-LibQGpgme SHARED IMPORTED) -set_property(TARGET target-LibQGpgme PROPERTY IMPORTED_LOCATION "${EXTERNAL_LIBS}/lib/libqgpgme.so") - # Automatically create moc files set(CMAKE_AUTOMOC ON) @@ -94,8 +22,6 @@ set(DATA_DIR /) set(DESKTOP_FILE_NAME ${PROJECT_NAME}.desktop) add_executable(${PROJECT_NAME} main.cpp) -add_dependencies(${PROJECT_NAME} LibGpgAssuan LibGpgError LibGpgme) -target_link_libraries(${PROJECT_NAME} target-LibGpgAssuan target-LibGpgError target-LibGpgppme target-LibQGpgme) qt5_use_modules(${PROJECT_NAME} Gui Qml Quick) install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}) @@ -105,7 +31,6 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/manifest.json DESTINATION ${CMAKE_INST install(FILES ${PROJECT_NAME}.apparmor DESTINATION ${DATA_DIR}) install(DIRECTORY qml DESTINATION ${DATA_DIR}) install(DIRECTORY assets DESTINATION ${DATA_DIR}) -install(DIRECTORY local/lib DESTINATION ${DATA_DIR}) install(DIRECTORY password-store DESTINATION ${DATA_DIR}) @@ -130,6 +55,7 @@ add_custom_target(${DESKTOP_FILE_NAME} ALL install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_FILE_NAME} DESTINATION ${DATA_DIR}) +add_subdirectory(third) add_subdirectory(po) add_subdirectory(plugins) diff --git a/clickable.json b/clickable.json index e64cd45..6c291d2 100644 --- a/clickable.json +++ b/clickable.json @@ -11,5 +11,8 @@ "dependencies_build": [ "texinfo", "gpgsm" + ], + "dependencies_target": [ + ] } diff --git a/plugins/Pass/CMakeLists.txt b/plugins/Pass/CMakeLists.txt index 1f9abf5..f8f11c7 100644 --- a/plugins/Pass/CMakeLists.txt +++ b/plugins/Pass/CMakeLists.txt @@ -13,6 +13,27 @@ add_library(${PLUGIN} MODULE ${SRC}) set_target_properties(${PLUGIN} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PLUGIN}) qt5_use_modules(${PLUGIN} Qml Quick DBus) + +set(EXTERNAL_LIBS "${CMAKE_SOURCE_DIR}/local") +set(THIRD_PATH "${CMAKE_CURRENT_SOURCE_DIR}") + +INCLUDE_DIRECTORIES(${EXTERNAL_LIBS}/include) +add_dependencies(${PLUGIN} LibGpgme) + +add_library(target-LibGpgError STATIC IMPORTED) +set_property(TARGET target-LibGpgError PROPERTY IMPORTED_LOCATION "${EXTERNAL_LIBS}/lib/libgpg-error.a") + +add_library(target-LibGpgAssuan STATIC IMPORTED) +set_property(TARGET target-LibGpgAssuan PROPERTY IMPORTED_LOCATION "${EXTERNAL_LIBS}/lib/libassuan.a") + +add_library(target-LibGpgppme STATIC IMPORTED) +set_property(TARGET target-LibGpgppme PROPERTY IMPORTED_LOCATION "${EXTERNAL_LIBS}/lib/libgpgmepp.a") + +add_library(target-LibQGpgme STATIC IMPORTED) +set_property(TARGET target-LibQGpgme PROPERTY IMPORTED_LOCATION "${EXTERNAL_LIBS}/lib/libqgpgme.a") + +target_link_libraries(${PLUGIN} target-LibGpgAssuan target-LibGpgError target-LibGpgppme target-LibQGpgme) + execute_process( COMMAND dpkg-architecture -qDEB_HOST_MULTIARCH OUTPUT_VARIABLE ARCH_TRIPLET diff --git a/plugins/Pass/pass.cpp b/plugins/Pass/pass.cpp index e095a4f..ba4ab9b 100644 --- a/plugins/Pass/pass.cpp +++ b/plugins/Pass/pass.cpp @@ -2,15 +2,21 @@ #include #include "pass.h" #include "gpgme++/global.h" -#include "qgpgme/protocol.h" #include "qgpgme/encryptjob.h" #include "qgpgme/decryptjob.h" #include "qgpgme/keylistjob.h" Pass::Pass() { - GpgME::initializeLibrary(); - this->gpgHome = qgetenv("GNUPGHOME"); + qDebug() << "Initializing GpgMe"; + /*auto err = GpgME::initializeLibrary(GpgME::OpenPGP); + if(err) { + qFatal("Fatal error when initializing GpgMe"); + }*/ +} + +void Pass::speak() { + qDebug() << "Starting app from main.cpp"; } QString Pass::decrypt(const QByteArray cipherText) { @@ -56,4 +62,4 @@ bool Pass::encrypt_file(const QString str, const QString path) { } file.write(Pass::encrypt(str)); return true;*/ -} \ No newline at end of file +} diff --git a/plugins/Pass/pass.h b/plugins/Pass/pass.h index dbe9bb0..58c95e6 100644 --- a/plugins/Pass/pass.h +++ b/plugins/Pass/pass.h @@ -11,6 +11,7 @@ public: Pass(); ~Pass() override = default; + Q_INVOKABLE void speak(); Q_INVOKABLE QString decrypt(QByteArray plainText); Q_INVOKABLE QString decrypt_file(QString path); Q_INVOKABLE QByteArray encrypt(QString str); diff --git a/po/utpass.qrouland.pot b/po/utpass.qrouland.pot index 94db92e..c8b639e 100644 --- a/po/utpass.qrouland.pot +++ b/po/utpass.qrouland.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: utpass.qrouland\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-03-16 09:07+0000\n" +"POT-Creation-Date: 2019-03-16 15:17+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,11 +17,6 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: ../qml/components/Search.qml:6 ../qml/pages/headers/MainHeader.qml:23 -#: ../qml/pages/headers/MainHeader.qml:36 -msgid "Search" -msgstr "" - #: ../qml/pages/PasswordList.qml:17 msgid "Back" msgstr "" @@ -30,7 +25,7 @@ msgstr "" msgid "No password found in the current folder" msgstr "" -#: ../qml/pages/Settings.qml:8 ../qml/pages/headers/MainHeader.qml:44 +#: ../qml/pages/Settings.qml:8 ../qml/pages/headers/MainHeader.qml:47 msgid "Settings" msgstr "" @@ -39,7 +34,12 @@ msgstr "" msgid "UTPass" msgstr "" -#: ../qml/pages/headers/MainHeader.qml:51 ../qml/pages/Info.qml:9 +#: ../qml/pages/headers/MainHeader.qml:23 +#: ../qml/pages/headers/MainHeader.qml:36 +msgid "Search" +msgstr "" + +#: ../qml/pages/headers/MainHeader.qml:54 ../qml/pages/Info.qml:9 msgid "Info" msgstr "" diff --git a/qml/Main.qml b/qml/Main.qml index 19a6b50..35c6959 100644 --- a/qml/Main.qml +++ b/qml/Main.qml @@ -1,6 +1,7 @@ import QtQuick 2.4 import QtQuick.Layouts 1.1 import Ubuntu.Components 1.3 +import Pass 1.0 import "components" @@ -19,4 +20,5 @@ MainView { Component.onCompleted: push(pageStack.push(Qt.resolvedUrl("pages/PasswordList.qml"))) } + Component.onCompleted: Pass.speak() } diff --git a/qml/components/Search.qml b/qml/components/Search.qml deleted file mode 100644 index 24a5231..0000000 --- a/qml/components/Search.qml +++ /dev/null @@ -1,12 +0,0 @@ -import QtQuick 2.4 - -Item { - TextField { - id: searchBar - placeholderText: i18n.tr("Search") - height: units.gu(4) - visible: false - anchors.verticalCenter: parent.verticalCenter - } - Component.onCompleted: ; -} diff --git a/qml/components/qmldir b/qml/components/qmldir index 75a27c8..dc821f9 100644 --- a/qml/components/qmldir +++ b/qml/components/qmldir @@ -1,3 +1,2 @@ FileDir 1.0 FileDir.qml -Link 1.0 Link.qml -Search 1.0 Search.qml \ No newline at end of file +Link 1.0 Link.qml \ No newline at end of file diff --git a/qml/pages/headers/MainHeader.qml b/qml/pages/headers/MainHeader.qml index 289206a..190304f 100644 --- a/qml/pages/headers/MainHeader.qml +++ b/qml/pages/headers/MainHeader.qml @@ -24,6 +24,7 @@ PageHeader { height: units.gu(4) visible: false anchors.verticalCenter: parent.verticalCenter + onFocusChanged: {} } } @@ -34,8 +35,11 @@ PageHeader { iconName: "search" text: i18n.tr("Search") onTriggered: { - searchBar.visible = searchBar.visible ? false : true; - labelTitle.visible = labelTitle.visible ? false : true; + searchBar.visible = !searchBar.visible; + labelTitle.visible = !searchBar.visible; + if (searchBar.visible === true) { + searchBar.focus = true + } } }, Action { diff --git a/third/CMakeLists.txt b/third/CMakeLists.txt new file mode 100644 index 0000000..81d949e --- /dev/null +++ b/third/CMakeLists.txt @@ -0,0 +1,53 @@ +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") + +execute_process( + COMMAND dpkg-architecture -qDEB_HOST_MULTIARCH + OUTPUT_VARIABLE ARCH_TRIPLET + OUTPUT_STRIP_TRAILING_WHITESPACE +) + + +set(EXTERNAL_LIBS "${CMAKE_SOURCE_DIR}/local") +set(THIRD_PATH "${CMAKE_CURRENT_SOURCE_DIR}") +set(ENV{PATH} "${EXTERNAL_LIBS}/bin") +set(LIBGPGERROR_PATH "${THIRD_PATH}/libgpg-error") +set(LIBASSUANSRC_PATH "${THIRD_PATH}/libassuan") +set(LIBGPGME_PATH "${THIRD_PATH}/gpgme") + +#INCLUDE_DIRECTORIES(${EXTERNAL_LIBS}/include) +#LINK_DIRECTORIES(${EXTERNAL_LIBS}/lib) + +ExternalProject_Add( + LibGpgError + INSTALL_DIR ${EXTERNAL_LIBS} + DOWNLOAD_COMMAND "" + SOURCE_DIR ${LIBGPGERROR_PATH} + CONFIGURE_COMMAND /autogen.sh && /configure --prefix=${EXTERNAL_LIBS} --enable-static=yes --enable-shared=no --with-pic=yes --enable-maintainer-mode --host ${ARCH_TRIPLET} + BUILD_IN_SOURCE 1 + BUILD_COMMAND make + INSTALL_COMMAND make install +) + +ExternalProject_Add( + LibGpgAssuan + DEPENDS LibGpgError + INSTALL_DIR ${EXTERNAL_LIBS} + DOWNLOAD_COMMAND "" + SOURCE_DIR ${LIBASSUANSRC_PATH} + CONFIGURE_COMMAND /autogen.sh && /configure --prefix=${EXTERNAL_LIBS} --enable-static=yes --enable-shared=no --with-pic=yes --enable-maintainer-mode --with-libgpg-error-prefix=${EXTERNAL_LIBS} --host ${ARCH_TRIPLET} + BUILD_IN_SOURCE 1 + BUILD_COMMAND make + INSTALL_COMMAND make install +) + +ExternalProject_Add( + LibGpgme + DEPENDS LibGpgError LibGpgAssuan + INSTALL_DIR ${EXTERNAL_LIBS} + DOWNLOAD_COMMAND "" + SOURCE_DIR ${LIBGPGME_PATH} + CONFIGURE_COMMAND /autogen.sh && /configure --enable-languages=cpp,qt --enable-static=yes --enable-shared=no --with-pic=yes --prefix=${EXTERNAL_LIBS} --enable-maintainer-mode --with-libgpg-error-prefix=${EXTERNAL_LIBS} --with-libassuan-prefix=${EXTERNAL_LIBS} --host ${ARCH_TRIPLET} + BUILD_IN_SOURCE 1 + BUILD_COMMAND make + INSTALL_COMMAND make install +) \ No newline at end of file