mirror of
https://github.com/NVIDIA/nvbench.git
synced 2026-04-29 19:21:14 +00:00
Bump CMake to 3.18.3 for NVCC/MSVC/C++17 bugfixes.
Otherwise the C++17 flags won't be added.
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
cmake_minimum_required(VERSION 3.18)
|
# 3.18.3 is needed for a MSVC + NVCC + C++17 bugfix.
|
||||||
|
cmake_minimum_required(VERSION 3.18.3)
|
||||||
|
|
||||||
project(nvbench CUDA)
|
project(nvbench CUDA)
|
||||||
|
|
||||||
@@ -27,9 +28,5 @@ CPMAddPackage(
|
|||||||
GIT_TAG 7.1.3
|
GIT_TAG 7.1.3
|
||||||
)
|
)
|
||||||
|
|
||||||
# Why does CMake make it so difficult to enable cuda C++17 with interface
|
|
||||||
# properties...Resorting to brute force to unblock.
|
|
||||||
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -std=c++17")
|
|
||||||
|
|
||||||
add_subdirectory(nvbench)
|
add_subdirectory(nvbench)
|
||||||
add_subdirectory(testing)
|
add_subdirectory(testing)
|
||||||
|
|||||||
@@ -17,11 +17,10 @@ set(srcs
|
|||||||
detail/state_generator.cu
|
detail/state_generator.cu
|
||||||
)
|
)
|
||||||
|
|
||||||
# TODO shared may be a good idea to reduce compilation overhead for large
|
|
||||||
# benchmark libraries.
|
|
||||||
add_library(nvbench STATIC ${srcs})
|
add_library(nvbench STATIC ${srcs})
|
||||||
# TODO generator expression for installed paths
|
|
||||||
|
# TODO generator expressions for installed paths
|
||||||
target_include_directories(nvbench PUBLIC "${nvbench_SOURCE_DIR}")
|
target_include_directories(nvbench PUBLIC "${nvbench_SOURCE_DIR}")
|
||||||
target_link_libraries(nvbench PRIVATE fmt::fmt)
|
target_link_libraries(nvbench PRIVATE fmt::fmt)
|
||||||
target_link_libraries(nvbench INTERFACE benchmark_main)
|
target_link_libraries(nvbench INTERFACE benchmark_main)
|
||||||
set_target_properties(nvbench PROPERTIES COMPILE_FEATURES cuda_std_17)
|
target_compile_features(nvbench PUBLIC cuda_std_17)
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ namespace nvbench
|
|||||||
{
|
{
|
||||||
|
|
||||||
benchmark_manager &benchmark_manager::get()
|
benchmark_manager &benchmark_manager::get()
|
||||||
{
|
{ // Karen's function:
|
||||||
static benchmark_manager the_manager;
|
static benchmark_manager the_manager;
|
||||||
return the_manager;
|
return the_manager;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user