首先,有this answer描述了如何摆弄FindCUDA.cmake
,以便我们可以正确地链接到CUDA 9.0+重命名的NPP库,但是Ubuntu 16.04中的默认CMake 3.5.1需要此代码将手动添加。
但是,如果有人忘记应用该更改,或者搜索路径使得选择了较旧的FindCUDA.cmake
,我想报告一个错误。这段代码几乎可以做到:
find_package(CUDA)
if (CUDA_VERSION VERSION_GREATER_EQUAL "9.0")
if (NOT CUDA_nppial_LIBRARY)
message(FATAL_ERROR "CUDA 9.0+ libraries not set in file at ${FINDCUDA_FILE}")
endif()
target_link_libraries(foo ${CUDA_nppial_LIBRARY})
endif()
除了我不知道在${FINDCUDA_FILE}
中使用什么,而且搜索代码并没有给我任何线索。有没有这样的变量或其他方式可以找到该文件?