From: Markus Koschany <apo@debian.org>
Date: Sun, 1 Sep 2019 01:46:41 +0200
Subject: do-not-build-with-embedded-tinyxml-library

---
 .../Serialize/BulletXmlWorldImporter/CMakeLists.txt   | 19 ++++++++++++++++---
 .../btBulletXmlWorldImporter.cpp                      |  2 +-
 2 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt b/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt
index 9fd125e..89d0e45 100644
--- a/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt
+++ b/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt
@@ -2,7 +2,6 @@ INCLUDE_DIRECTORIES(
 	${BULLET_PHYSICS_SOURCE_DIR}/src
 	${BULLET_PHYSICS_SOURCE_DIR}/Extras/Serialize/BulletFileLoader
 	${BULLET_PHYSICS_SOURCE_DIR}/Extras/Serialize/BulletWorldImporter
-	${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/tinyxml2
 )
 
 ADD_LIBRARY(
@@ -11,14 +10,28 @@ ADD_LIBRARY(
 	btBulletXmlWorldImporter.h
 	string_split.cpp
 	string_split.h
-	${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/tinyxml2/tinyxml2.cpp
 )
 
+# Look for the header file.
+FIND_PATH(TINYXML_INCLUDE_DIR NAMES tinyxml2.h)
+MARK_AS_ADVANCED(TINYXML2_INCLUDE_DIR)
+
+# Look for the library.
+FIND_LIBRARY(TINYXML_LIBRARY NAMES tinyxml2)
+MARK_AS_ADVANCED(TINYXML2_LIBRARY)
+
+# all listed variables are TRUE
+INCLUDE(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(TinyXML2 DEFAULT_MSG TINYXML2_LIBRARY TINYXML2_INCLUDE_DIR)
+SET(TINYXML2_LIBRARIES ${TINYXML2_LIBRARY})
+SET(TINYXML2_INCLUDE_DIRS ${TINYXML2_INCLUDE_DIR})
+
+
 SET_TARGET_PROPERTIES(BulletXmlWorldImporter  PROPERTIES VERSION ${BULLET_VERSION})
 SET_TARGET_PROPERTIES(BulletXmlWorldImporter PROPERTIES SOVERSION ${BULLET_VERSION})
 
 IF (BUILD_SHARED_LIBS)
-	TARGET_LINK_LIBRARIES(BulletXmlWorldImporter BulletWorldImporter BulletDynamics BulletCollision BulletFileLoader LinearMath)
+	TARGET_LINK_LIBRARIES(BulletXmlWorldImporter tinyxml2 BulletWorldImporter BulletDynamics BulletCollision BulletFileLoader LinearMath)
 ENDIF (BUILD_SHARED_LIBS)
 
 IF (INSTALL_EXTRA_LIBS)
diff --git a/Extras/Serialize/BulletXmlWorldImporter/btBulletXmlWorldImporter.cpp b/Extras/Serialize/BulletXmlWorldImporter/btBulletXmlWorldImporter.cpp
index 17b1440..80210c6 100644
--- a/Extras/Serialize/BulletXmlWorldImporter/btBulletXmlWorldImporter.cpp
+++ b/Extras/Serialize/BulletXmlWorldImporter/btBulletXmlWorldImporter.cpp
@@ -14,7 +14,7 @@ subject to the following restrictions:
 */
 
 #include "btBulletXmlWorldImporter.h"
-#include "tinyxml2.h"
+#include <tinyxml2.h>
 #include "btBulletDynamicsCommon.h"
 #include "string_split.h"
 using namespace tinyxml2;
