diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-11-13 12:40:19 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-11-13 12:42:29 +0300 |
commit | 42dff6cc2ebe21bee401bc115139c4f62aabc6f5 (patch) | |
tree | 732409aa5bc973ea74c9a13bf3d7794b09540c0c | |
parent | e568c1a9757a5d4f8a52822cbbe772d0ac4da78b (diff) |
Cycles: Fix compilation error with OIIO compiled against system PugiXML
-rw-r--r-- | build_files/cmake/Modules/FindOpenImageIO.cmake | 2 | ||||
-rw-r--r-- | intern/cycles/CMakeLists.txt | 4 | ||||
-rw-r--r-- | intern/cycles/util/util_xml.h | 13 |
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__ */ - |