[expat] Update the version to 2.2.9 (add support for uwp) (#9146)

* [expat] Update the version to 2.2.9(support uwp)

* [readosm] Fix expat.lib cannot be found

* Remove expat:arm-uwp and expat:x64-uwp from fail list in ci.baseline.txt

* [apr-util,io2d,skia] Fix expat cannot be found and also update expat

* [many ports] Add supports and fix the regressions

* Fix new regressions

* Fix typo

* [io2d] Update expat patch

* [io2d,libkml,skia] Fix expat cannot find and also fix typo

* [expat] Remove usage

* [libkml,vtk] Update expat patch and fix static build

* [wxwidgets] Fix static build caused by expat cannot found

* Update as review suggestion

* Add Port-Version

* Remove evpp:x64-osx=fail from ci.baseline.txt

* [wxwidgest] Remove unnecessary spaces

* [itk] Fix expat cannot be found

* fix cmake test port

* [wxwidgets] Update Port-Version

Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
This commit is contained in:
NancyLi1013 2020-08-17 23:33:44 +08:00 committed by GitHub
parent 5dd2b6736b
commit d6285bc24b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
43 changed files with 526 additions and 238 deletions

View File

@ -1,5 +1,6 @@
Source: apr-util
Version: 1.6.1-1
Version: 1.6.1
Port-Version: 2
Homepage: https://apr.apache.org/
Description: Apache Portable Runtime (APR) project mission is to create and maintain software libraries that provide a predictable and consistent interface to underlying platform-specific implementation
Build-Depends: expat, apr, openssl

View File

@ -1,116 +1,124 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9ae90b19..b0e86e2c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -29,8 +29,9 @@ OPTION(APR_HAS_LDAP "LDAP support" ON)
OPTION(INSTALL_PDB "Install .pdb files (if generated)" ON)
OPTION(APR_BUILD_TESTAPR "Build the test suite" OFF)
OPTION(TEST_STATIC_LIBS "Test programs use APR static libraries instead of shared libraries?" OFF)
-SET(APR_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE STRING "Directory with APR include files")
-SET(APR_LIBRARIES "${CMAKE_INSTALL_PREFIX}/lib/libapr-1.lib" CACHE STRING "APR library to link with")
+
+find_path(APR_INCLUDE_DIR apr.h)
+find_library(APR_LIBRARIES NAMES libapr-1 apr-1)
IF(NOT EXISTS "${APR_INCLUDE_DIR}/apr.h")
MESSAGE(FATAL_ERROR "APR include directory ${APR_INCLUDE_DIR} is not correct.")
@@ -65,8 +66,8 @@ IF(NOT EXPAT_FOUND)
MESSAGE(FATAL_ERROR "Expat is required, and it wasn't found!")
ENDIF()
-SET(XMLLIB_INCLUDE_DIR ${EXPAT_INCLUDE_DIRS})
-SET(XMLLIB_LIBRARIES ${EXPAT_LIBRARIES})
+find_path(XMLLIB_INCLUDE_DIR expat.h)
+find_library(XMLLIB_LIBRARIES NAMES expat)
SET(LDAP_LIBRARIES)
IF(APR_HAS_LDAP)
@@ -229,17 +230,21 @@ SET(dbd_drivers)
# Note: The WINNT definition on some targets is used only by libaprutil.rc.
# libaprutil-1 is shared, aprutil-1 is static
+if(BUILD_SHARED_LIBS)
ADD_LIBRARY(libaprutil-1 SHARED ${APR_SOURCES} ${APR_PUBLIC_HEADERS_GENERATED} libaprutil.rc)
SET(install_targets ${install_targets} libaprutil-1)
SET(install_bin_pdb ${install_bin_pdb} ${PROJECT_BINARY_DIR}/libaprutil-1.pdb)
TARGET_LINK_LIBRARIES(libaprutil-1 ${APR_LIBRARIES} ${XMLLIB_LIBRARIES})
-SET_TARGET_PROPERTIES(libaprutil-1 PROPERTIES COMPILE_DEFINITIONS "APU_DECLARE_EXPORT;APR_DECLARE_EXPORT;XML_STATIC;WINNT")
+SET_TARGET_PROPERTIES(libaprutil-1 PROPERTIES COMPILE_DEFINITIONS "APU_DECLARE_EXPORT;APR_DECLARE_IMPORT;XML_STATIC;WINNT")
+else(BUILD_SHARED_LIBS)
ADD_LIBRARY(aprutil-1 STATIC ${APR_SOURCES} ${APR_PUBLIC_HEADERS_GENERATED})
SET(install_targets ${install_targets} aprutil-1)
TARGET_LINK_LIBRARIES(aprutil-1 ${APR_LIBRARIES} ${XMLLIB_LIBRARIES})
SET_TARGET_PROPERTIES(aprutil-1 PROPERTIES COMPILE_DEFINITIONS "APU_DECLARE_STATIC;APR_DECLARE_STATIC;APU_DSO_MODULE_BUILD;XML_STATIC")
-
+endif(BUILD_SHARED_LIBS)
+
+if(BUILD_SHARED_LIBS)
IF(APU_HAVE_CRYPTO)
IF(NOT OPENSSL_FOUND)
MESSAGE(FATAL_ERROR "Only OpenSSL-based crypto is currently implemented in the cmake build")
@@ -249,7 +254,7 @@ IF(APU_HAVE_CRYPTO)
SET(install_bin_pdb ${install_bin_pdb} ${PROJECT_BINARY_DIR}/apr_crypto_openssl-1.pdb)
SET_TARGET_PROPERTIES(apr_crypto_openssl-1 PROPERTIES INCLUDE_DIRECTORIES "${APR_INCLUDE_DIRECTORIES};${OPENSSL_INCLUDE_DIR}")
SET_TARGET_PROPERTIES(apr_crypto_openssl-1 PROPERTIES COMPILE_DEFINITIONS "WINNT")
- SET_TARGET_PROPERTIES(apr_crypto_openssl-1 PROPERTIES COMPILE_FLAGS "-DAPR_DECLARE_EXPORT=1 -DAPU_DECLARE_EXPORT=1 -DDLL_NAME=apr_crypto_openssl")
+ SET_TARGET_PROPERTIES(apr_crypto_openssl-1 PROPERTIES COMPILE_FLAGS "-DAPR_DECLARE_IMPORT -DAPU_DECLARE_IMPORT -DDLL_NAME=apr_crypto_openssl")
TARGET_LINK_LIBRARIES(apr_crypto_openssl-1 libaprutil-1 ${APR_LIBRARIES} ${OPENSSL_LIBRARIES})
ENDIF()
@@ -260,8 +265,8 @@ IF(APU_HAVE_ODBC)
SET(dbd_drivers ${dbd_drivers} odbc)
TARGET_LINK_LIBRARIES(apr_dbd_odbc-1 libaprutil-1 ${APR_LIBRARIES} odbc32 odbccp32)
SET_PROPERTY(TARGET apr_dbd_odbc-1 APPEND PROPERTY LINK_FLAGS /export:apr_dbd_odbc_driver)
- SET_TARGET_PROPERTIES(apr_dbd_odbc-1 PROPERTIES COMPILE_DEFINITIONS "APU_HAVE_ODBC;HAVE_SQL_H;APU_DECLARE_EXPORT;APR_DECLARE_EXPORT;APU_DSO_MODULE_BUILD;WINNT")
- SET_TARGET_PROPERTIES(apr_dbd_odbc-1 PROPERTIES COMPILE_FLAGS "-DAPR_DECLARE_EXPORT=1 -DAPU_DECLARE_EXPORT=1 -DDLL_NAME=apr_dbd_odbc")
+ SET_TARGET_PROPERTIES(apr_dbd_odbc-1 PROPERTIES COMPILE_DEFINITIONS "APU_HAVE_ODBC;HAVE_SQL_H;APU_DECLARE_IMPORT;APR_DECLARE_IMPORT;APU_DSO_MODULE_BUILD;WINNT")
+ SET_TARGET_PROPERTIES(apr_dbd_odbc-1 PROPERTIES COMPILE_FLAGS "-DAPR_DECLARE_IMPORT -DAPU_DECLARE_IMPORT -DDLL_NAME=apr_dbd_odbc")
ENDIF()
IF(APR_HAS_LDAP)
@@ -271,11 +276,12 @@ IF(APR_HAS_LDAP)
SET(install_bin_pdb ${install_bin_pdb} ${PROJECT_BINARY_DIR}/apr_ldap-1.pdb)
TARGET_LINK_LIBRARIES(apr_ldap-1 libaprutil-1 ${APR_LIBRARIES} ${LDAP_LIBRARIES})
SET_TARGET_PROPERTIES(apr_ldap-1 PROPERTIES COMPILE_DEFINITIONS "WINNT")
- SET_TARGET_PROPERTIES(apr_ldap-1 PROPERTIES COMPILE_FLAGS "-DAPR_DECLARE_EXPORT=1 -DAPU_DECLARE_EXPORT=1 -DDLL_NAME=apr_ldap")
+ SET_TARGET_PROPERTIES(apr_ldap-1 PROPERTIES COMPILE_FLAGS "-DAPR_DECLARE_IMPORT -DAPU_DECLARE_IMPORT -DDLL_NAME=apr_ldap")
SET(apr_ldap_libraries apr_ldap-1)
ELSE()
SET(apr_ldap_libraries)
ENDIF()
+endif(BUILD_SHARED_LIBS)
IF(APR_BUILD_TESTAPR)
ENABLE_TESTING()
@@ -289,7 +295,7 @@ IF(APR_BUILD_TESTAPR)
${PROJECT_SOURCE_DIR}/test/data/billion-laughs.xml
${PROJECT_BINARY_DIR}/data/billion-laughs.xml)
- IF(TEST_STATIC_LIBS)
+ IF(NOT BUILD_SHARED_LIBS)
SET(whichapr aprutil-1)
SET(apiflag "-DAPR_DECLARE_STATIC -DAPU_DECLARE_STATIC")
ELSE()
@@ -325,13 +331,15 @@ INSTALL(TARGETS ${install_targets}
ARCHIVE DESTINATION lib
)
-IF(INSTALL_PDB)
- INSTALL(FILES ${install_bin_pdb}
- DESTINATION bin
- CONFIGURATIONS RelWithDebInfo Debug)
-ENDIF()
+#IF(INSTALL_PDB)
+# INSTALL(FILES ${install_bin_pdb}
+# DESTINATION bin
+# CONFIGURATIONS RelWithDebInfo Debug)
+#ENDIF()
-INSTALL(FILES ${APR_PUBLIC_HEADERS_STATIC} ${APR_PUBLIC_HEADERS_GENERATED} DESTINATION include)
+if(NOT DISABLE_INSTALL_HEADERS)
+ INSTALL(FILES ${APR_PUBLIC_HEADERS_STATIC} ${APR_PUBLIC_HEADERS_GENERATED} DESTINATION include)
+endif()
STRING(TOUPPER "${CMAKE_BUILD_TYPE}" buildtype)
MESSAGE(STATUS "")
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9ae90b1..71a50b0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -21,16 +21,14 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
FIND_PACKAGE(OpenSSL)
-FIND_PACKAGE(expat)
-
OPTION(APU_HAVE_CRYPTO "Crypto support" OFF)
OPTION(APU_HAVE_ODBC "Build ODBC DBD driver" ON)
OPTION(APR_HAS_LDAP "LDAP support" ON)
OPTION(INSTALL_PDB "Install .pdb files (if generated)" ON)
OPTION(APR_BUILD_TESTAPR "Build the test suite" OFF)
OPTION(TEST_STATIC_LIBS "Test programs use APR static libraries instead of shared libraries?" OFF)
-SET(APR_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE STRING "Directory with APR include files")
-SET(APR_LIBRARIES "${CMAKE_INSTALL_PREFIX}/lib/libapr-1.lib" CACHE STRING "APR library to link with")
+find_path(APR_INCLUDE_DIR apr.h)
+find_library(APR_LIBRARIES NAMES libapr-1 apr-1)
IF(NOT EXISTS "${APR_INCLUDE_DIR}/apr.h")
MESSAGE(FATAL_ERROR "APR include directory ${APR_INCLUDE_DIR} is not correct.")
@@ -61,13 +59,13 @@ IF(APR_HAS_LDAP)
SET(apr_has_ldap_10 1)
ENDIF()
-IF(NOT EXPAT_FOUND)
+find_path(XMLLIB_INCLUDE_DIR expat.h)
+find_library(XMLLIB_LIBRARIES NAMES libexpat libexpatMD)
+
+IF(NOT XMLLIB_LIBRARIES)
MESSAGE(FATAL_ERROR "Expat is required, and it wasn't found!")
ENDIF()
-SET(XMLLIB_INCLUDE_DIR ${EXPAT_INCLUDE_DIRS})
-SET(XMLLIB_LIBRARIES ${EXPAT_LIBRARIES})
-
SET(LDAP_LIBRARIES)
IF(APR_HAS_LDAP)
SET(LDAP_LIBRARIES wldap32)
@@ -229,17 +227,21 @@ SET(dbd_drivers)
# Note: The WINNT definition on some targets is used only by libaprutil.rc.
# libaprutil-1 is shared, aprutil-1 is static
+if(BUILD_SHARED_LIBS)
ADD_LIBRARY(libaprutil-1 SHARED ${APR_SOURCES} ${APR_PUBLIC_HEADERS_GENERATED} libaprutil.rc)
SET(install_targets ${install_targets} libaprutil-1)
SET(install_bin_pdb ${install_bin_pdb} ${PROJECT_BINARY_DIR}/libaprutil-1.pdb)
TARGET_LINK_LIBRARIES(libaprutil-1 ${APR_LIBRARIES} ${XMLLIB_LIBRARIES})
-SET_TARGET_PROPERTIES(libaprutil-1 PROPERTIES COMPILE_DEFINITIONS "APU_DECLARE_EXPORT;APR_DECLARE_EXPORT;XML_STATIC;WINNT")
+SET_TARGET_PROPERTIES(libaprutil-1 PROPERTIES COMPILE_DEFINITIONS "APU_DECLARE_EXPORT;APR_DECLARE_IMPORT;XML_STATIC;WINNT")
+else(BUILD_SHARED_LIBS)
ADD_LIBRARY(aprutil-1 STATIC ${APR_SOURCES} ${APR_PUBLIC_HEADERS_GENERATED})
SET(install_targets ${install_targets} aprutil-1)
TARGET_LINK_LIBRARIES(aprutil-1 ${APR_LIBRARIES} ${XMLLIB_LIBRARIES})
SET_TARGET_PROPERTIES(aprutil-1 PROPERTIES COMPILE_DEFINITIONS "APU_DECLARE_STATIC;APR_DECLARE_STATIC;APU_DSO_MODULE_BUILD;XML_STATIC")
+endif(BUILD_SHARED_LIBS)
+if(BUILD_SHARED_LIBS)
IF(APU_HAVE_CRYPTO)
IF(NOT OPENSSL_FOUND)
MESSAGE(FATAL_ERROR "Only OpenSSL-based crypto is currently implemented in the cmake build")
@@ -249,7 +251,7 @@ IF(APU_HAVE_CRYPTO)
SET(install_bin_pdb ${install_bin_pdb} ${PROJECT_BINARY_DIR}/apr_crypto_openssl-1.pdb)
SET_TARGET_PROPERTIES(apr_crypto_openssl-1 PROPERTIES INCLUDE_DIRECTORIES "${APR_INCLUDE_DIRECTORIES};${OPENSSL_INCLUDE_DIR}")
SET_TARGET_PROPERTIES(apr_crypto_openssl-1 PROPERTIES COMPILE_DEFINITIONS "WINNT")
- SET_TARGET_PROPERTIES(apr_crypto_openssl-1 PROPERTIES COMPILE_FLAGS "-DAPR_DECLARE_EXPORT=1 -DAPU_DECLARE_EXPORT=1 -DDLL_NAME=apr_crypto_openssl")
+ SET_TARGET_PROPERTIES(apr_crypto_openssl-1 PROPERTIES COMPILE_FLAGS "-DAPR_DECLARE_IMPORT -DAPU_DECLARE_IMPORT -DDLL_NAME=apr_crypto_openssl")
TARGET_LINK_LIBRARIES(apr_crypto_openssl-1 libaprutil-1 ${APR_LIBRARIES} ${OPENSSL_LIBRARIES})
ENDIF()
@@ -260,8 +262,8 @@ IF(APU_HAVE_ODBC)
SET(dbd_drivers ${dbd_drivers} odbc)
TARGET_LINK_LIBRARIES(apr_dbd_odbc-1 libaprutil-1 ${APR_LIBRARIES} odbc32 odbccp32)
SET_PROPERTY(TARGET apr_dbd_odbc-1 APPEND PROPERTY LINK_FLAGS /export:apr_dbd_odbc_driver)
- SET_TARGET_PROPERTIES(apr_dbd_odbc-1 PROPERTIES COMPILE_DEFINITIONS "APU_HAVE_ODBC;HAVE_SQL_H;APU_DECLARE_EXPORT;APR_DECLARE_EXPORT;APU_DSO_MODULE_BUILD;WINNT")
- SET_TARGET_PROPERTIES(apr_dbd_odbc-1 PROPERTIES COMPILE_FLAGS "-DAPR_DECLARE_EXPORT=1 -DAPU_DECLARE_EXPORT=1 -DDLL_NAME=apr_dbd_odbc")
+ SET_TARGET_PROPERTIES(apr_dbd_odbc-1 PROPERTIES COMPILE_DEFINITIONS "APU_HAVE_ODBC;HAVE_SQL_H;APU_DECLARE_IMPORT;APR_DECLARE_IMPORT;APU_DSO_MODULE_BUILD;WINNT")
+ SET_TARGET_PROPERTIES(apr_dbd_odbc-1 PROPERTIES COMPILE_FLAGS "-DAPR_DECLARE_IMPORT -DAPU_DECLARE_IMPORT -DDLL_NAME=apr_dbd_odbc")
ENDIF()
IF(APR_HAS_LDAP)
@@ -271,11 +273,12 @@ IF(APR_HAS_LDAP)
SET(install_bin_pdb ${install_bin_pdb} ${PROJECT_BINARY_DIR}/apr_ldap-1.pdb)
TARGET_LINK_LIBRARIES(apr_ldap-1 libaprutil-1 ${APR_LIBRARIES} ${LDAP_LIBRARIES})
SET_TARGET_PROPERTIES(apr_ldap-1 PROPERTIES COMPILE_DEFINITIONS "WINNT")
- SET_TARGET_PROPERTIES(apr_ldap-1 PROPERTIES COMPILE_FLAGS "-DAPR_DECLARE_EXPORT=1 -DAPU_DECLARE_EXPORT=1 -DDLL_NAME=apr_ldap")
+ SET_TARGET_PROPERTIES(apr_ldap-1 PROPERTIES COMPILE_FLAGS "-DAPR_DECLARE_IMPORT -DAPU_DECLARE_IMPORT -DDLL_NAME=apr_ldap")
SET(apr_ldap_libraries apr_ldap-1)
ELSE()
SET(apr_ldap_libraries)
ENDIF()
+endif(BUILD_SHARED_LIBS)
IF(APR_BUILD_TESTAPR)
ENABLE_TESTING()
@@ -289,7 +292,7 @@ IF(APR_BUILD_TESTAPR)
${PROJECT_SOURCE_DIR}/test/data/billion-laughs.xml
${PROJECT_BINARY_DIR}/data/billion-laughs.xml)
- IF(TEST_STATIC_LIBS)
+ IF(NOT BUILD_SHARED_LIBS)
SET(whichapr aprutil-1)
SET(apiflag "-DAPR_DECLARE_STATIC -DAPU_DECLARE_STATIC")
ELSE()
@@ -325,13 +328,9 @@ INSTALL(TARGETS ${install_targets}
ARCHIVE DESTINATION lib
)
-IF(INSTALL_PDB)
- INSTALL(FILES ${install_bin_pdb}
- DESTINATION bin
- CONFIGURATIONS RelWithDebInfo Debug)
-ENDIF()
-
-INSTALL(FILES ${APR_PUBLIC_HEADERS_STATIC} ${APR_PUBLIC_HEADERS_GENERATED} DESTINATION include)
+if(NOT DISABLE_INSTALL_HEADERS)
+ INSTALL(FILES ${APR_PUBLIC_HEADERS_STATIC} ${APR_PUBLIC_HEADERS_GENERATED} DESTINATION include)
+endif()
STRING(TOUPPER "${CMAKE_BUILD_TYPE}" buildtype)
MESSAGE(STATUS "")

