repertory/cmake/libraries/pugixml.cmake

37 lines
925 B
CMake

if(PROJECT_ENABLE_PUGIXML)
if(PROJECT_BUILD)
find_package(pugixml ${PUGIXML_VERSION} REQUIRED)
add_definitions(-DPROJECT_ENABLE_PUGIXML)
include_directories(BEFORE SYSTEM
${PUGIXML_INCLUDE_DIR}
)
if(PROJECT_STATIC_LINK)
link_libraries(
pugixml::static
)
else()
link_libraries(
pugixml::pugixml
)
endif()
elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32)
ExternalProject_Add(pugixml_project
PREFIX external
URL ${PROJECT_3RD_PARTY_DIR}/pugixml-${PUGIXML_VERSION}.tar.gz
URL_HASH SHA256=2f10e276870c64b1db6809050a75e11a897a8d7456c4be5c6b2e35a11168a015
LIST_SEPARATOR |
CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS}
-DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS}
-DBUILD_STATIC_LIBS=ON
)
set(PROJECT_DEPENDENCIES
${PROJECT_DEPENDENCIES}
pugixml_project
)
endif()
endif()