unbundle pugixml
--- a/src/framework/global/CMakeLists.txt
+++ b/src/framework/global/CMakeLists.txt
@@ -151,9 +151,6 @@ set(MODULE_SRC
     ${CMAKE_CURRENT_LIST_DIR}/serialization/msgpack.h
     ${CMAKE_CURRENT_LIST_DIR}/serialization/msgpack_forward.h
     
-    ${CMAKE_CURRENT_LIST_DIR}/thirdparty/pugixml/pugixml.hpp
-    ${CMAKE_CURRENT_LIST_DIR}/thirdparty/pugixml/pugixml.cpp
-
     ${CMAKE_CURRENT_LIST_DIR}/concurrency/taskscheduler.h
     ${CMAKE_CURRENT_LIST_DIR}/concurrency/concurrent.h
 )
@@ -258,9 +255,10 @@ else ()
     set(Z_LIB z)
 endif ()
 
-list(APPEND MODULE_INCLUDE_PRIVATE
-    ${CMAKE_CURRENT_LIST_DIR}/thirdparty/pugixml
-)
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(pugixml REQUIRED IMPORTED_TARGET pugixml)
+list(APPEND MODULE_LINK PkgConfig::pugixml)
+list(APPEND MODULE_INCLUDE_PRIVATE ${pugixml_INCLUDE_DIRS})
 
 list(APPEND MODULE_INCLUDE_PRIVATE ${Z_INCLUDE})
 list(APPEND MODULE_LINK ${Z_LIB})
