Fix: Cycles lite build failure without Pugixml

This commit is contained in:
Brecht Van Lommel
2024-12-26 23:03:39 +01:00
parent 58aec853e9
commit fe368edbb3
5 changed files with 36 additions and 24 deletions

View File

@@ -1277,9 +1277,10 @@ set_and_warn_dependency(WITH_BOOST WITH_OPENVDB OFF)
set_and_warn_dependency(WITH_BOOST WITH_QUADRIFLOW OFF)
set_and_warn_dependency(WITH_BOOST WITH_USD OFF)
if(WITH_CYCLES)
set_and_warn_dependency(WITH_BOOST WITH_CYCLES_OSL OFF)
set_and_warn_dependency(WITH_PUGIXML WITH_CYCLES_OSL OFF)
set_and_warn_dependency(WITH_CYCLES_OSL WITH_CYCLES_TEST_OSL OFF)
set_and_warn_dependency(WITH_BOOST WITH_CYCLES_OSL OFF)
set_and_warn_dependency(WITH_PUGIXML WITH_CYCLES_OSL OFF)
set_and_warn_dependency(WITH_PUGIXML WITH_CYCLES_STANDALONE OFF)
set_and_warn_dependency(WITH_CYCLES_OSL WITH_CYCLES_TEST_OSL OFF)
endif()
set_and_warn_dependency(WITH_TBB WITH_CYCLES OFF)

View File

@@ -386,8 +386,11 @@ if(WITH_CYCLES_DEBUG_NAN)
add_definitions(-DWITH_CYCLES_DEBUG_NAN)
endif()
if((NOT OPENIMAGEIO_PUGIXML_FOUND) OR WIN32)
add_definitions(-DWITH_SYSTEM_PUGIXML)
if(WITH_PUGIXML OR OPENIMAGEIO_PUGIXML_FOUND)
add_definitions(-DWITH_PUGIXML)
if((NOT OPENIMAGEIO_PUGIXML_FOUND) OR WIN32)
add_definitions(-DWITH_SYSTEM_PUGIXML)
endif()
endif()
if(CYCLES_STANDALONE_REPOSITORY)

View File

@@ -2,11 +2,14 @@
*
* SPDX-License-Identifier: Apache-2.0 */
#include "graph/node_xml.h"
#ifdef WITH_PUGIXML
#include "util/foreach.h"
#include "util/string.h"
#include "util/transform.h"
# include "graph/node_xml.h"
# include "graph/node.h"
# include "util/foreach.h"
# include "util/string.h"
# include "util/transform.h"
CCL_NAMESPACE_BEGIN
@@ -433,3 +436,5 @@ xml_node xml_write_node(Node *node, xml_node xml_root)
}
CCL_NAMESPACE_END
#endif /* WITH_PUGIXML */

View File

@@ -4,14 +4,16 @@
#pragma once
#include "graph/node.h"
#ifdef WITH_PUGIXML
#include "util/map.h"
#include "util/string.h"
#include "util/xml.h"
# include "util/map.h"
# include "util/param.h"
# include "util/xml.h"
CCL_NAMESPACE_BEGIN
struct Node;
struct XMLReader {
map<ustring, Node *> node_map;
};
@@ -20,3 +22,5 @@ void xml_read_node(XMLReader &reader, Node *node, xml_node xml_node);
xml_node xml_write_node(Node *node, xml_node xml_root);
CCL_NAMESPACE_END
#endif /* WITH_PUGIXML */

View File

@@ -2,22 +2,21 @@
*
* SPDX-License-Identifier: Apache-2.0 */
#ifndef __UTIL_XML_H__
#define __UTIL_XML_H__
#pragma once
#ifdef WITH_PUGIXML
/* PugiXML is used for XML parsing. */
#include <pugixml.hpp>
# include <pugixml.hpp>
CCL_NAMESPACE_BEGIN
OIIO_NAMESPACE_USING
#ifdef WITH_SYSTEM_PUGIXML
# define PUGIXML_NAMESPACE pugi
#else
# define PUGIXML_NAMESPACE OIIO_NAMESPACE::pugi
#endif
# ifdef WITH_SYSTEM_PUGIXML
# define PUGIXML_NAMESPACE pugi
# else
# define PUGIXML_NAMESPACE OIIO_NAMESPACE::pugi
# endif
using PUGIXML_NAMESPACE::xml_attribute;
using PUGIXML_NAMESPACE::xml_document;
@@ -26,4 +25,4 @@ using PUGIXML_NAMESPACE::xml_parse_result;
CCL_NAMESPACE_END
#endif /* __UTIL_XML_H__ */
#endif