mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
36 lines
1.3 KiB
CMake
36 lines
1.3 KiB
CMake
cmake_minimum_required(VERSION 3.10)
|
|
project(EigenUnsupportedBenchmarks CXX)
|
|
|
|
find_package(benchmark REQUIRED)
|
|
find_package(Threads REQUIRED)
|
|
|
|
set(EIGEN_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../..")
|
|
|
|
# Helper: add a Google Benchmark target (mirrors benchmarks/CMakeLists.txt).
|
|
# eigen_add_benchmark(name source [LIBRARIES lib1 lib2 ...] [DEFINITIONS def1 def2 ...])
|
|
function(eigen_add_benchmark name source)
|
|
cmake_parse_arguments(BENCH "" "" "LIBRARIES;DEFINITIONS" ${ARGN})
|
|
if(NOT IS_ABSOLUTE "${source}")
|
|
set(source "${CMAKE_CURRENT_SOURCE_DIR}/${source}")
|
|
endif()
|
|
add_executable(${name} ${source})
|
|
target_include_directories(${name} PRIVATE ${EIGEN_SOURCE_DIR})
|
|
target_link_libraries(${name} PRIVATE benchmark::benchmark benchmark::benchmark_main
|
|
Threads::Threads)
|
|
if(BENCH_LIBRARIES)
|
|
target_link_libraries(${name} PRIVATE ${BENCH_LIBRARIES})
|
|
endif()
|
|
target_compile_options(${name} PRIVATE -O3 -DNDEBUG)
|
|
if(BENCH_DEFINITIONS)
|
|
target_compile_definitions(${name} PRIVATE ${BENCH_DEFINITIONS})
|
|
endif()
|
|
endfunction()
|
|
|
|
add_subdirectory(Tensor)
|
|
add_subdirectory(MatrixFunctions)
|
|
add_subdirectory(SpecialFunctions)
|
|
add_subdirectory(AutoDiff)
|
|
add_subdirectory(Splines)
|
|
add_subdirectory(IterativeSolvers)
|
|
add_subdirectory(KroneckerProduct)
|