mesytec-mnode/external/taskflow-3.8.0/examples/CMakeLists.txt

93 lines
2.3 KiB
Text
Raw Normal View History

2025-01-04 01:25:05 +01:00
list(APPEND TF_EXAMPLES
simple
attach_data
async
subflow_async
dependent_async
dependent_async_algorithm
observer
subflow
fibonacci
condition
multi_condition
switch_case
do_while_loop
while_loop
if_else
nested_if_else
visualization
parallel_for
parallel_sort
reduce
inclusive_scan
exclusive_scan
pipeline
scalable_pipeline
scalable_pipeline_with_deferred_tokens
text_pipeline
taskflow_pipeline
parallel_graph_pipeline
parallel_data_pipeline
pipeline_with_deferred_tokens
run
corun
runtime
composition
limited_concurrency
cancel
exception
)
foreach(example IN LISTS TF_EXAMPLES)
add_executable(${example} ${example}.cpp)
target_link_libraries(
${example} ${PROJECT_NAME} ${ATOMIC_LIBRARY} tf::default_settings
)
# set emcc options
if (CMAKE_SYSTEM_NAME STREQUAL Emscripten)
target_link_options(${example} PUBLIC -sASSERTIONS=1 -sPROXY_TO_PTHREAD -sTOTAL_MEMORY=1536MB -sEXIT_RUNTIME=1 -sUSE_PTHREADS=1)
target_compile_options(${example} PUBLIC -matomics)
endif()
endforeach()
# -----------------------------------------------------------------------------
# cuda examples
# -----------------------------------------------------------------------------
if(TF_BUILD_CUDA)
add_subdirectory(cuda)
endif()
# -----------------------------------------------------------------------------
# sycl examples
# -----------------------------------------------------------------------------
if(TF_BUILD_SYCL)
add_subdirectory(sycl)
endif()
#### TensorFrame Project
##set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${TF_EXAMPLE_DIR}/tensorframe)
#add_executable(add ${TF_EXAMPLE_DIR}/tensorframe/add.cpp)
#target_link_libraries(
# add TensorFrame Threads::Threads tf::default_settings
#)
#### TaskflowDSL project
#### TODO: enable only when C++17 is available
##set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${TF_EXAMPLE_DIR}/dsl)
#add_executable(condition_dsl ${TF_EXAMPLE_DIR}/dsl/condition_dsl.cpp)
#target_link_libraries(
# condition_dsl TaskflowDSL tf::default_settings
#)
#
#add_executable(simple_dsl ${TF_EXAMPLE_DIR}/dsl/simple_dsl.cpp)
#target_link_libraries(
# simple_dsl TaskflowDSL tf::default_settings
#)
#
#add_executable(visualization_dsl ${TF_EXAMPLE_DIR}/dsl/visualization_dsl.cpp)
#target_link_libraries(
# visualization_dsl TaskflowDSL tf::default_settings
#)