diff --git a/benchmark/spmv/CMakeLists.txt b/benchmark/spmv/CMakeLists.txt index 85fa3561074..528826ef8d8 100644 --- a/benchmark/spmv/CMakeLists.txt +++ b/benchmark/spmv/CMakeLists.txt @@ -2,7 +2,12 @@ add_executable(spmv spmv.cpp) target_link_libraries(spmv ginkgo gflags rapidjson) if (GINKGO_BUILD_CUDA) target_compile_definitions(spmv PRIVATE HAS_CUDA=1) + if (NOT MSVC) + target_link_libraries(spmv ginkgo ${CUDA_RUNTIME_LIBS} + ${CUBLAS} ${CUSPARSE}) + target_include_directories(spmv SYSTEM PRIVATE ${CUDA_INCLUDE_DIRS}) + endif() if(CMAKE_CUDA_COMPILER_VERSION GREATER_EQUAL "9.2") target_compile_definitions(spmv PRIVATE ALLOWMP=1) endif() -endif() +endif() \ No newline at end of file diff --git a/cuda/CMakeLists.txt b/cuda/CMakeLists.txt index 6cfaed50a1c..1e8734877a1 100644 --- a/cuda/CMakeLists.txt +++ b/cuda/CMakeLists.txt @@ -14,23 +14,24 @@ if ("${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}" STREQUAL "") set(CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES "${CMAKE_CUDA_ROOT_DIR}/lib/x64") endif() +# This is modified from https://gitlab.kitware.com/cmake/community/wikis/FAQ#dynamic-replace if(MSVC) if(BUILD_SHARED_LIBS) foreach(flag_var CMAKE_CUDA_FLAGS CMAKE_CUDA_FLAGS_DEBUG CMAKE_CUDA_FLAGS_RELEASE CMAKE_CUDA_FLAGS_MINSIZEREL CMAKE_CUDA_FLAGS_RELWITHDEBINFO) - if(${flag_var} MATCHES "/MT") - string(REGEX REPLACE "/MT" "/MD" ${flag_var} "${${flag_var}}") - endif(${flag_var} MATCHES "/MT") + if(${flag_var} MATCHES "-MT") + string(REGEX REPLACE "-MT" "-MD" ${flag_var} "${${flag_var}}") + endif(${flag_var} MATCHES "-MT") set(${flag_var} "${${flag_var}}" CACHE STRING "" FORCE) endforeach(flag_var) else() foreach(flag_var CMAKE_CUDA_FLAGS CMAKE_CUDA_FLAGS_DEBUG CMAKE_CUDA_FLAGS_RELEASE CMAKE_CUDA_FLAGS_MINSIZEREL CMAKE_CUDA_FLAGS_RELWITHDEBINFO) - if(${flag_var} MATCHES "/MD") - string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}") - endif(${flag_var} MATCHES "/MD") + if(${flag_var} MATCHES "-MD") + string(REGEX REPLACE "-MD" "-MT" ${flag_var} "${${flag_var}}") + endif(${flag_var} MATCHES "-MD") set(${flag_var} "${${flag_var}}" CACHE STRING "" FORCE) endforeach(flag_var) endif()