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:
Allison Vacanti
2021-01-14 17:46:09 -05:00
parent de6f5ca89f
commit 570aed1373
3 changed files with 6 additions and 10 deletions

View File

@@ -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)
@@ -27,9 +28,5 @@ CPMAddPackage(
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(testing)

View File

@@ -17,11 +17,10 @@ set(srcs
detail/state_generator.cu
)
# TODO shared may be a good idea to reduce compilation overhead for large
# benchmark libraries.
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_link_libraries(nvbench PRIVATE fmt::fmt)
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)

View File

@@ -9,7 +9,7 @@ namespace nvbench
{
benchmark_manager &benchmark_manager::get()
{
{ // Karen's function:
static benchmark_manager the_manager;
return the_manager;
}