View File

@ -1,8 +1,14 @@
Source: exiv2
Version: 0.27.3
Build-Depends: zlib, expat, libiconv, gettext
Port-Version: 1
Build-Depends: zlib, libiconv, gettext
Description: Image metadata library and tools
Homepage: https://www.exiv2.org
Supports: !uwp
Feature: unicode
Description: Compile with unicode support on windows
Feature: xmp
Description: Build with XMP metadata support
Build-Depends: expat

45
ports/exiv2/expat.patch Normal file
View File

@ -0,0 +1,45 @@
diff --git a/cmake/findDependencies.cmake b/cmake/findDependencies.cmake
index 9caffcf..deb01a0 100644
--- a/cmake/findDependencies.cmake
+++ b/cmake/findDependencies.cmake
@@ -33,7 +33,7 @@ if (EXIV2_ENABLE_XMP AND EXIV2_ENABLE_EXTERNAL_XMP)
message(FATAL_ERROR "EXIV2_ENABLE_XMP AND EXIV2_ENABLE_EXTERNAL_XMP are mutually exclusive. You can only choose one of them")
else()
if (EXIV2_ENABLE_XMP)
- find_package(EXPAT REQUIRED)
+ find_package(expat CONFIG REQUIRED)
elseif (EXIV2_ENABLE_EXTERNAL_XMP)
find_package(XmpSdk REQUIRED)
endif ()
diff --git a/xmpsdk/CMakeLists.txt b/xmpsdk/CMakeLists.txt
index ae011dc..7390d26 100644
--- a/xmpsdk/CMakeLists.txt
+++ b/xmpsdk/CMakeLists.txt
@@ -26,16 +26,21 @@ add_library(exiv2-xmp STATIC
include/XMP_Version.h
)
-target_link_libraries(exiv2-xmp
- PRIVATE
- ${EXPAT_LIBRARY}
-)
+if(WIN32 AND NOT MINGW)
+ target_link_libraries(exiv2-xmp
+ PRIVATE
+ expat::libexpat
+ )
+else()
+ target_link_libraries(exiv2-xmp
+ PRIVATE
+ expat::expat
+ )
+endif()
target_include_directories(exiv2-xmp
PUBLIC
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/xmpsdk/include>
- PRIVATE
- ${EXPAT_INCLUDE_DIR}
)
# Prevent a denial-service-attack related to XML entity expansion

