mirror of
https://github.com/NVIDIA/nvbench.git
synced 2026-03-14 20:27:24 +00:00
The new dependency emits some warnings from it's header. We'll need to suppress / fix those.
51 lines
1.3 KiB
CMake
51 lines
1.3 KiB
CMake
# 3.18.3 is needed for a MSVC + NVCC + C++17 bugfix.
|
|
cmake_minimum_required(VERSION 3.18.3)
|
|
|
|
# CXX to work around issues with CUDA-only CMake projects.
|
|
project(NVBench CUDA CXX)
|
|
|
|
option(NVBench_ENABLE_TESTING "Build NVBench testing suite." OFF)
|
|
|
|
# Setup some vars for CPM packages:
|
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/")
|
|
|
|
# NVBench requires C++17.
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CUDA_STANDARD 17)
|
|
|
|
# TODO this probably should use GNUInstallDirs or something.
|
|
set(NVBench_LIBRARY_OUTPUT_DIR "${CMAKE_BINARY_DIR}/lib")
|
|
set(NVBench_EXECUTABLE_OUTPUT_DIR "${CMAKE_BINARY_DIR}/bin")
|
|
|
|
include(CPM)
|
|
|
|
CPMAddPackage(
|
|
NAME fmt
|
|
GITHUB_REPOSITORY fmtlib/fmt
|
|
GIT_TAG 7.1.3
|
|
)
|
|
|
|
# Following recipe from
|
|
# http://github.com/cpm-cmake/CPM.cmake/blob/master/examples/json/CMakeLists.txt
|
|
CPMAddPackage(
|
|
NAME nlohmann_json
|
|
VERSION 3.9.1
|
|
# not using the repo as it takes forever to clone
|
|
URL https://github.com/nlohmann/json/releases/download/v3.9.1/include.zip
|
|
URL_HASH SHA256=6bea5877b1541d353bd77bdfbdb2696333ae5ed8f9e8cc22df657192218cad91
|
|
)
|
|
|
|
if(nlohmann_json_ADDED)
|
|
add_library(nvbench_json INTERFACE)
|
|
target_include_directories(nvbench_json SYSTEM INTERFACE
|
|
"${nlohmann_json_SOURCE_DIR}/include"
|
|
)
|
|
endif()
|
|
|
|
add_subdirectory(nvbench)
|
|
|
|
if (NVBench_ENABLE_TESTING)
|
|
enable_testing()
|
|
add_subdirectory(testing)
|
|
endif()
|