QueueingTaskDispatcher adds Tasks to a the back of a double ended queue that is accessible to clients via the `pop_back` and `pop_front` methods. Clients can manually take and run tasks, or call `runLIFOUntilEmpty` or `runFIFOUntilEmpty` to run tasks until the queue is empty. QueueingTaskDispatcher is intended for use in unit tests, and as a foundation for blocking convenience APIs in environments without threads. QueueingTaskDispatcher should generally be avoided, and ThreadPoolTaskDispatcher preferred, where threads are available.
25 lines
609 B
CMake
25 lines
609 B
CMake
set(files
|
|
AllocAction.cpp
|
|
Error.cpp
|
|
QueueingTaskDispatcher.cpp
|
|
ResourceManager.cpp
|
|
RTTI.cpp
|
|
Session.cpp
|
|
SimpleNativeMemoryMap.cpp
|
|
TaskDispatcher.cpp
|
|
ThreadPoolTaskDispatcher.cpp
|
|
)
|
|
|
|
add_library(orc-rt-executor STATIC ${files})
|
|
target_link_libraries(orc-rt-executor
|
|
PUBLIC orc-rt-headers
|
|
)
|
|
|
|
# Apply RTTI and exceptions compile flags
|
|
target_compile_options(orc-rt-executor PRIVATE ${ORC_RT_COMPILE_FLAGS})
|
|
install(TARGETS orc-rt-executor
|
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
COMPONENT OrcRT_Development
|
|
PUBLIC_HEADER DESTINATION include COMPONENT OrcRT_Development
|
|
)
|