[Bf-blender-cvs] [b6f3fec259f] blender-v2.79a-release: Cycles: Fix compilation error with OIIO compiled against system PugiXML

Sergey Sharybin noreply at git.blender.org
Mon Jan 8 16:55:47 CET 2018


Commit: b6f3fec259fe7da5cec2dfe24016f91318dd53dd
Author: Sergey Sharybin
Date:   Mon Nov 13 10:40:19 2017 +0100
Branches: blender-v2.79a-release
https://developer.blender.org/rBb6f3fec259fe7da5cec2dfe24016f91318dd53dd

Cycles: Fix compilation error with OIIO compiled against system PugiXML

===================================================================

M	build_files/cmake/Modules/FindOpenImageIO.cmake
M	intern/cycles/CMakeLists.txt
M	intern/cycles/util/util_xml.h

===================================================================

diff --git a/build_files/cmake/Modules/FindOpenImageIO.cmake b/build_files/cmake/Modules/FindOpenImageIO.cmake
index d59f9cfcdfc..e7527f15755 100644
--- a/build_files/cmake/Modules/FindOpenImageIO.cmake
+++ b/build_files/cmake/Modules/FindOpenImageIO.cmake
@@ -76,6 +76,8 @@ IF(OPENIMAGEIO_FOUND)
   SET(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_INCLUDE_DIR})
   IF(EXISTS ${OPENIMAGEIO_INCLUDE_DIR}/OpenImageIO/pugixml.hpp)
     SET(OPENIMAGEIO_PUGIXML_FOUND TRUE)
+  ELSE()
+    SET(OPENIMAGEIO_PUGIXML_FOUND FALSE)
   ENDIF()
 ELSE()
   SET(OPENIMAGEIO_PUGIXML_FOUND FALSE)
diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt
index c53a9f91cc0..f22688fc010 100644
--- a/intern/cycles/CMakeLists.txt
+++ b/intern/cycles/CMakeLists.txt
@@ -205,6 +205,10 @@ if(WITH_CYCLES_DEBUG)
 	add_definitions(-DWITH_CYCLES_DEBUG)
 endif()
 
+if(NOT OPENIMAGEIO_PUGIXML_FOUND)
+	add_definitions(-DWITH_SYSTEM_PUGIXML)
+endif()
+
 include_directories(
 	SYSTEM
 	${BOOST_INCLUDE_DIR}
diff --git a/intern/cycles/util/util_xml.h b/intern/cycles/util/util_xml.h
index e1a28df9433..c9c1ea47e96 100644
--- a/intern/cycles/util/util_xml.h
+++ b/intern/cycles/util/util_xml.h
@@ -23,10 +23,17 @@
 
 CCL_NAMESPACE_BEGIN
 
-using OIIO_NAMESPACE::pugi::xml_node;
-using OIIO_NAMESPACE::pugi::xml_attribute;
+OIIO_NAMESPACE_USING
+
+#ifdef WITH_SYSTEM_PUGIXML
+#  define PUGIXML_NAMESPACE pugi
+#else
+#  define PUGIXML_NAMESPACE OIIO_NAMESPACE::pugi
+#endif
+
+using PUGIXML_NAMESPACE::xml_node;
+using PUGIXML_NAMESPACE::xml_attribute;
 
 CCL_NAMESPACE_END
 
 #endif /* __UTIL_XML_H__ */
-



More information about the Bf-blender-cvs mailing list