diff options
-rw-r--r-- | .gitmodules | 3 | ||||
m--------- | 3rdparty/extra-cmake-modules | 0 | ||||
-rw-r--r-- | CMakeLists.txt | 63 | ||||
-rw-r--r-- | src/CMakeLists.txt | 38 |
4 files changed, 104 insertions, 0 deletions
diff --git a/.gitmodules b/.gitmodules index 0a464e5..8a90637 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "3rdparty/kuserfeedback"] path = 3rdparty/kuserfeedback url = https://git.qt.io/aportale/kuserfeedback.git +[submodule "3rdparty/extra-cmake-modules"] + path = 3rdparty/extra-cmake-modules + url = https://github.com/KDE/extra-cmake-modules.git diff --git a/3rdparty/extra-cmake-modules b/3rdparty/extra-cmake-modules new file mode 160000 +Subproject fd6e98ba6de89a7f08364bb2ec096a5310c1cde diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..895425d --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,63 @@ +cmake_minimum_required(VERSION 3.9) + +project(plugin-telemetry) + +include(ExternalProject) + +# Set common CMAKE_PREFIX_PATH/ CMAKE_PREFIX_PATH_ALT_SEP +# that can be forwarded to external projects +list(APPEND CMAKE_PREFIX_PATH + ${CMAKE_CURRENT_BINARY_DIR}/extra-cmake-modules + ${CMAKE_CURRENT_BINARY_DIR}/kuserfeedback) +string(REPLACE ";" "|" CMAKE_PREFIX_PATH_ALT_SEP "${CMAKE_PREFIX_PATH}") + +ExternalProject_Add(extra-cmake-modules + PREFIX extra-cmake-modules + SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/extra-cmake-modules" + CMAKE_ARGS + -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/extra-cmake-modules +) + +set(KUSERFEEDBACK_COMPONENTS + -DBUILD_SHARED_LIBS=OFF + -DENABLE_SURVEY_TARGET_EXPRESSIONS=OFF + -DENABLE_PHP=OFF + -DENABLE_PHP_UNIT=OFF + -DENABLE_TESTING=OFF + -DENABLE_DOCS=OFF + -DENABLE_CONSOLE=OFF + -DENABLE_CLI=OFF + -DBUILD_SHARED_LIBS=OFF +) + +ExternalProject_Add(kuserfeedback + PREFIX kuserfeedback + SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/kuserfeedback" + LIST_SEPARATOR | + CMAKE_ARGS + ${KUSERFEEDBACK_DEFINES} + ${KUSERFEEDBACK_COMPONENTS} + -DKDE_INSTALL_LIBDIR=lib + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH_ALT_SEP} + -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/kuserfeedback + DEPENDS extra-cmake-modules +) + +if(NOT DEFINED USP_SERVER_URL OR NOT DEFINED USP_AUTH_KEY) + message(WARNING "Collected data won't be sent +Define both USP_SERVER_URL and USP_AUTH_KEY to enable data submission") +endif() + +ExternalProject_Add(plugin + PREFIX plugin + SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src" + LIST_SEPARATOR | + CMAKE_ARGS + -DUSP_AUTH_KEY=${USP_AUTH_KEY} + -DUSP_SERVER_URL=${USP_SERVER_URL} + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH_ALT_SEP} + -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} + DEPENDS kuserfeedback +) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..fb099bd --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,38 @@ +cmake_minimum_required(VERSION 3.9) + +project(UsageStatistic) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) +set(CMAKE_CXX_STANDARD 14) + +find_package(QtCreator COMPONENTS Core TextEditor ProjectExplorer VcsBase REQUIRED) +find_package(Qt5 COMPONENTS Widgets REQUIRED) +find_package(KUserFeedback REQUIRED) + +add_qtc_plugin(UsageStatistic + PLUGIN_DEPENDS + QtCreator::Core QtCreator::Debugger QtCreator::ProjectExplorer QtCreator::QtSupport + DEPENDS Qt5::Widgets QtCreator::ExtensionSystem QtCreator::Utils KUserFeedbackCore KUserFeedbackWidgets + SOURCES + usagestatisticplugin.cpp + datasources/qtclicensesource.cpp + datasources/buildcountsource.cpp + common/scopedsettingsgroupsetter.cpp + datasources/buildsystemsource.cpp + datasources/timeusagesourcebase.cpp + datasources/modeusagetimesource.cpp + datasources/examplesdatasource.cpp + datasources/kitsource.cpp + datasources/qmldesignerusagetimesource.cpp + ui/usagestatisticpage.cpp + ui/usagestatisticwidget.cpp + ui/outputpane.cpp + ui/encouragementwidget.cpp + services/datasubmitter.cpp + usagestatistic.qrc + DEFINES + USP_AUTH_KEY="${USP_AUTH_KEY}" + USP_SERVER_URL="${USP_SERVER_URL}" +) |