From e35bb50540abe69c9dd6b06d370d740ffa7f5c5b Mon Sep 17 00:00:00 2001
From: Paul McCarthy <pauldmccarthy@gmail.com>
Date: Fri, 19 Nov 2021 15:11:48 +0000
Subject: [PATCH] RF: CUDA link options shopuld be added to NVCCLDFLAGS, not to
 NVCCFLAGS

---
 config/buildSettings.mk | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/config/buildSettings.mk b/config/buildSettings.mk
index a958de2..46c3cce 100644
--- a/config/buildSettings.mk
+++ b/config/buildSettings.mk
@@ -65,6 +65,9 @@ ARCHLIBS =
 #    armadillo structures may have different byte-alignment
 #    to equivalent g++-compiled structures (see
 #    include/armadillo_bits/compiler_setup.hpp)
+#
+#  - Set -std=c++14. This is the newest C++ standard
+#    supported by nvcc for CUDA<11.0.
 ARCHNVCCFLAGS = -DARMA_ALLOW_FAKE_GCC -std=c++14
 
 # Linker flags for CUDA projects.
@@ -197,10 +200,10 @@ ifneq (${NVCC}, )
     # cublas_Lt_static, in addition to culibos
     ifeq ($(patsubst 9.%,,${CUDA_VER}),)
       CUBLAS_STATIC = -lcublas_static -lculibos
-      NVCCFLAGS    += --cudart=static
+      NVCCLDFLAGS  += --cudart=static
     else
       CUBLAS_STATIC = -lcublas_static -lcublasLt_static -lculibos
-      NVCCFLAGS    += --cudart=static --cudadevrt=static
+      NVCCLDFLAGS  += --cudart=static --cudadevrt=static
 	endif
 
     # Other CUDA toolkit components will
@@ -209,9 +212,9 @@ ifneq (${NVCC}, )
                  $(subst -lcurand,-lcurand_static,${CUDALIBS}))
   else
     ifeq ($(patsubst 9.%,,${CUDA_VER}),)
-      NVCCFLAGS += --cudart=shared
+      NVCLDCFLAGS += --cudart=shared
     else
-      NVCCFLAGS += --cudart=shared --cudadevrt=static
+      NVCCLDFLAGS += --cudart=shared --cudadevrt=static
     endif
     _CUDALIBS += ${CUDALIBS}
   endif
-- 
GitLab