diff options
Diffstat (limited to 'vcpkg/ports/expat')
| -rw-r--r-- | vcpkg/ports/expat/portfile.cmake | 43 | ||||
| -rw-r--r-- | vcpkg/ports/expat/vcpkg-cmake-wrapper.cmake | 27 | ||||
| -rw-r--r-- | vcpkg/ports/expat/vcpkg.json | 17 |
3 files changed, 87 insertions, 0 deletions
diff --git a/vcpkg/ports/expat/portfile.cmake b/vcpkg/ports/expat/portfile.cmake new file mode 100644 index 0000000..e6d051a --- /dev/null +++ b/vcpkg/ports/expat/portfile.cmake @@ -0,0 +1,43 @@ +string(REPLACE "." "_" REF "R_${VERSION}") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libexpat/libexpat + REF "${REF}" + SHA512 34400f7dff0151a38c5ff7d73b65b57c7fdf648cf407ed94beddf2d11511b650c4ea16e417a15ebe1707456e7279210e929cc97a0caf7a1ff45bf1d07275e815 + HEAD_REF master +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" EXPAT_LINKAGE) +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" EXPAT_CRT_LINKAGE) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/expat" + OPTIONS + -DEXPAT_BUILD_EXAMPLES=OFF + -DEXPAT_BUILD_TESTS=OFF + -DEXPAT_BUILD_TOOLS=OFF + -DEXPAT_BUILD_DOCS=OFF + -DEXPAT_SHARED_LIBS=${EXPAT_LINKAGE} + -DEXPAT_MSVC_STATIC_CRT=${EXPAT_CRT_LINKAGE} + -DEXPAT_BUILD_PKGCONFIG=ON + MAYBE_UNUSED_VARIABLES + EXPAT_MSVC_STATIC_CRT +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/expat-${VERSION}") +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/expat_external.h" "defined(_MSC_EXTENSIONS)" "defined(_WIN32)") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/expat_external.h" "! defined(XML_STATIC)" "0") +endif() + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/expat/COPYING") diff --git a/vcpkg/ports/expat/vcpkg-cmake-wrapper.cmake b/vcpkg/ports/expat/vcpkg-cmake-wrapper.cmake new file mode 100644 index 0000000..2bdace2 --- /dev/null +++ b/vcpkg/ports/expat/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,27 @@ +include(SelectLibraryConfigurations)
+
+set(EXPATNAMES expat expatw libexpat libexpatw)
+set(DEBUGNAMES)
+foreach(_CRT "" MT MD)
+ foreach(name IN LISTS EXPATNAMES)
+ list(APPEND EXPATNAMES ${name}${_CRT})
+ list(APPEND DEBUGNAMES ${name}d${_CRT})
+ endforeach()
+endforeach()
+
+find_library(EXPAT_LIBRARY_DEBUG NAMES ${DEBUGNAMES} ${EXPATNAMES} NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" NO_DEFAULT_PATH)
+find_library(EXPAT_LIBRARY_RELEASE NAMES ${EXPATNAMES} NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH)
+select_library_configurations(EXPAT)
+set(EXPAT_LIBRARY "${EXPAT_LIBRARIES}" CACHE STRING "" FORCE)
+_find_package(${ARGS})
+if(EXPAT_FOUND AND TARGET EXPAT::EXPAT)
+ if(EXPAT_LIBRARY_DEBUG)
+ set_target_properties(EXPAT::EXPAT PROPERTIES IMPORTED_LOCATION_DEBUG "${EXPAT_LIBRARY_DEBUG}")
+ endif()
+ if(EXPAT_LIBRARY_RELEASE)
+ set_target_properties(EXPAT::EXPAT PROPERTIES IMPORTED_LOCATION_RELEASE "${EXPAT_LIBRARY_RELEASE}")
+ endif()
+endif()
+
+unset(EXPATNAMES)
+unset(DEBUGNAMES)
diff --git a/vcpkg/ports/expat/vcpkg.json b/vcpkg/ports/expat/vcpkg.json new file mode 100644 index 0000000..e5c9790 --- /dev/null +++ b/vcpkg/ports/expat/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "expat", + "version": "2.7.3", + "description": "XML parser library written in C", + "homepage": "https://github.com/libexpat/libexpat", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |