Add a case to detect risc-v architectures.
Fixes #941
 #elif defined(__THW_RS6000)
     #error archfound rs6000
 
+// RISC-V
+#elif defined(__riscv) 
+    #if __riscv_xlen == 64
+        #error archfound riscv64
+    #elif __riscv_xlen == 32
+        #error archfound riscv32
+
 // return 'unrecognized' if we do not know what architecture this is
 #else
     #error archfound unrecognized
 
 elseif("${ARCH}" MATCHES "rs6000")
     set(BASEARCH "rs6000")
     set(BASEARCH_RS6000_FOUND TRUE)
+elseif("${ARCH}" MATCHES "riscv(32|64)")
+    set(BASEARCH "riscv")
+    set(BASEARCH_RISCV_FOUND TRUE)
 else()
     set(BASEARCH "x86")
     set(BASEARCH_X86_FOUND TRUE)