aboutsummaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@qt.io>2019-10-29 09:03:51 +0100
committerKai Koehne <kai.koehne@qt.io>2019-11-26 08:09:11 +0000
commitb88faae99e37d68aea4b1fd0956ad9e669d60d32 (patch)
tree5208f2f789fd5ee13bdb6947c50ef73e3fc2c218 /CMakeLists.txt
parent03f2d7ae72b71f7320eedcdf3c2611de82be4f83 (diff)
Support building with CMakev4.11.0-rc1
Adds a meta-build that builds & installs extra-cmake-modules and kuserfeedback, and finally src. Note that the meta-build uses ExternalProject_Add, which means that any CMake variables have to be passed explicitly to the sub-projects. The new git submodule extra-cmake-modules allow us to use an unchanged version of kuserfeedback/CMakeLists.txt A typical call might look like this: export CMAKE_PREFIX_PATH=$QTDIR;$CREATOR_BUILD_DR cmake -DUSP_AUTH_KEY="..." -DUSP_SERVER_URL="..." -DCMAKE_INSTALL_PREFIX=$CREATOR_INSTALL_DIR Change-Id: I4cc7b6936cad119156f19474c57045296ff6704e Reviewed-by: Vitaly Fanaskov <vitaly.fanaskov@qt.io>
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt63
1 files changed, 63 insertions, 0 deletions
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
+)