View File

@ -1,22 +1,33 @@
#https://github.com/Exiv2/exiv2/issues/1063
vcpkg_fail_port_install(ON_TARGET "uwp")
if("xmp" IN_LIST FEATURES)
set(EXPAT_PATCH ${CMAKE_CURRENT_LIST_DIR}/expat.patch)
endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Exiv2/exiv2
REF 194bb65ac568a5435874c9d9d73b1c8a68e4edec #v0.27.3
SHA512 35a5a41e0a6cfe04d1ed005c8116ad4430516402b925db3d4f719e2385e2cfb09359eb7ab51853bc560138f221900778cd2e2d39f108c513b3e7d22dbb9bf503
HEAD_REF master
PATCHES ${EXPAT_PATCH}
)
if((NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") AND ("unicode" IN_LIST FEATURES))
set(enable_win_unicode TRUE)
elseif()
set(enable_win_unicode FALSE)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
unicode EXIV2_ENABLE_WIN_UNICODE
xmp EXIV2_ENABLE_XMP
)
if("unicode" IN_LIST FEATURES AND NOT VCPKG_TARGET_IS_WINDOWS)
message(FATAL_ERROR "Feature unicode only supports Windows platform.")
endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DEXIV2_ENABLE_WIN_UNICODE:BOOL=${enable_win_unicode}
${FEATURE_OPTIONS}
-DEXIV2_BUILD_EXIV2_COMMAND:BOOL=FALSE
-DEXIV2_BUILD_UNIT_TESTS:BOOL=FALSE
-DEXIV2_BUILD_SAMPLES:BOOL=FALSE
@ -27,7 +38,7 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/exiv2)
configure_file(
${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake
${CURRENT_PACKAGES_DIR}/share/exiv2
${CURRENT_PACKAGES_DIR}/share/${PORT}
@ONLY
)
@ -42,5 +53,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
endif()
# Handle copyright
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/exiv2)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/exiv2/COPYING ${CURRENT_PACKAGES_DIR}/share/exiv2/copyright)
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)

