diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-08-11 12:23:48 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-08-11 12:23:48 +0400 |
commit | e588e8e7419591e13965191274e3ca4ae995695e (patch) | |
tree | 3635992e2d926c18e340b706c3a42aa2eb6a6249 /build_files | |
parent | d739a1788d338795039530c2d6503b93ab805161 (diff) |
bugfix [#23257] cmake tests for SSE, but SSE2 gets enabled
patch from Vinay Pawar, some minor changes by me.
Diffstat (limited to 'build_files')
-rw-r--r-- | build_files/cmake/macros.cmake | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index 22c090342ef..0957ace301c 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -183,19 +183,38 @@ MACRO(SETUP_LIBLINKS ENDMACRO(SETUP_LIBLINKS) MACRO(TEST_SSE_SUPPORT) - INCLUDE(CheckCXXSourceCompiles) + INCLUDE(CheckCSourceRuns) MESSAGE(STATUS "Detecting SSE support") IF(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) SET(CMAKE_REQUIRED_FLAGS "-msse -msse2") ELSEIF(MSVC) - SET(CMAKE_REQUIRED_FLAGS "/arch:SSE2") + SET(CMAKE_REQUIRED_FLAGS "/arch:SSE2") # TODO, SSE 1 ? ENDIF() - CHECK_CXX_SOURCE_COMPILES(" + CHECK_C_SOURCE_RUNS(" #include <xmmintrin.h> int main() { __m128 v = _mm_setzero_ps(); return 0; }" SUPPORT_SSE_BUILD) + + CHECK_C_SOURCE_RUNS(" + #include <emmintrin.h> + int main() { __m128d v = _mm_setzero_pd(); return 0; }" + SUPPORT_SSE2_BUILD) + MESSAGE(STATUS "Detecting SSE support") + + IF(SUPPORT_SSE_BUILD) + MESSAGE(STATUS " ...SSE support found.") + ELSE(SUPPORT_SSE_BUILD) + MESSAGE(STATUS " ...SSE support missing.") + ENDIF(SUPPORT_SSE_BUILD) + + IF(SUPPORT_SSE2_BUILD) + MESSAGE(STATUS " ...SSE2 support found.") + ELSE(SUPPORT_SSE2_BUILD) + MESSAGE(STATUS " ...SSE2 support missing.") + ENDIF(SUPPORT_SSE2_BUILD) + ENDMACRO(TEST_SSE_SUPPORT) |