summaryrefslogtreecommitdiffstats
path: root/async/autotests/CMakeLists.txt
diff options
context:
space:
mode:
authorDan Vrátil <dvratil@redhat.com>2015-03-30 17:49:26 +0200
committerDan Vrátil <dvratil@redhat.com>2015-03-30 17:49:28 +0200
commit8f2fed8d2a1b23a8f318047b6592ad64b6ecbd22 (patch)
tree6f8d5ea2dc8695dfc6c3c641c2ef044ad5810bd8 /async/autotests/CMakeLists.txt
parent1d946c166cc7a4a2556e8bfaab7dc66695b555e1 (diff)
downloadsink-8f2fed8d2a1b23a8f318047b6592ad64b6ecbd22.tar.gz
sink-8f2fed8d2a1b23a8f318047b6592ad64b6ecbd22.zip
Async: initial support for native chaining of KJobs
It is now possible use KJob-derived jobs with libasync without having to write lambda wrappers. auto job = Async::start<ReturnType, MyKJob, MyKJob::result, Args ...) .then<ReturnType, OtherKJob, OtherKJob::result, PrevKJobReturnType>(); job.exec(arg1, arg2, ...); The reason for this approach (instead of taking KJob* as an argument is that we usually want the KJob ctor arguments to depend on result of previous job. At least in case of Async::start() however it makes sense to support passing KJob* as an argument (not yet implemented). In future we should also support custom error handlers. The KJob integration is build-time optional, but enabled by default (pass -DWITH_KJOB=FALSE to CMake to disable). Adds KCoreAddons dependency.
Diffstat (limited to 'async/autotests/CMakeLists.txt')
-rw-r--r--async/autotests/CMakeLists.txt8
1 files changed, 7 insertions, 1 deletions
diff --git a/async/autotests/CMakeLists.txt b/async/autotests/CMakeLists.txt
index a2bedc8..8116f13 100644
--- a/async/autotests/CMakeLists.txt
+++ b/async/autotests/CMakeLists.txt
@@ -2,4 +2,10 @@ include_directories(../src ${CMAKE_CURRENT_BINARY_DIR})
2 2
3add_executable(asynctest asynctest.cpp) 3add_executable(asynctest asynctest.cpp)
4qt5_use_modules(asynctest Test) 4qt5_use_modules(asynctest Test)
5target_link_libraries(asynctest akonadi2async Qt5::Core Qt5::Test) \ No newline at end of file 5target_link_libraries(asynctest akonadi2async Qt5::Core Qt5::Test)
6
7if (WITH_KJOB)
8 add_executable(kjobtest kjobtest.cpp testkjob.cpp)
9 qt5_use_modules(kjobtest Test)
10 target_link_libraries(kjobtest akonadi2async Qt5::Core Qt5::Test KF5::CoreAddons)
11endif () \ No newline at end of file