View File

@ -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
Description: XML parser library written in C

View File

@ -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::
)

View File

@ -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)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
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()
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/expat_external.h
"! defined(XML_STATIC)"
"/* vcpkg static build ! defined(XML_STATIC) */ 0"
)
endif()
vcpkg_copy_pdbs()
# 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)
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}")
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)
#Handle copyright
file(INSTALL ${SOURCE_PATH}/expat/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)

View File

@ -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)

View File

@ -6,7 +6,7 @@ add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS -DHAVE_CONF
# find dependencies
find_package(unofficial-iconv CONFIG REQUIRED)
find_package(Freetype REQUIRED)
find_package(EXPAT REQUIRED)
find_package(expat CONFIG REQUIRED)
add_library(fontconfig
src/fcatomic.c
@ -52,7 +52,11 @@ else()
target_include_directories(fontconfig PRIVATE ${FC_INCLUDE_DIR}/unix)
endif()
target_link_libraries(fontconfig PRIVATE unofficial::iconv::libiconv Freetype::Freetype EXPAT::EXPAT)
if(WIN32 AND NOT MINGW)
target_link_libraries(fontconfig PRIVATE unofficial::iconv::libiconv Freetype::Freetype expat::libexpat)
else()
target_link_libraries(fontconfig PRIVATE unofficial::iconv::libiconv Freetype::Freetype expat::expat)
endif()
install(TARGETS fontconfig
EXPORT fontconfig-targets
@ -89,7 +93,7 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/unofficial-fontconfig-config.cmake "
include(CMakeFindDependencyMacro)
find_dependency(unofficial-iconv CONFIG)
find_dependency(Freetype)
find_dependency(EXPAT)
find_dependency(expat CONFIG)
include(\${CMAKE_CURRENT_LIST_DIR}/unofficial-fontconfig-targets.cmake)
")

View File

@ -1,6 +1,7 @@
Source: fontconfig
Version: 2.12.4
Port-Version: 11
Port-Version: 12
Homepage: https://www.freedesktop.org/software/fontconfig/front.html
Description: Library for configuring and customizing font access.
Build-Depends: freetype, expat, libiconv, dirent
Supports: !uwp

View File

@ -1,3 +1,5 @@
vcpkg_fail_port_install(ON_TARGET "uwp")
set(FONTCONFIG_VERSION 2.12.4)
vcpkg_download_distfile(ARCHIVE
URLS "https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.gz"
@ -32,16 +34,19 @@ vcpkg_copy_pdbs()
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
foreach(HEADER fcfreetype.h fontconfig.h)
file(READ ${CURRENT_PACKAGES_DIR}/include/fontconfig/${HEADER} FC_HEADER)
if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
string(REPLACE "#define FcPublic" "#define FcPublic __declspec(dllimport)" FC_HEADER "${FC_HEADER}")
if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP)
vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/fontconfig/${HEADER}
"#define FcPublic"
"#define FcPublic __declspec(dllimport)"
)
else()
string(REPLACE "#define FcPublic" "#define FcPublic __attribute__((visibility(\"default\")))" FC_HEADER "${FC_HEADER}")
vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/fontconfig/${HEADER}
"#define FcPublic"
"#define FcPublic __attribute__((visibility(\"default\")))"
)
endif()
file(WRITE ${CURRENT_PACKAGES_DIR}/include/fontconfig/${HEADER} "${FC_HEADER}")
endforeach()
endif()
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
#vcpkg_test_cmake(PACKAGE_NAME unofficial-fontconfig)

