Merge branch release-5-1 into release-2016
[alexxy/gromacs.git] / cmake / gmxDetectSimd.cmake
index 78225473f9cff55d83952edf939f93661b79a603..28fbdc21f63514e0b02692e0d08a4f482e0fc84d 100644 (file)
@@ -64,15 +64,15 @@ function(gmx_suggest_simd _suggested_simd)
     gmx_test_inline_asm_gcc_x86(GMX_X86_GCC_INLINE_ASM)
 
     if(GMX_X86_GCC_INLINE_ASM)
-        set(GCC_INLINE_ASM_DEFINE "-DGMX_X86_GCC_INLINE_ASM")
+        set(GCC_INLINE_ASM_DEFINE "-DGMX_X86_GCC_INLINE_ASM=1")
     else()
-        set(GCC_INLINE_ASM_DEFINE "")
+        set(GCC_INLINE_ASM_DEFINE "-DGMX_X86_GCC_INLINE_ASM=0")
     endif()
 
     message(STATUS "Detecting best SIMD instructions for this CPU")
 
     # Get CPU SIMD properties information
-    set(_compile_definitions "${GCC_INLINE_ASM_DEFINE} -I${CMAKE_SOURCE_DIR}/src -DGMX_CPUID_STANDALONE")
+    set(_compile_definitions "${GCC_INLINE_ASM_DEFINE} -I${CMAKE_SOURCE_DIR}/src -DGMX_CPUINFO_STANDALONE ${GMX_STDLIB_CXX_FLAGS}")
     if(GMX_TARGET_X86)
         set(_compile_definitions "${_compile_definitions} -DGMX_TARGET_X86")
     endif()
@@ -86,10 +86,12 @@ function(gmx_suggest_simd _suggested_simd)
         # TODO Extract this try_compile to a helper function, because
         # it duplicates code in gmxDetectSimd.cmake
         set(GMX_DETECTSIMD_BINARY "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/GmxDetectSimd${CMAKE_EXECUTABLE_SUFFIX}")
+        set(LINK_LIBRARIES "${GMX_STDLIB_LIBRARIES}")
         try_compile(GMX_DETECTSIMD_COMPILED
             "${CMAKE_CURRENT_BINARY_DIR}"
-            "${CMAKE_CURRENT_SOURCE_DIR}/src/gromacs/gmxlib/gmx_cpuid.c"
+            "${CMAKE_CURRENT_SOURCE_DIR}/src/gromacs/hardware/cpuinfo.cpp"
             COMPILE_DEFINITIONS "${_compile_definitions}"
+            CMAKE_FLAGS "-DLINK_LIBRARIES=${LINK_LIBRARIES}"
             OUTPUT_VARIABLE GMX_DETECTSIMD_COMPILED_OUTPUT
             COPY_FILE ${GMX_DETECTSIMD_BINARY})
         unset(_compile_definitions)