[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [40736] trunk/blender: cmake: sse flags were being defined in 2 different places
Campbell Barton
ideasman42 at gmail.com
Sat Oct 1 20:29:40 CEST 2011
Revision: 40736
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=40736
Author: campbellbarton
Date: 2011-10-01 18:29:40 +0000 (Sat, 01 Oct 2011)
Log Message:
-----------
cmake: sse flags were being defined in 2 different places
Modified Paths:
--------------
trunk/blender/CMakeLists.txt
trunk/blender/build_files/cmake/macros.cmake
Modified: trunk/blender/CMakeLists.txt
===================================================================
--- trunk/blender/CMakeLists.txt 2011-10-01 17:54:33 UTC (rev 40735)
+++ trunk/blender/CMakeLists.txt 2011-10-01 18:29:40 UTC (rev 40736)
@@ -273,7 +273,7 @@
set(WITH_HEADLESS ON)
endif()
-TEST_SSE_SUPPORT()
+TEST_SSE_SUPPORT(COMPILER_SSE_FLAG COMPILER_SSE2_FLAG)
# don't store paths to libs for portable distrobution
if(WITH_INSTALL_PORTABLE)
@@ -1128,34 +1128,17 @@
# See TEST_SSE_SUPPORT() for how this is defined.
if(WITH_RAYOPTIMIZATION)
- if(CMAKE_COMPILER_IS_GNUCC)
- set(_sse "-msse")
- set(_sse2 "-msse2")
- elseif(MSVC)
- set(_sse "/arch:SSE")
- set(_sse2 "/arch:SSE2")
- elseif(CMAKE_C_COMPILER_ID MATCHES "Intel")
- set(_sse) # icc only has sse2
- set(_sse2 "-xSSE2")
- else()
- message(WARNING "SSE flags for this compiler: '${CMAKE_C_COMPILER_ID}' not known")
- set(_sse)
- set(_sse2)
- endif()
-
if(SUPPORT_SSE_BUILD)
- set(PLATFORM_CFLAGS " ${_sse} ${PLATFORM_CFLAGS}")
+ set(PLATFORM_CFLAGS " ${COMPILER_SSE_FLAG} ${PLATFORM_CFLAGS}")
add_definitions(-D__SSE__ -D__MMX__)
endif()
if(SUPPORT_SSE2_BUILD)
- set(PLATFORM_CFLAGS " ${_sse2} ${PLATFORM_CFLAGS}")
+ set(PLATFORM_CFLAGS " ${COMPILER_SSE2_FLAG} ${PLATFORM_CFLAGS}")
add_definitions(-D__SSE2__)
if(NOT SUPPORT_SSE_BUILD) # dont double up
add_definitions(-D__MMX__)
endif()
endif()
- unset(_sse)
- unset(_sse2)
endif()
Modified: trunk/blender/build_files/cmake/macros.cmake
===================================================================
--- trunk/blender/build_files/cmake/macros.cmake 2011-10-01 17:54:33 UTC (rev 40735)
+++ trunk/blender/build_files/cmake/macros.cmake 2011-10-01 18:29:40 UTC (rev 40736)
@@ -325,20 +325,32 @@
endif()
endmacro()
-macro(TEST_SSE_SUPPORT)
+macro(TEST_SSE_SUPPORT
+ _sse_flags
+ _sse2_flags)
+
include(CheckCSourceRuns)
# message(STATUS "Detecting SSE support")
- if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
- set(CMAKE_REQUIRED_FLAGS "-msse -msse2")
+ if(CMAKE_COMPILER_IS_GNUCC)
+ set(${_sse_flags} "-msse")
+ set(${_sse2_flags} "-msse2")
elseif(MSVC)
- set(CMAKE_REQUIRED_FLAGS "/arch:SSE2") # TODO, SSE 1 ?
+ set(${_sse_flags} "/arch:SSE")
+ set(${_sse2_flags} "/arch:SSE2")
elseif(CMAKE_C_COMPILER_ID MATCHES "Intel")
- set(CMAKE_REQUIRED_FLAGS "-xSSE2")
+ set(${_sse_flags}) # icc only has sse2
+ set(${_sse2_flags} "-xSSE2")
else()
- message(STATUS "Compiler: '${CMAKE_C_COMPILER_ID}' has no SSE flags defiend for it!")
+ message(WARNING "SSE flags for this compiler: '${CMAKE_C_COMPILER_ID}' not known")
+ set(_sse_flags)
+ set(_sse2_flags)
endif()
+ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
+ set(CMAKE_REQUIRED_FLAGS ${_sse_flags} ${_sse2_flags})
+ endif()
+
if(NOT DEFINED ${SUPPORT_SSE_BUILD})
check_c_source_runs("
#include <xmmintrin.h>
More information about the Bf-blender-cvs
mailing list