View File

@ -1,8 +1,10 @@
Source: gdal
Version: 2.4.1-9
Version: 2.4.1
Port-Version: 10
Homepage: https://gdal.org/
Description: The Geographic Data Abstraction Library for reading and writing geospatial raster and vector data.
Build-Depends: proj4, libpng, geos, sqlite3, curl, expat, libpq, openjpeg, libwebp, libxml2, liblzma, netcdf-c, hdf5, zlib
Supports: !arm
Feature: mysql-libmariadb
Build-Depends: libmariadb
@ -10,4 +12,4 @@ Description: Add mysql support using libmariadb
Feature: libspatialite
Build-Depends: libspatialite
Description: Create or update SpatiaLite databases using libspatialite
Description: Create or update SpatiaLite databases using libspatialite

View File

@ -1,16 +1,10 @@
# vcpkg portfile.cmake for GDAL
#
# NOTE: update the version and checksum for new GDAL release
include(vcpkg_common_functions)
set(GDAL_VERSION_STR "2.4.1")
set(GDAL_VERSION_PKG "241")
set(GDAL_VERSION_LIB "204")
set(GDAL_PACKAGE_SUM "edb9679ee6788334cf18971c803615ac9b1c72bc0c96af8fd4852cb7e8f58e9c4f3d9cb66406bc8654419612e1a7e9d0e62f361712215f4a50120f646bb0a738")
if (TRIPLET_SYSTEM_ARCH MATCHES "arm")
message(FATAL_ERROR "ARM is currently not supported.")
endif()
vcpkg_fail_port_install(ON_ARCH "arm")
vcpkg_download_distfile(ARCHIVE
URLS "http://download.osgeo.org/gdal/${GDAL_VERSION_STR}/gdal${GDAL_VERSION_PKG}.zip"
@ -54,7 +48,7 @@ foreach(BUILD_TYPE IN LISTS BUILD_TYPES)
)
endforeach()
if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
if (VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP)
# Check build system first
find_program(NMAKE nmake REQUIRED)
@ -86,12 +80,17 @@ if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStor
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib" GEOS_LIBRARY_REL)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib" GEOS_LIBRARY_DBG)
endif()
# Setup expat libraries + include path
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" EXPAT_INCLUDE_DIR)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/expat.lib" EXPAT_LIBRARY_REL)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/expat.lib" EXPAT_LIBRARY_DBG)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libexpatMD.lib" EXPAT_LIBRARY_REL)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libexpatdMD.lib" EXPAT_LIBRARY_DBG)
else()
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libexpat.lib" EXPAT_LIBRARY_REL)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libexpatd.lib" EXPAT_LIBRARY_DBG)
endif()
# Setup curl libraries + include path
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" CURL_INCLUDE_DIR)
if(EXISTS "${CURRENT_INSTALLED_DIR}/lib/libcurl.lib")
@ -423,4 +422,4 @@ else() # Other build system
endif()
# Handle copyright
configure_file(${SOURCE_PATH_RELEASE}/LICENSE.TXT ${CURRENT_PACKAGES_DIR}/share/gdal/copyright COPYONLY)
configure_file(${SOURCE_PATH_RELEASE}/LICENSE.TXT ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)

View File

@ -1,5 +1,7 @@
Source: gdcm
Version: 3.0.5
Port-Version: 1
Homepage: https://github.com/malaterre/GDCM
Description: Grassroots DICOM library
Build-Depends: zlib, expat, openjpeg
Supports: !uwp

View File

@ -1,3 +1,5 @@
vcpkg_fail_port_install(ON_TARGET "uwp")
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
@ -10,6 +12,7 @@ vcpkg_from_github(
use-openjpeg-config.patch
fix-share-path.patch
Fix-Cmake_DIR.patch
use-expat-config.patch
)
file(REMOVE ${SOURCE_PATH}/CMake/FindOpenJPEG.cmake)
@ -42,14 +45,14 @@ file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/debug/share
)
file(READ ${CURRENT_PACKAGES_DIR}/share/gdcm/GDCMTargets.cmake GDCM_TARGETS)
string(REPLACE "set(CMAKE_IMPORT_FILE_VERSION 1)"
"set(CMAKE_IMPORT_FILE_VERSION 1)
find_package(OpenJPEG QUIET)" GDCM_TARGETS "${GDCM_TARGETS}")
file(WRITE ${CURRENT_PACKAGES_DIR}/share/gdcm/GDCMTargets.cmake "${GDCM_TARGETS}")
vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/gdcm/GDCMTargets.cmake
"set(CMAKE_IMPORT_FILE_VERSION 1)"
"set(CMAKE_IMPORT_FILE_VERSION 1)
find_package(OpenJPEG QUIET)"
)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
endif()
file(INSTALL ${SOURCE_PATH}/Copyright.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
file(INSTALL ${SOURCE_PATH}/Copyright.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)

View File

@ -0,0 +1,13 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 32786db..4215d25 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -426,7 +426,7 @@ endif()
if(GDCM_USE_SYSTEM_EXPAT)
# If user say so, then this is a requirement !
- find_package(EXPAT REQUIRED)
+ find_package(expat CONFIG REQUIRED)
set(GDCM_EXPAT_LIBRARIES ${EXPAT_LIBRARIES})
else()
set(GDCM_EXPAT_LIBRARIES "gdcmexpat")

View File

@ -1,4 +1,5 @@
Source: io2d
Version: 2019-07-11-2
Version: 2019-07-11
Port-Version: 3
Description: a lightweight, cross platform drawing library
Build-Depends: cairo (!osx), cairo[x11] (linux), graphicsmagick (!osx)

View File

@ -0,0 +1,13 @@
diff --git a/P0267_RefImpl/P0267_RefImpl/cairo/win32/CMakeLists.txt b/P0267_RefImpl/P0267_RefImpl/cairo/win32/CMakeLists.txt
index abb1501..412f3d4 100644
--- a/P0267_RefImpl/P0267_RefImpl/cairo/win32/CMakeLists.txt
+++ b/P0267_RefImpl/P0267_RefImpl/cairo/win32/CMakeLists.txt
@@ -32,7 +32,7 @@ if(MSVC)
find_library(BZ_LIB bz2)
find_library(JPEG_LIB jpeg)
find_library(TIFF_LIB tiff)
- find_library(EXPAT_LIB expat)
+ find_library(EXPAT_LIB libexpat)
find_library(LZMA_LIB lzma)
find_library(ICONV_LIB libiconv)
find_library(CHARSET_LIB libcharset)

View File

@ -9,9 +9,10 @@ vcpkg_from_github(
PATCHES
fix-linux-build.patch
Fix-FindCairo.patch
fix-expat.patch
)
if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL Darwin)
if (VCPKG_TARGET_IS_OSX)
set(IO2D_DEFAULT_OPTION "-DIO2D_DEFAULT=COREGRAPHICS_MAC")
endif()
@ -31,7 +32,7 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/io2d)
if (NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL Darwin)
if (NOT VCPKG_TARGET_IS_OSX)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/io2d/io2dConfig.cmake ${CURRENT_PACKAGES_DIR}/share/io2d/io2dTargets.cmake)
file(WRITE ${CURRENT_PACKAGES_DIR}/share/io2d/io2dConfig.cmake "
include(CMakeFindDependencyMacro)
@ -42,6 +43,4 @@ if (NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL Darwin)
")
endif()
file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
vcpkg_test_cmake(PACKAGE_NAME io2d)
file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)

