Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2017-11-13 12:40:19 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2017-11-13 12:42:29 +0300
commit42dff6cc2ebe21bee401bc115139c4f62aabc6f5 (patch)
tree732409aa5bc973ea74c9a13bf3d7794b09540c0c
parente568c1a9757a5d4f8a52822cbbe772d0ac4da78b (diff)
Cycles: Fix compilation error with OIIO compiled against system PugiXML
-rw-r--r--build_files/cmake/Modules/FindOpenImageIO.cmake2
-rw-r--r--intern/cycles/CMakeLists.txt4
-rw-r--r--intern/cycles/util/util_xml.h13
3 files changed, 16 insertions, 3 deletions
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 5844c2480d6..dbf1bcece16 100644
--- a/intern/cycles/CMakeLists.txt
+++ b/intern/cycles/CMakeLists.txt
@@ -209,6 +209,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__ */
-