diff options
Diffstat (limited to 'ports/expat')
| -rw-r--r-- | ports/expat/CONTROL | 5 | ||||
| -rw-r--r-- | ports/expat/fix-find-package-by-cmake.patch | 40 | ||||
| -rw-r--r-- | ports/expat/portfile.cmake | 47 | ||||
| -rw-r--r-- | ports/expat/usage | 4 |
4 files changed, 67 insertions, 29 deletions
diff --git a/ports/expat/CONTROL b/ports/expat/CONTROL index 9007da6cd..53474ae2b 100644 --- a/ports/expat/CONTROL +++ b/ports/expat/CONTROL @@ -1,5 +1,4 @@ Source: expat -Version: 2.2.7 +Version: 2.2.9 Homepage: https://github.com/libexpat/libexpat -Description: XML parser library written in C -Supports: !uwp
\ No newline at end of file +Description: XML parser library written in C
\ No newline at end of file diff --git a/ports/expat/fix-find-package-by-cmake.patch b/ports/expat/fix-find-package-by-cmake.patch new file mode 100644 index 000000000..830327944 --- /dev/null +++ b/ports/expat/fix-find-package-by-cmake.patch @@ -0,0 +1,40 @@ +diff --git a/expat/CMakeLists.txt b/expat/CMakeLists.txt
+index 2084424..f3b9207 100644
+--- a/expat/CMakeLists.txt
++++ b/expat/CMakeLists.txt
+@@ -269,6 +269,10 @@ if(EXPAT_WITH_LIBBSD)
+ target_link_libraries(${_EXPAT_TARGET} ${LIB_BSD})
+ endif()
+
++target_include_directories(${_EXPAT_TARGET} INTERFACE
++ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>
++ $<INSTALL_INTERFACE:include>)
++
+ set(LIBCURRENT 7) # sync
+ set(LIBREVISION 11) # with
+ set(LIBAGE 6) # configure.ac!
+@@ -490,7 +494,7 @@ configure_package_config_file(
+ cmake/expat-config.cmake.in
+ cmake/expat-config.cmake
+ INSTALL_DESTINATION
+- ${CMAKE_INSTALL_LIBDIR}/cmake/expat-${PROJECT_VERSION}/
++ ${CMAKE_INSTALL_LIBDIR}/cmake/expat/
+ )
+ write_basic_package_version_file(
+ cmake/expat-config-version.cmake
+@@ -507,13 +511,13 @@ expat_install(
+ ${CMAKE_CURRENT_BINARY_DIR}/cmake/expat-config.cmake
+ ${CMAKE_CURRENT_BINARY_DIR}/cmake/expat-config-version.cmake
+ DESTINATION
+- ${CMAKE_INSTALL_LIBDIR}/cmake/expat-${PROJECT_VERSION}/
++ ${CMAKE_INSTALL_LIBDIR}/cmake/expat/
+ )
+ expat_install(
+ EXPORT
+ expat
+ DESTINATION
+- ${CMAKE_INSTALL_LIBDIR}/cmake/expat-${PROJECT_VERSION}/
++ ${CMAKE_INSTALL_LIBDIR}/cmake/expat/
+ NAMESPACE
+ expat::
+ )
diff --git a/ports/expat/portfile.cmake b/ports/expat/portfile.cmake index 7b97fb3de..1414344be 100644 --- a/ports/expat/portfile.cmake +++ b/ports/expat/portfile.cmake @@ -1,14 +1,12 @@ -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") -message(FATAL_ERROR "${PORT} does not currently support UWP") -endif() - -include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libexpat/libexpat - REF R_2_2_7 - SHA512 11b1f9a135c4501ef0112e17da8381e956366165a11a384daedd4cdef9a00c3112c8f6ff8c8f6d3b5e7b71b9a73041f23beac0f27e9cfafe1ec0266d95870408 - HEAD_REF master) + REF a7bc26b69768f7fb24f0c7976fae24b157b85b13 #tag 2.2.9 + SHA512 18842d5c9ff89654c5beeb9daba7ff5a911da318d419735fb14a5acbe0d1b4ac07077822c70cfa5c845892bcec2d72f8f265b9a259fe459092864f4d1754f8dd + HEAD_REF master + PATCHES + fix-find-package-by-cmake.patch +) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) set(EXPAT_LINKAGE ON) @@ -20,28 +18,33 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH}/expat PREFER_NINJA OPTIONS - -DBUILD_examples=OFF - -DBUILD_tests=OFF - -DBUILD_tools=OFF - -DBUILD_shared=${EXPAT_LINKAGE} + -DEXPAT_BUILD_EXAMPLES=OFF + -DEXPAT_BUILD_TESTS=OFF + -DEXPAT_BUILD_TOOLS=OFF + -DEXPAT_SHARED_LIBS=${EXPAT_LINKAGE} ) vcpkg_install_cmake() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) -file(INSTALL ${SOURCE_PATH}/expat/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/expat RENAME copyright) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/expat) -vcpkg_copy_pdbs() +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -# CMake's FindExpat currently doesn't look for expatd.lib -if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/expatd.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/expatd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/expat.lib) +file(GLOB EXE ${CURRENT_PACKAGES_DIR}/bin/*.exe) +file(GLOB DEBUG_EXE ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) +if(EXE OR DEBUG_EXE) + file(REMOVE ${EXE} ${DEBUG_EXE}) endif() -file(READ ${CURRENT_PACKAGES_DIR}/include/expat_external.h EXPAT_EXTERNAL_H) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - string(REPLACE "!defined(XML_STATIC)" "/* vcpkg static build !defined(XML_STATIC) */ 0" EXPAT_EXTERNAL_H "${EXPAT_EXTERNAL_H}") + vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/expat_external.h + "! defined(XML_STATIC)" + "/* vcpkg static build ! defined(XML_STATIC) */ 0" + ) endif() -file(WRITE ${CURRENT_PACKAGES_DIR}/include/expat_external.h "${EXPAT_EXTERNAL_H}") -file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/expat) +vcpkg_copy_pdbs() + +#Handle copyright +file(INSTALL ${SOURCE_PATH}/expat/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
\ No newline at end of file diff --git a/ports/expat/usage b/ports/expat/usage deleted file mode 100644 index a2d35a66e..000000000 --- a/ports/expat/usage +++ /dev/null @@ -1,4 +0,0 @@ -The package expat is compatible with built-in CMake targets:
-
- find_package(EXPAT REQUIRED)
- target_link_libraries(main PRIVATE EXPAT::EXPAT)
|
