Fix RISC-V cross-compiliation issue (#165)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 50d3414..aa3a075 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -233,14 +233,18 @@
 if (NOT LIBDIVIDE_AVX512 STREQUAL "AUTO")
     set(LIBDIVIDE_AVX512_ENABLED "${LIBDIVIDE_AVX512}")
 else()
-    check_cxx_source_runs("
+    set(AVX512_TEST "
                 #include <immintrin.h>
                 int main()
                 {
                     __m512i a = _mm512_setzero_si512();
                     return *(int *)&a;
-                }"
-                LIBDIVIDE_AVX512_ENABLED)
+                }")
+    if (CMAKE_CROSSCOMPILING)
+        check_cxx_source_compiles("${AVX512_TEST}" LIBDIVIDE_AVX512_ENABLED)
+    else()
+        check_cxx_source_runs("${AVX512_TEST}" LIBDIVIDE_AVX512_ENABLED)
+    endif()
 endif()
 
 # AVX2
@@ -248,28 +252,36 @@
     set(LIBDIVIDE_AVX2_ENABLED "${LIBDIVIDE_AVX2}")
 else()
     # Need to use an AVX2 insn like srai, not just AVX.
-    check_cxx_source_runs("
+    set(AVX2_TEST "
                 #include <immintrin.h>
                 int main()
                 {
                     __m256i a = _mm256_srai_epi32(_mm256_setzero_si256(), 3);
                     return *(int *)&a;
-                }"
-                LIBDIVIDE_AVX2_ENABLED)
+                }")
+    if (CMAKE_CROSSCOMPILING)
+        check_cxx_source_compiles("${AVX2_TEST}" LIBDIVIDE_AVX2_ENABLED)
+    else()
+        check_cxx_source_runs("${AVX2_TEST}" LIBDIVIDE_AVX2_ENABLED)
+    endif()
 endif()
 
 # SSE2
 if (NOT LIBDIVIDE_SSE2 STREQUAL "AUTO")
     set(LIBDIVIDE_SSE2_ENABLED "${LIBDIVIDE_SSE2}")
 else()
-    check_cxx_source_runs("
+    set(SSE2_TEST "
                 #include <emmintrin.h>
                 int main()
                 {
                     __m128i a = _mm_setzero_si128();
                     return *(int *)&a;
-                }"
-                LIBDIVIDE_SSE2_ENABLED)
+                }")
+    if (CMAKE_CROSSCOMPILING)
+        check_cxx_source_compiles("${SSE2_TEST}" LIBDIVIDE_SSE2_ENABLED)
+    else()
+        check_cxx_source_runs("${SSE2_TEST}" LIBDIVIDE_SSE2_ENABLED)
+    endif()
 endif()
 cmake_pop_check_state()