# Describe property define_property(GLOBAL PROPERTY ALP_ALL_BENCHMARK_TARGETS BRIEF_DOCS "Global list of elements" FULL_DOCS "Global list of elements") # Initialize property set_property(GLOBAL PROPERTY ALP_ALL_BENCHMARK_TARGETS "") # Macro for add values into the list macro(add_alp_benchmark var) set_property(GLOBAL APPEND PROPERTY ALP_ALL_BENCHMARK_TARGETS "${var}") endmacro(add_alp_benchmark) #----------------------------------------------------------------------------------------------------------------------- #----------------------------------------------------------------------------------------------------------------------- # always add fallback implementations. not important for benchmarking add_compile_definitions(ALP_FALLBACK) add_subdirectory(fallback) #----------------------------------------------------------------------------------------------------------------------- if (${CMAKE_SYSTEM_NAME} MATCHES "Emscripten") set(CMAKE_EXECUTABLE_SUFFIX ".html") add_subdirectory(wasm) else () if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm64" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64") add_subdirectory(arm64v8) add_compile_definitions(ALP_ARM64V8) elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "(x86)|(X86)|(amd64)|(AMD64)") add_subdirectory(x86_64) add_compile_definitions(ALP_X86_64) else () endif () endif () #----------------------------------------------------------------------------------------------------------------------- add_library(alp_generated SHARED ${ALP_GENERATED_OBJECT_FILES} alp_generated.cpp) #----------------------------------------------------------------------------------------------------------------------- cmake_print_properties( TARGETS alp_generated PROPERTIES COMPILE_DEFINITIONS PROPERTIES COMPILE_OPTIONS PROPERTIES COMPILE_FEATURES) #----------------------------------------------------------------------------------------------------------------------- get_property(BENCHMARK_LIST GLOBAL PROPERTY ALP_ALL_BENCHMARK_TARGETS) message(STATUS "BENCHMARK LIST: ${BENCHMARK_LIST}") foreach (i IN LISTS BENCHMARK_LIST) list(APPEND add_custom_target_args COMMAND $) endforeach () add_custom_target(alp_benchmark_all ${add_custom_target_args} )