diff options
author | Kai Koehne <kai.koehne@qt.io> | 2019-10-29 09:03:51 +0100 |
---|---|---|
committer | Kai Koehne <kai.koehne@qt.io> | 2019-11-26 08:09:11 +0000 |
commit | b88faae99e37d68aea4b1fd0956ad9e669d60d32 (patch) | |
tree | 5208f2f789fd5ee13bdb6947c50ef73e3fc2c218 /CMakeLists.txt | |
parent | 03f2d7ae72b71f7320eedcdf3c2611de82be4f83 (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.txt | 63 |
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 +) |