llvm-project/orc-rt/lib/executor/CMakeLists.txt
Lang Hames f2be60c40e
[orc-rt] Add QueueingTaskDispatcher API. (#172401)
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.
2025-12-16 17:43:36 +11:00

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
)