find_pugixml.cmake 1.4 KB

123456789101112131415161718192021222324252627282930313233343536
  1. SET(PUGIXML_PKG_DIR "" CACHE PATH "Path to pugixml package")
  2. SET(PUGIXML_SRC_DIR "" CACHE PATH "Path to pugixml source directory")
  3. SET(PUGIXML_INC_DIR "" CACHE PATH "Path to pugixml include directory")
  4. SET(PUGIXML_LIB_DIR "" CACHE PATH "Path to pugixml library directory")
  5. IF (NOT PUGIXML_SRC_DIR STREQUAL "")
  6. add_subdirectory(${PUGIXML_SRC_DIR} ${CMAKE_CURRENT_BINARY_DIR}/pugixml)
  7. message(STATUS "Using pugixml source from ${PUGIXML_SRC_DIR}")
  8. ELSE()
  9. IF (NOT PUGIXML_PKG_DIR STREQUAL "")
  10. find_package(pugixml CONFIG PATHS ${PUGIXML_PKG_DIR})
  11. ELSE()
  12. find_package(pugixml CONFIG)
  13. ENDIF()
  14. IF (pugixml_FOUND)
  15. IF (PUGIXML_INC_DIR STREQUAL "")
  16. include_directories(${pugixml_DIR}/../../../include)
  17. ELSE()
  18. include_directories(${PUGIXML_INC_DIR})
  19. ENDIF()
  20. message(STATUS "Using pugixml package from ${pugixml_DIR}")
  21. message(STATUS "pugixml include dir: ${pugixml_DIR}/../../../include")
  22. ELSEIF (NOT PUGIXML_INC_DIR STREQUAL "" AND NOT PUGIXML_LIB_DIR STREQUAL "")
  23. set(pugixml_FOUND TRUE)
  24. include_directories(${PUGIXML_INC_DIR})
  25. link_directories(${PUGIXML_LIB_DIR})
  26. add_library(pugixml STATIC IMPORTED)
  27. message(STATUS "Using pugixml include directory and library directory from ${PUGIXML_INC_DIR} and ${PUGIXML_LIB_DIR}")
  28. ENDIF()
  29. ENDIF()
  30. IF (NOT pugixml_FOUND)
  31. message(FATAL_ERROR "pugixml not found")
  32. ENDIF()