diff options
author | Vitaly Fanaskov <vitaly.fanaskov@qt.io> | 2019-08-14 11:33:01 +0200 |
---|---|---|
committer | Vitaly Fanaskov <vitaly.fanaskov@qt.io> | 2019-08-21 08:37:25 +0000 |
commit | 7fac843b497a5cab3c6791e7a6a97111e688f6fd (patch) | |
tree | 6b05ac67433b150bf99aa2ef3981cb4c501068ed /usagestatistic.pro | |
parent | fd9b1ad43f4c056b976f609a6391b9bf399a65b7 (diff) |
KUserFeedback framework builds as a separate target
Change-Id: Icc1954c54bb122404f07a3c4e193d9256b306e26
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'usagestatistic.pro')
-rw-r--r-- | usagestatistic.pro | 48 |
1 files changed, 45 insertions, 3 deletions
diff --git a/usagestatistic.pro b/usagestatistic.pro index 47216f5..d0061c9 100644 --- a/usagestatistic.pro +++ b/usagestatistic.pro @@ -1,9 +1,11 @@ DEFINES += USAGESTATISTIC_LIBRARY -KUSERFEEDBACK_PATH = "$${PWD}/3rdparty/kuserfeedback" +KUSERFEEDBACK_SOURCE_PATH = "$${PWD}/3rdparty/kuserfeedback" +KUSERFEEDBACK_BUILD_PATH = "$${OUT_PWD}/kuserfeedback/build" +KUSERFEEDBACK_INSTALL_PATH = "$${OUT_PWD}/kuserfeedback" -INCLUDEPATH *= "$${KUSERFEEDBACK_PATH}/include" "$${PWD}" -LIBS *= -L"$${KUSERFEEDBACK_PATH}/lib" -lKUserFeedbackCore -lKUserFeedbackWidgets -lKUserFeedbackCommon +INCLUDEPATH *= "$${KUSERFEEDBACK_INSTALL_PATH}/include" "$${PWD}" +LIBS *= -L"$${KUSERFEEDBACK_INSTALL_PATH}/lib" -lKUserFeedbackCore -lKUserFeedbackWidgets -lKUserFeedbackCommon CONFIG += c++1z QMAKE_CXXFLAGS *= -Wall -Wextra -pedantic @@ -86,6 +88,46 @@ QTC_PLUGIN_RECOMMENDS += \ ###### End _dependencies.pri contents ###### +!build_pass { + EXTRA_CMAKE_MODULES_BUILD_PATH = "$${OUT_PWD}/extra-cmake-modules/build" + EXTRA_CMAKE_MODULES_SOURCE_PATH = "$${PWD}/3rdparty/extra-cmake-modules" + EXTRA_CMAKE_MODULES_INSTALL_PATH = "$${OUT_PWD}/extra-cmake-modules" + + # Configure extra-cmake-modules + system("cmake -S $$shell_path($${EXTRA_CMAKE_MODULES_SOURCE_PATH}) \ + -B $$shell_path($${EXTRA_CMAKE_MODULES_BUILD_PATH}) \ + -DCMAKE_INSTALL_PREFIX:PATH=\"$$shell_path($${EXTRA_CMAKE_MODULES_INSTALL_PATH})\"") + + # "Build" extra-cmake-modules first time. This step is required to configure KUserFeedback + EXTRA_CMAKE_MODULES_BUILD_CMD = "cmake --build $$shell_path($${EXTRA_CMAKE_MODULES_BUILD_PATH}) --parallel --target install" + system("$${EXTRA_CMAKE_MODULES_BUILD_CMD}") + + # Configure KUserFeedback + CMAKE_PREFIX_PATHS = "$$shell_path($$[QT_INSTALL_LIBS]/cmake);$$shell_path($${EXTRA_CMAKE_MODULES_INSTALL_PATH}/share/ECM/cmake)" + BUILD_TYPE = Debug + CONFIG(release, debug|release): BUILD_TYPE = Release + system("cmake -S $$shell_path($${KUSERFEEDBACK_SOURCE_PATH}) \ + -B $$shell_path($${KUSERFEEDBACK_BUILD_PATH}) \ + -DBUILD_SHARED_LIBS=OFF \ + -DCMAKE_BUILD_TYPE=$${BUILD_TYPE} \ + -DCMAKE_INSTALL_PREFIX:PATH=\"$$shell_path($${KUSERFEEDBACK_INSTALL_PATH})\" \ + -DCMAKE_PREFIX_PATH=\"$${CMAKE_PREFIX_PATHS}\" \ + -DKDE_INSTALL_LIBDIR=lib") + + buildextracmakemodules.commands = "$${EXTRA_CMAKE_MODULES_BUILD_CMD}" + + buildkuserfeedback.commands = "cmake --build $$shell_path($${KUSERFEEDBACK_BUILD_PATH}) --parallel --target install" + buildkuserfeedback.depends = buildextracmakemodules + + # Force build order. Without this flag Make tries building targets + # in a random order when -jN specified. + # All targets themselves (but not the plugin itself) will be built in parallel + notParallel.target = .NOTPARALLEL + + QMAKE_EXTRA_TARGETS += buildextracmakemodules buildkuserfeedback notParallel + PRE_TARGETDEPS += buildkuserfeedback +} + include($$IDE_SOURCE_TREE/src/qtcreatorplugin.pri) FORMS += \ |