[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33072] trunk/blender: patch from Dan Eicher to support intel C++ compiler for CMake on *nix.

Campbell Barton ideasman42 at gmail.com
Mon Nov 15 06:32:50 CET 2010


Revision: 33072
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33072
Author:   campbellbarton
Date:     2010-11-15 06:32:49 +0100 (Mon, 15 Nov 2010)

Log Message:
-----------
patch from Dan Eicher to support intel C++ compiler for CMake on *nix.

Modified Paths:
--------------
    trunk/blender/CMakeLists.txt
    trunk/blender/source/blender/nodes/intern/CMP_nodes/CMP_defocus.c

Modified: trunk/blender/CMakeLists.txt
===================================================================
--- trunk/blender/CMakeLists.txt	2010-11-15 03:13:28 UTC (rev 33071)
+++ trunk/blender/CMakeLists.txt	2010-11-15 05:32:49 UTC (rev 33072)
@@ -311,24 +311,58 @@
 		SET(BINRELOC_INC ${BINRELOC}/include)
 	ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
 
-	IF(WITH_OPENMP)
-		LIST(APPEND LLIBS -lgomp)
-		SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fopenmp")
-		SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp")
-	ENDIF(WITH_OPENMP)
-
 	SET(PLATFORM_LINKFLAGS "-pthread")
 
 	SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE")
 	SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE")
 
+	# GNU Compiler
 	IF(CMAKE_COMPILER_IS_GNUCC)
+		IF(WITH_OPENMP)
+			LIST(APPEND LLIBS -lgomp)
+			SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fopenmp")
+			SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp")
+		ENDIF(WITH_OPENMP)
+
 		SET(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing")
 	
 		# Better warnings
 		# note: -Wunused-parameter is added below for all GCC compilers
 		SET(C_WARNINGS "-Wall -Wno-char-subscripts -Wpointer-arith -Wcast-align -Wdeclaration-after-statement -Wno-unknown-pragmas")
 		SET(CXX_WARNINGS "-Wall -Wno-invalid-offsetof -Wno-sign-compare")
+
+	# Intel C++ Compiler
+	ELSEIF(CMAKE_C_COMPILER_ID MATCHES "Intel")
+		IF(WITH_OPENMP)
+			LIST(APPEND LLIBS -lgomp)
+			SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -openmp")
+			SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -openmp")
+		ENDIF(WITH_OPENMP)
+
+		# think these next two are broken
+		FIND_PROGRAM(XIAR xiar) 
+		IF(XIAR) 
+			SET(CMAKE_AR "${XIAR}")
+		ENDIF(XIAR) 
+		MARK_AS_ADVANCED(XIAR)
+
+		FIND_PROGRAM(XILD xild) 
+		IF(XILD) 
+			SET(CMAKE_LINKER "${XILD}")
+		ENDIF(XILD) 
+		MARK_AS_ADVANCED(XILD)
+
+		SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fp-model precise -prec_div -parallel")
+		SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fp-model precise -prec_div -parallel")
+
+		SET(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing")
+
+		# SET(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} -diag-enable sc3")
+
+		SET(C_WARNINGS "-Wall -Wpointer-arith -Wno-unknown-pragmas")
+		SET(CXX_WARNINGS "-Wall -Wno-invalid-offsetof -Wno-sign-compare")
+
+		SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -static-intel")
 	ENDIF(CMAKE_COMPILER_IS_GNUCC)
 ENDIF(UNIX AND NOT APPLE)
 

Modified: trunk/blender/source/blender/nodes/intern/CMP_nodes/CMP_defocus.c
===================================================================
--- trunk/blender/source/blender/nodes/intern/CMP_nodes/CMP_defocus.c	2010-11-15 03:13:28 UTC (rev 33071)
+++ trunk/blender/source/blender/nodes/intern/CMP_nodes/CMP_defocus.c	2010-11-15 05:32:49 UTC (rev 33072)
@@ -378,7 +378,11 @@
 
 	//------------------------------------------------------------------
 	// main loop
+#ifdef __INTEL_COMPILER /* icc doesn't like the compound statement -- internal error: 0_1506 */
+	#pragma omp parallel for private(y) if(!nqd->preview) schedule(guided)
+#else
 	#pragma omp parallel for private(y) if(!nqd->preview && img->y*img->x > 16384) schedule(guided)
+#endif
 	for (y=0; y<img->y; y++) {
 		unsigned int p, p4, zp, cp, cp4;
 		float *ctcol, u, v, ct_crad, cR2=0;





More information about the Bf-blender-cvs mailing list