I successfully build trunk with cmake and msvc10 by disabling openexr.

The problem with openexr is that the libs in /lib/windows/openexr/lib_vs2010
are not correctly build. They are linked against the static runtime library
of msvc which gives the linker errors (LNK2005).

With attached patch and updated openexr libraries blender should also build
completely with msvc10.

Peter
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt	(revision 34671)
+++ CMakeLists.txt	(working copy)
@@ -546,18 +546,25 @@
 			set(FFMPEG_LIBPATH ${FFMPEG}/lib)
 		endif()
 
-		if(WITH_IMAGE_OPENEXR)
-			set(OPENEXR ${LIBDIR}/openexr)
-			set(OPENEXR_INC ${OPENEXR}/include ${OPENEXR}/include/IlmImf ${OPENEXR}/include/Iex ${OPENEXR}/include/Imath)
-			set(OPENEXR_LIB Iex Half IlmImf Imath IlmThread)
+		if(WITH_IMAGE_OPENEXR)			
 			if(MSVC80)
-				set(OPENEXR_LIBPATH ${OPENEXR}/lib_vs2005)
+				set(MSVC_LIB _vs2005)
+				set(MSVC_INC)
+			elseif(MSVC90)
+				set(MSVC_LIB _vs2008)
+				set(MSVC_INC)
+			elseif(MSVC10)
+				set(MSVC_LIB _vs2010)
+				set(MSVC_INC _vs2010)
 			else()
-				set(OPENEXR_LIBPATH ${OPENEXR}/lib_msvc)
+				set(MSVC_LIB msvc)
+				set(MSVC_INC)
 			endif()
-			if(MSVC90)
-				set(OPENEXR_LIBPATH ${OPENEXR}/lib_vs2008)
-			endif()
+			set(OPENEXR ${LIBDIR}/openexr)			
+			set(OPENEXR_LIB Iex Half IlmImf Imath IlmThread)
+			set(OPENEXR_LIBPATH ${OPENEXR}/lib${MSVC_LIB})
+			set(OPENEXR_INCUDE ${OPENEXR}/include${MSVC_INC})
+			set(OPENEXR_INC ${OPENEXR_INCUDE}/ ${OPENEXR_INCUDE}/IlmImf ${OPENEXR_INCUDE}/Iex ${OPENEXR_INCUDE}/Imath)
 		endif()
 
 		if(WITH_IMAGE_TIFF)
_______________________________________________
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers

Reply via email to