2025-01-12 20:42:42 +08:00

51 lines
2.1 KiB
CMake

# Copyright (c) 2019-present, Facebook, Inc.
#
# This source code is licensed under the license found in the
# LICENSE.txt file in the root directory of this source tree.
file(GLOB example-sources "*.cpp")
foreach(file-path ${example-sources})
string( REPLACE ".cpp" "" file-path-without-ext ${file-path} )
get_filename_component(file-name ${file-path-without-ext} NAME)
add_executable( ${file-name} ${file-path})
target_link_libraries(${file-name} PUBLIC unifex)
add_test(NAME "example-${file-name}" COMMAND ${file-name})
endforeach()
if(CXX_MEMORY_RESOURCE_HAVE_PMR)
target_link_libraries(any_unique PUBLIC std::memory_resource)
target_link_libraries(submit_allocator_customisation PUBLIC std::memory_resource)
endif()
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
file(GLOB linux-example-sources "linux/*.cpp")
foreach(file-path ${linux-example-sources})
string( REPLACE ".cpp" "" file-path-without-ext ${file-path} )
get_filename_component(file-name ${file-path-without-ext} NAME)
add_executable( ${file-name} ${file-path})
target_link_libraries(${file-name} PUBLIC unifex)
add_test(NAME "example-${file-name}" COMMAND ${file-name})
endforeach()
else()
if (NOT UNIFEX_NO_EPOLL)
file(GLOB epoll-example-sources "linux/*epoll_test.cpp")
foreach(file-path ${epoll-example-sources})
string( REPLACE ".cpp" "" file-path-without-ext ${file-path} )
get_filename_component(file-name ${file-path-without-ext} NAME)
add_executable( ${file-name} ${file-path})
target_link_libraries(${file-name} PUBLIC unifex)
add_test(NAME "example-${file-name}" COMMAND ${file-name})
endforeach()
endif()
if (NOT UNIFEX_NO_LIBURING)
file(GLOB liburing-example-sources "linux/*uring_test.cpp")
foreach(file-path ${liburing-example-sources})
string( REPLACE ".cpp" "" file-path-without-ext ${file-path} )
get_filename_component(file-name ${file-path-without-ext} NAME)
add_executable( ${file-name} ${file-path})
target_link_libraries(${file-name} PUBLIC unifex)
add_test(NAME "example-${file-name}" COMMAND ${file-name})
endforeach()
endif()
endif()