From 9b2f69925a59ac5bafdfafb650a2f2f785348085 Mon Sep 17 00:00:00 2001 From: Dominic Meiser Date: Thu, 20 Aug 2015 08:28:07 -0600 Subject: [PATCH] FindCUDA: Fix object build rule for separate compilation on VS 2013+ (#15697) The handling of multilevel dependencies has been fixed in Visual Studio 2013. The work around used for VS 2010 and VS 2012 does not work for VS 2013 any more. Switch to normal object build rules for VS 2013 and newer. --- Modules/FindCUDA.cmake | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Modules/FindCUDA.cmake b/Modules/FindCUDA.cmake index f4b078310..1fc582fae 100644 --- a/Modules/FindCUDA.cmake +++ b/Modules/FindCUDA.cmake @@ -1584,9 +1584,8 @@ function(CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS output_file cuda_target options # we work around that issue by compiling the intermediate link object as a # pre-link custom command in that situation. set(do_obj_build_rule TRUE) - if (MSVC_VERSION GREATER 1599) - # VS 2010 and 2012 have this problem. If future versions fix this issue, - # it should still work, it just won't be as nice as the other method. + if (MSVC_VERSION GREATER 1599 AND MSVC_VERSION LESS 1800) + # VS 2010 and 2012 have this problem. set(do_obj_build_rule FALSE) endif()