View File

@ -1,5 +1,6 @@
Source: itk
Version: 5.1.0
Port-Version: 1
Description: Insight Segmentation and Registration Toolkit (ITK) is used for image processing and analysis.
Homepage: https://github.com/InsightSoftwareConsortium/ITK
Build-Depends: double-conversion, libjpeg-turbo, zlib, libpng, tiff, expat, eigen3, hdf5[core,cpp], openjpeg[core], fftw3[core], gtest, gdcm, icu, minc

54
ports/itk/expat.patch Normal file
View File

@ -0,0 +1,54 @@
diff --git a/Modules/IO/GDCM/itk-module.cmake b/Modules/IO/GDCM/itk-module.cmake
index 2703612..51f0214 100644
--- a/Modules/IO/GDCM/itk-module.cmake
+++ b/Modules/IO/GDCM/itk-module.cmake
@@ -1,7 +1,7 @@
set(DOCUMENTATION "This module contains ITK ImageIO classes for the <a
href=\"http://sourceforge.net/projects/gdcm/\">Grassroots DICOM (GDCM)</a> based
readers and writers of the medical imaging DICOM standard.")
-
+find_package(expat CONFIG REQUIRED)
itk_module(ITKIOGDCM
ENABLE_SHARED
DEPENDS
@@ -9,6 +9,7 @@ itk_module(ITKIOGDCM
ITKIOImageBase
PRIVATE_DEPENDS
ITKGDCM
+ ITKExpat
TEST_DEPENDS
ITKTestKernel
ITKGDCM
diff --git a/Modules/ThirdParty/Expat/CMakeLists.txt b/Modules/ThirdParty/Expat/CMakeLists.txt
index f69709d..9b49323 100644
--- a/Modules/ThirdParty/Expat/CMakeLists.txt
+++ b/Modules/ThirdParty/Expat/CMakeLists.txt
@@ -5,10 +5,12 @@ option(ITK_USE_SYSTEM_EXPAT "Use system-installed expat" ${ITK_USE_SYSTEM_LIBRAR
mark_as_advanced(ITK_USE_SYSTEM_EXPAT)
if(ITK_USE_SYSTEM_EXPAT)
- find_package(EXPAT REQUIRED)
- set(ITKExpat_INCLUDE_DIRS ${ITKExpat_BINARY_DIR}/src )
- set(ITKExpat_SYSTEM_INCLUDE_DIRS "${EXPAT_INCLUDE_DIR}")
- set(ITKExpat_LIBRARIES "${EXPAT_LIBRARY}")
+ find_package(expat CONFIG REQUIRED)
+ if(WIN32 AND NOT MINGW)
+ set(ITKExpat_LIBRARIES expat::libexpat)
+ else()
+ set(ITKExpat_LIBRARIES expat::expat)
+ endif()
set(ITKExpat_NO_SRC 1)
else()
set(ITKExpat_INCLUDE_DIRS
diff --git a/Modules/ThirdParty/GIFTI/src/gifticlib/CMakeLists.txt b/Modules/ThirdParty/GIFTI/src/gifticlib/CMakeLists.txt
index 3f83225..c7ddbbe 100644
--- a/Modules/ThirdParty/GIFTI/src/gifticlib/CMakeLists.txt
+++ b/Modules/ThirdParty/GIFTI/src/gifticlib/CMakeLists.txt
@@ -11,6 +11,7 @@ set(GIFTI_INSTALL_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include/gifti")
if("${ITK_VERSION_MAJOR}" GREATER 0.0)
# ITK provides expat and zlib.
+ find_package(expat CONFIG REQUIRED)
include_directories(${ITKNIFTI_INCLUDE_DIRS})
set(PACKAGE_PREFIX "ITK")
set(EXPAT_LIBRARIES ${ITKExpat_LIBRARIES})

View File

@ -16,6 +16,7 @@ vcpkg_from_github(
python_gpu_wrapping.patch
opencl.patch
cufftw.patch
expat.patch
)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS

View File

@ -1,5 +1,6 @@
Source: libkml
Version: 1.3.0-4
Version: 1.3.0
Port-Version: 5
Homepage: https://github.com/libkml/libkml
Description: Reference implementation of OGC KML 2.2
Build-Depends: zlib, expat, minizip[bzip2], uriparser, boost-smart-ptr
Build-Depends: zlib, expat, minizip[bzip2], uriparser, boost-smart-ptr

View File

@ -0,0 +1,20 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9728ead..f9e8051 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -93,8 +93,13 @@ set(MINIZIP_DEPENDS "" CACHE INTERNAL "MINIZIP_DEPENDS")
set(LIBKML_TARGETS)
-find_package(EXPAT)
-if(EXPAT_FOUND)
+find_package(expat CONFIG REQUIRED)
+if(WIN32 AND NOT MINGW)
+ set(EXPAT_LIBRARY expat::libexpat)
+else()
+ set(EXPAT_LIBRARY expat::expat)
+endif()
+if(EXPAT_LIBRARY)
include_directories(${EXPAT_INCLUDE_DIR})
else()
include(External_expat)

View File

@ -1,5 +1,3 @@
include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libkml/libkml
@ -8,6 +6,7 @@ vcpkg_from_github(
HEAD_REF master
PATCHES
patch_empty_literal_on_vc.patch
fix-expat.patch
)
file(REMOVE ${SOURCE_PATH}/cmake/External_boost.cmake)
@ -22,11 +21,11 @@ vcpkg_copy_pdbs()
if (VCPKG_TARGET_IS_WINDOWS)
vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
elseif (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
elseif (VCPKG_TARGET_IS_LINUX)
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libkml)
elseif (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
elseif (VCPKG_TARGET_IS_OSX)
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libkml)
endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libkml RENAME copyright)
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)

View File

@ -1,5 +1,6 @@
Source: poco
Version: 1.9.2-2
Version: 1.9.2
Port-Version: 3
Build-Depends: expat, libpq, pcre, sqlite3, zlib, libpng
Description: Modern, powerful open source C++ class libraries for building network and internet-based applications that run on desktop, server, mobile and embedded systems.
Homepage: https://github.com/pocoproject/poco

View File

@ -1,5 +1,3 @@
include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO pocoproject/poco
@ -18,6 +16,7 @@ vcpkg_from_github(
# Add the support of arm64-windows
arm64_pcre.patch
fix_foundation_link.patch
use-vcpkg-expat.patch
)
# define Poco linkage type
@ -119,8 +118,6 @@ else()
file(RENAME ${CURRENT_PACKAGES_DIR}/bin/tec ${CURRENT_PACKAGES_DIR}/tools/tec)
endif()
#
if (VCPKG_LIBRARY_LINKAGE STREQUAL static OR VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX)
file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/bin
@ -141,7 +138,6 @@ else()
${CURRENT_PACKAGES_DIR}/debug/bin/tec.pdb)
endif()
#
if(EXISTS "${CURRENT_PACKAGES_DIR}/cmake")
vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
elseif(EXISTS "${CURRENT_PACKAGES_DIR}/lib/cmake/Poco")
@ -152,7 +148,6 @@ endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
# copy license
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
vcpkg_copy_pdbs()

View File

@ -0,0 +1,18 @@
diff --git a/XML/CMakeLists.txt b/XML/CMakeLists.txt
index d4a502a..780f5d0 100644
--- a/XML/CMakeLists.txt
+++ b/XML/CMakeLists.txt
@@ -23,7 +23,12 @@ endif()
# If POCO_UNBUNDLED is enabled we try to find the required packages
# The configuration will fail if the packages are not found
if (POCO_UNBUNDLED)
- find_package(EXPAT REQUIRED)
+ find_package(expat CONFIG REQUIRED)
+ if(WIN32 AND NOT MINGW)
+ set(EXPAT_LIBRARIES expat::libexpat)
+ else()
+ set(EXPAT_LIBRARIES expat::expat)
+ endif()
set(SYSLIBS ${SYSLIBS} ${EXPAT_LIBRARIES})
include_directories(${EXPAT_INCLUDE_DIRS})
else()

View File

@ -1,5 +1,7 @@
Source: readosm
Version: 1.1.0-2
Version: 1.1.0
Port-Version: 3
Homepage: https://www.gaia-gis.it/gaia-sins/readosm-sources
Description: ReadOSM is an open source library to extract valid data from within an Open Street Map input file (.osm or .osm.pbf)
Build-Depends: expat, zlib
Supports: !(linux|osx|uwp)

View File

@ -1,4 +1,4 @@
include(vcpkg_common_functions)
vcpkg_fail_port_install(ON_TARGET "Linux" "OSX" "UWP")
vcpkg_download_distfile(ARCHIVE
URLS "http://www.gaia-gis.it/gaia-sins/readosm-sources/readosm-1.1.0.tar.gz"
@ -16,13 +16,14 @@ vcpkg_extract_source_archive_ex(
find_program(NMAKE nmake)
set(LIBS_ALL_DBG "\"${CURRENT_INSTALLED_DIR}/debug/lib/expat.lib\" \"${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib\"")
set(LIBS_ALL_REL "\"${CURRENT_INSTALLED_DIR}/lib/expat.lib\" \"${CURRENT_INSTALLED_DIR}/lib/zlib.lib\"")
if(VCPKG_CRT_LINKAGE STREQUAL dynamic)
set(LIBS_ALL_DBG "\"${CURRENT_INSTALLED_DIR}/debug/lib/libexpatd.lib\" \"${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib\"")
set(LIBS_ALL_REL "\"${CURRENT_INSTALLED_DIR}/lib/libexpat.lib\" \"${CURRENT_INSTALLED_DIR}/lib/zlib.lib\"")
set(CL_FLAGS_DBG "/MDd /Zi")
set(CL_FLAGS_REL "/MD /Ox")
else()
set(LIBS_ALL_DBG "\"${CURRENT_INSTALLED_DIR}/debug/lib/libexpatdMD.lib\" \"${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib\"")
set(LIBS_ALL_REL "\"${CURRENT_INSTALLED_DIR}/lib/libexpatMD.lib\" \"${CURRENT_INSTALLED_DIR}/lib/zlib.lib\"")
set(CL_FLAGS_DBG "/MTd /Zi")
set(CL_FLAGS_REL "/MT /Ox")
endif()
@ -64,7 +65,6 @@ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/readosm RENAME copyright)
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
@ -82,5 +82,7 @@ else()
endif()
endif()
message(STATUS "Packaging ${TARGET_TRIPLET} done")
#Handle copyright
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)

View File

@ -1,5 +1,6 @@
Source: skia
Version: 2020-05-18-1
Version: 2020-05-18
Port-Version: 2
Homepage: https://skia.org
Description: Skia is an open source 2D graphics library which provides common APIs that work across a variety of hardware and software platforms.
It serves as the graphics engine for Google Chrome and Chrome OS, Android, Mozilla Firefox and Firefox OS, and many other products.

View File

@ -95,7 +95,7 @@ endfunction()
set(_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include")
replace_skia_dep(expat "/include" "expat" "expat" "")
replace_skia_dep(expat "/include" "libexpat,libexpatd,libexpatdMD" "libexpat,libexpatMD" "")
replace_skia_dep(freetype2 "/include" "freetype,freetyped" "freetype" "")
replace_skia_dep(harfbuzz "/include/harfbuzz" "harfbuzz-icu" "harfbuzz-icu" "")
replace_skia_dep(icu "/include" "icuuc,icuucd" "icuuc" "U_USING_ICU_NAMESPACE=0")

View File

@ -1,5 +1,6 @@
Source: spatialite-tools
Version: 4.3.0-2
Version: 4.3.0
Port-Version: 3
Homepage: https://www.gaia-gis.it/fossil/spatialite-tools/index
Description: Contains spatialite.exe and other command line tools to work with SpatiaLite databases (import, export, SQL queries)
Build-Depends: sqlite3, libspatialite, geos, readosm, proj4, zlib, libiconv, expat

View File

@ -1,5 +1,3 @@
include(vcpkg_common_functions)
option(BUILD_DEBUG_TOOLS "Build debug version of tools" OFF)
vcpkg_download_distfile(ARCHIVE
@ -30,6 +28,8 @@ if(VCPKG_CRT_LINKAGE STREQUAL dynamic)
set(SPATIALITE_LIBS_DBG "${LDIR}/debug/lib/spatialite.lib")
set(ICONV_LIBS_REL "${LDIR}/lib/libiconv.lib")
set(ICONV_LIBS_DBG "${LDIR}/debug/lib/libiconv.lib")
set(EXPAT_LIBS_REL "${LDIR}/lib/libexpat.lib")
set(EXPAT_LIBS_DBG "${LDIR}/debug/lib/libexpatd.lib")
else()
set(CL_FLAGS_DBG "/MTd /Zi /DACCEPT_USE_OF_DEPRECATED_PROJ_API_H")
set(CL_FLAGS_REL "/MT /Ox /DACCEPT_USE_OF_DEPRECATED_PROJ_API_H")
@ -41,6 +41,8 @@ else()
set(SPATIALITE_LIBS_DBG "${LDIR}/debug/lib/spatialite.lib ${LDIR}/debug/lib/freexl.lib")
set(ICONV_LIBS_REL "${LDIR}/lib/libiconv.lib ${LDIR}/lib/libcharset.lib")
set(ICONV_LIBS_DBG "${LDIR}/debug/lib/libiconv.lib ${LDIR}/debug/lib/libcharset.lib ")
set(EXPAT_LIBS_REL "${LDIR}/lib/libexpatMD.lib")
set(EXPAT_LIBS_DBG "${LDIR}/debug/lib/libexpatdMD.lib")
endif()
set(LIBS_ALL_DBG
@ -49,8 +51,8 @@ set(LIBS_ALL_DBG
${SPATIALITE_LIBS_DBG} \
${LIBXML2_LIBS_DBG} \
${GEOS_LIBS_DBG} \
${EXPAT_LIBS_DBG} \
${LDIR}/debug/lib/readosm.lib \
${LDIR}/debug/lib/expat.lib \
${LDIR}/debug/lib/zlibd.lib \
${LDIR}/debug/lib/proj_d.lib"
)
@ -60,8 +62,8 @@ set(LIBS_ALL_REL
${SPATIALITE_LIBS_REL} \
${LIBXML2_LIBS_REL} \
${GEOS_LIBS_REL} \
${EXPAT_LIBS_REL} \
${LDIR}/lib/readosm.lib \
${LDIR}/lib/expat.lib \
${LDIR}/lib/zlib.lib \
${LDIR}/lib/proj.lib"
)

13
ports/vtk/FindExpat.patch Normal file
View File

@ -0,0 +1,13 @@
diff --git a/CMake/FindEXPAT.cmake b/CMake/FindEXPAT.cmake
index 9d4c080..9e14e7d 100644
--- a/CMake/FindEXPAT.cmake
+++ b/CMake/FindEXPAT.cmake
@@ -40,7 +40,7 @@ pkg_check_modules(PC_EXPAT QUIET expat)
find_path(EXPAT_INCLUDE_DIR NAMES expat.h HINTS ${PC_EXPAT_INCLUDE_DIRS})
# Look for the library.
-find_library(EXPAT_LIBRARY NAMES expat libexpat HINTS ${PC_EXPAT_LIBRARY_DIRS})
+find_library(EXPAT_LIBRARY NAMES expat libexpat libexpatMD HINTS ${PC_EXPAT_LIBRARY_DIRS})
if (EXPAT_INCLUDE_DIR AND EXISTS "${EXPAT_INCLUDE_DIR}/expat.h")
file(STRINGS "${EXPAT_INCLUDE_DIR}/expat.h" expat_version_str

View File

@ -120,6 +120,7 @@ vcpkg_from_github(
python_debug.patch
fix-using-hdf5.patch
# Last patch TODO: Patch out internal loguru
FindExpat.patch
)
# =============================================================================

View File

@ -1,6 +1,7 @@
Source: wxwidgets
Version: 3.1.4
Port-Version: 1
Port-Version: 2
Homepage: https://github.com/wxWidgets/wxWidgets
Description: wxWidgets is a widget toolkit and tools library for creating graphical user interfaces (GUIs) for cross-platform applications.
Build-Depends: zlib, libpng, tiff, expat
Build-Depends: zlib, libpng, tiff, expat
Supports: !uwp

View File

@ -0,0 +1,24 @@
diff --git a/build/cmake/lib/expat.cmake b/build/cmake/lib/expat.cmake
index 1d2b79b..04bef93 100644
--- a/build/cmake/lib/expat.cmake
+++ b/build/cmake/lib/expat.cmake
@@ -7,14 +7,9 @@
# Licence: wxWindows licence
#############################################################################
-if(wxUSE_EXPAT STREQUAL "builtin")
- wx_add_builtin_library(wxexpat
- src/expat/expat/lib/xmlparse.c
- src/expat/expat/lib/xmlrole.c
- src/expat/expat/lib/xmltok.c
- )
- set(EXPAT_LIBRARIES wxexpat)
- set(EXPAT_INCLUDE_DIRS ${wxSOURCE_DIR}/src/expat/expat/lib)
-elseif(wxUSE_EXPAT)
- find_package(EXPAT REQUIRED)
+find_package(expat CONFIG REQUIRED)
+if(WIN32 AND NOT MINGW)
+ set(EXPAT_LIBRARIES expat::libexpat)
+else()
+ set(EXPAT_LIBRARIES expat::expat)
endif()

View File

@ -1,3 +1,5 @@
vcpkg_fail_port_install(ON_TARGET "uwp")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO wxWidgets/wxWidgets
@ -7,10 +9,11 @@ vcpkg_from_github(
PATCHES
disable-platform-lib-dir.patch
fix-stl-build-vs2019-16.6.patch
fix-expat.patch
)
set(OPTIONS)
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
if(VCPKG_TARGET_IS_OSX)
set(OPTIONS -DCOTIRE_MINIMUM_NUMBER_OF_TARGET_SOURCES=9999)
endif()
@ -71,4 +74,4 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/mswud)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/msvc)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(INSTALL ${SOURCE_PATH}/docs/licence.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
file(INSTALL ${SOURCE_PATH}/docs/licence.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)

View File

@ -395,8 +395,6 @@ epsilon:arm-uwp=fail
epsilon:x64-linux=fail
epsilon:x64-osx=fail
epsilon:x64-uwp=fail
expat:arm-uwp=fail
expat:x64-uwp=fail
faad2:x64-linux=fail
faad2:x64-osx=fail
fann:arm-uwp=fail
@ -1483,8 +1481,6 @@ readline-win32:arm-uwp=fail
readline-win32:x64-linux=fail
readline-win32:x64-osx=fail
readline-win32:x64-uwp=fail
readosm:x64-linux=fail
readosm:x64-osx=fail
realsense2:arm64-windows=fail
realsense2:arm-uwp=fail
realsense2:x64-linux=fail

View File

@ -1,5 +1,5 @@
Source: cmake
Version: 3.17.2
Version: 3.18.1
Build-Depends: qt5-base, qt5-winextras (windows), bzip2, expat, jsoncpp, liblzma, zlib, zstd, libarchive, curl, libuv, nghttp2
Homepage: https://cmake.org/
Description: CMake is an open-source, cross-platform family of tools designed to build, test and package software.

View File

@ -3,8 +3,10 @@ vcpkg_from_gitlab(
GITLAB_URL https://gitlab.kitware.com/
OUT_SOURCE_PATH SOURCE_PATH
REPO cmake/cmake
REF 615129f3ebd308abeaaee7f5f0689e7fc4616c28
SHA512 5f02e05b7e6119c9c165c868d0679e0fbe5cc6b4f081a4e63a87d663c029bc378327ec042ae6bfd16bf48737bfaa5bae3be33a6dd33648e1f47cdc1a2370c366
REF
63a65baf4c343c73b2142078ef0045d3711dea1d
SHA512
7874b26adb739649ea3a8c2d8701b44ea348d5d6387e0e2a3dd87494dfeae62084593f88f46d53a161ac24c46a7712489621213b61315593df4dc2ccc728084b
HEAD_REF master
)
@ -16,7 +18,7 @@ vcpkg_configure_cmake(
#-DCMAKE_USE_SYSTEM_LIBRARIES=ON
-DCMAKE_USE_SYSTEM_LIBARCHIVE=ON
-DCMAKE_USE_SYSTEM_CURL=ON
-DCMAKE_USE_SYSTEM_EXPAT=ON
-DCMAKE_USE_SYSTEM_EXPAT=OFF # CMake is not compatible with expat 2.2.9
-DCMAKE_USE_SYSTEM_ZLIB=ON
-DCMAKE_USE_SYSTEM_BZIP2=ON
-DCMAKE_USE_SYSTEM_ZSTD=ON
@ -50,4 +52,4 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
# Handle copyright
configure_file(${SOURCE_PATH}/Copyright.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
configure_file(${SOURCE_PATH}/Copyright.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)