Skip to content

Commit 96e4218

Browse files
authored
Merge pull request #4501 from dmikushin/add-benchmarks-to-cmake
Adding basic support of benchmarks into CMake
2 parents 5a57cbf + 8698f9e commit 96e4218

1 file changed

Lines changed: 28 additions & 0 deletions

File tree

CMakeLists.txt

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -458,6 +458,34 @@ if (BUILD_SHARED_LIBS AND NOT ${SYMBOLPREFIX}${SYMBOLSUFFIX} STREQUAL "")
458458
endif()
459459
endif()
460460
461+
if (BUILD_TESTING)
462+
find_package(OpenMP REQUIRED)
463+
file(GLOB SOURCES "benchmark/*.c")
464+
foreach(source ${SOURCES})
465+
get_filename_component(name ${source} NAME_WE)
466+
if ((NOT ${name} STREQUAL "zdot-intel") AND (NOT ${name} STREQUAL "cula_wrapper"))
467+
set(defines DEFAULT COMPLEX DOUBLE "COMPLEX\;DOUBLE")
468+
foreach(define ${defines})
469+
set(target_name "benchmark_${name}")
470+
if (NOT "${define}" STREQUAL "DEFAULT")
471+
string(JOIN "_" define_str ${define})
472+
set(target_name "${target_name}_${define_str}")
473+
endif()
474+
if ((NOT ${target_name} STREQUAL "benchmark_imax_COMPLEX") AND (NOT ${target_name} STREQUAL "benchmark_imax_COMPLEX_DOUBLE") AND
475+
(NOT ${target_name} STREQUAL "benchmark_imin_COMPLEX") AND (NOT ${target_name} STREQUAL "benchmark_imin_COMPLEX_DOUBLE") AND
476+
(NOT ${target_name} STREQUAL "benchmark_max_COMPLEX") AND (NOT ${target_name} STREQUAL "benchmark_max_COMPLEX_DOUBLE") AND
477+
(NOT ${target_name} STREQUAL "benchmark_min_COMPLEX") AND (NOT ${target_name} STREQUAL "benchmark_min_COMPLEX_DOUBLE"))
478+
add_executable(${target_name} ${source})
479+
target_include_directories(${target_name} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
480+
target_link_libraries(${target_name} ${OpenBLAS_LIBNAME} OpenMP::OpenMP_C)
481+
if (NOT "${define}" STREQUAL "DEFAULT")
482+
target_compile_definitions(${target_name} PRIVATE ${define})
483+
endif()
484+
endif()
485+
endforeach()
486+
endif()
487+
endforeach()
488+
endif()
461489
462490
463491
# Install project

0 commit comments

Comments
 (0)