From 9a6d598ca4a76e366c92c877ed4ff7a293eed673 Mon Sep 17 00:00:00 2001
From: Stephen Sorley <Stephen.Sorley@jhuapl.edu>
Date: Thu, 11 Aug 2016 15:54:28 -0400
Subject: [PATCH] Fix for missing librt on Linux when using static cuda
 runtime.

Commit 7229ae7 changed FindCUDA.cmake to only add librt to the link
line for CUDA versions 6.5 and older. However, newer versions of
CUDA still require librt.
---
 Modules/FindCUDA.cmake | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/Modules/FindCUDA.cmake b/Modules/FindCUDA.cmake
index 972068b..2a66d0a 100644
--- a/Modules/FindCUDA.cmake
+++ b/Modules/FindCUDA.cmake
@@ -818,12 +818,13 @@ if(CUDA_USE_STATIC_CUDA_RUNTIME)
     else()
       unset(CMAKE_THREAD_PREFER_PTHREAD)
     endif()
-  endif()
-  if (UNIX AND NOT APPLE AND CUDA_VERSION VERSION_LESS "7.0")
-    # Before CUDA 7.0, there was librt that has things such as, clock_gettime, shm_open, and shm_unlink.
-    find_library(CUDA_rt_LIBRARY rt)
-    if (NOT CUDA_rt_LIBRARY)
-      message(WARNING "Expecting to find librt for libcudart_static, but didn't find it.")
+    
+    if(NOT APPLE)
+      #On Linux, you must link against librt when using the static cuda runtime.
+      find_library(CUDA_rt_LIBRARY rt)
+      if (NOT CUDA_rt_LIBRARY)
+        message(WARNING "Expecting to find librt for libcudart_static, but didn't find it.")
+      endif()
     endif()
   endif()
 endif()
-- 
1.9.1

