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

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authortamasmeszaros <meszaros.q@gmail.com>2022-01-19 12:46:12 +0300
committertamasmeszaros <meszaros.q@gmail.com>2022-04-04 13:43:25 +0300
commite50a408e2e4e3a62640f02bf6a34318a9b78d06d (patch)
treebabb7330ef0b9484db85bf94ee073ae1105c03f9 /cmake
parent43fe9fd3f9fc7a2b0724b26fefad40648671bbec (diff)
Use upstream expat, remove duplication in deps and src
Fix clash of builtin findEXPAT with config scripts
Diffstat (limited to 'cmake')
-rw-r--r--cmake/modules/FindEXPAT.cmake36
1 files changed, 36 insertions, 0 deletions
diff --git a/cmake/modules/FindEXPAT.cmake b/cmake/modules/FindEXPAT.cmake
new file mode 100644
index 000000000..de204c60f
--- /dev/null
+++ b/cmake/modules/FindEXPAT.cmake
@@ -0,0 +1,36 @@
+set(_q "")
+if(EXPAT_FIND_QUIETLY)
+ set(_q QUIET)
+endif()
+find_package(EXPAT ${EXPAT_FIND_VERSION} CONFIG ${_q})
+
+if(NOT EXPAT_FIND_QUIETLY)
+ if (NOT EXPAT_FOUND)
+ message(STATUS "Falling back to MODULE search for EXPAT...")
+ else()
+ message(STATUS "EXPAT found in ${EXPAT_DIR}")
+ endif()
+endif()
+
+if (NOT EXPAT_FOUND)
+ set(_modpath ${CMAKE_MODULE_PATH})
+ set(CMAKE_MODULE_PATH "")
+ include(FindEXPAT)
+ set(CMAKE_MODULE_PATH ${_modpath})
+
+ if (NOT TARGET EXPAT::EXPAT)
+ add_library(EXPAT::EXPAT INTERFACE)
+ target_link_libraries(EXPAT::EXPAT INTERFACE ${EXPAT_LIBRARIES})
+ target_include_directories(EXPAT::EXPAT INTERFACE ${EXPAT_INCLUDE_DIRS})
+ endif ()
+endif()
+
+if (EXPAT_FOUND AND NOT TARGET EXPAT::EXPAT)
+ add_library(libexpat INTERFACE)
+ add_library(EXPAT::EXPAT ALIAS libexpat)
+ target_link_libraries(libexpat INTERFACE expat::expat)
+ if (NOT EXPAT_LIBRARIES)
+ set(EXPAT_LIBRARIES expat::expat CACHE STRING "")
+ endif ()
+endif ()
+