aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-07-20 13:06:39 -0700
committerGitHub <noreply@github.com>2017-07-20 13:06:39 -0700
commit8649c66496eb7e88334f12dcdc343f345f53c2d3 (patch)
tree1eba8545f15e1d6ce754d3a2a92b6be6cff4f96e
parentc8e26828e41ca1032dc4d6cb6660d4a5ca588d4c (diff)
parentafbe116fb7d6a39a8e3d8e0714712dffd11d691c (diff)
downloadvcpkg-8649c66496eb7e88334f12dcdc343f345f53c2d3.tar.gz
vcpkg-8649c66496eb7e88334f12dcdc343f345f53c2d3.zip
Merge pull request #1363 from atkawa7/apr-util
[apr-util] init #1016
-rw-r--r--ports/apr-util/CONTROL4
-rw-r--r--ports/apr-util/portfile.cmake37
-rw-r--r--ports/apr-util/use-vcpkg-expat.patch128
3 files changed, 169 insertions, 0 deletions
diff --git a/ports/apr-util/CONTROL b/ports/apr-util/CONTROL
new file mode 100644
index 000000000..e61eb3653
--- /dev/null
+++ b/ports/apr-util/CONTROL
@@ -0,0 +1,4 @@
+Source: apr-util
+Version: 1.6.0
+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
diff --git a/ports/apr-util/portfile.cmake b/ports/apr-util/portfile.cmake
new file mode 100644
index 000000000..abff4b47d
--- /dev/null
+++ b/ports/apr-util/portfile.cmake
@@ -0,0 +1,37 @@
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/apr-util-1.6.0)
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://archive.apache.org/dist/apr/apr-util-1.6.0-win32-src.zip"
+ FILENAME "apr-util-1.6.0-win32-src.zip"
+ SHA512 98679ea181d3132020713481703bbefa0c174e0b2a0df65dfdd176e9771935e1f9455c4242bac19dded9414abe2b9d293fcc674ab16f96d8987bcf26346fce3a
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/use-vcpkg-expat.patch"
+)
+
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON
+)
+
+vcpkg_install_cmake()
+
+
+file(READ ${CURRENT_PACKAGES_DIR}/include/apu.h APU_H)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ string(REPLACE "defined(APU_DECLARE_EXPORT)" "1" APU_H "${APU_H}")
+else()
+ string(REPLACE "defined(APU_DECLARE_STATIC)" "1" APU_H "${APU_H}")
+endif()
+file(WRITE ${CURRENT_PACKAGES_DIR}/include/apu.h "${APU_H}")
+
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/apr-util RENAME copyright)
+
+vcpkg_copy_pdbs()
diff --git a/ports/apr-util/use-vcpkg-expat.patch b/ports/apr-util/use-vcpkg-expat.patch
new file mode 100644
index 000000000..8bfe3e24e
--- /dev/null
+++ b/ports/apr-util/use-vcpkg-expat.patch
@@ -0,0 +1,128 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 43fdf49..56424c3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -27,8 +27,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.")
+@@ -75,8 +76,8 @@ CONFIGURE_FILE(include/apu_want.hw
+ COPYONLY)
+
+ # TBD:
+-# SET(XMLLIB_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/xml/expat/lib)
+-SET(XMLLIB_LIBRARIES libexpat)
++find_path(XMLLIB_INCLUDE_DIR expat.h)
++find_library(XMLLIB_LIBRARIES NAMES expat)
+
+ SET(LDAP_LIBRARIES)
+ IF(APR_HAS_LDAP)
+@@ -217,11 +218,11 @@ SET(APR_TEST_SOURCES
+ test/testxml.c
+ )
+
+-SET(EXPAT_SOURCES
+- xml/expat/lib/xmlrole.c
+- xml/expat/lib/xmltok.c
+- xml/expat/lib/xmlparse.c
+-)
++# SET(EXPAT_SOURCES
++# xml/expat/lib/xmlrole.c
++# xml/expat/lib/xmltok.c
++# xml/expat/lib/xmlparse.c
++# )
+
+ SET(install_targets)
+ SET(install_bin_pdb)
+@@ -230,21 +231,25 @@ SET(dbd_drivers)
+ # Note: The WINNT definition on some targets is used only by libaprutil.rc.
+
+ # static expat (not installed)
+-ADD_LIBRARY(libexpat STATIC ${EXPAT_SOURCES})
+-SET_TARGET_PROPERTIES(libexpat PROPERTIES COMPILE_DEFINITIONS "XML_STATIC;COMPILED_FROM_DSP")
++# ADD_LIBRARY(libexpat STATIC ${EXPAT_SOURCES})
++# SET_TARGET_PROPERTIES(libexpat PROPERTIES COMPILE_DEFINITIONS "XML_STATIC;COMPILED_FROM_DSP")
+
+ # 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")
+
++else()
+ 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()
+
++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")
+@@ -270,7 +275,7 @@ IF(APU_HAVE_ODBC)
+ ENDIF()
+
+ IF(APR_HAS_LDAP)
+- ADD_LIBRARY(apr_ldap-1 SHARED ldap/apr_ldap_init.c ldap/apr_ldap_option.c
++ ADD_LIBRARY(apr_ldap-1 SHARED ldap/apr_ldap_init.c ldap/apr_ldap_option.c
+ ldap/apr_ldap_rebind.c libaprutil.rc)
+ SET(install_targets ${install_targets} apr_ldap-1)
+ SET(install_bin_pdb ${install_bin_pdb} ${PROJECT_BINARY_DIR}/apr_ldap-1.pdb)
+@@ -281,6 +286,7 @@ IF(APR_HAS_LDAP)
+ ELSE()
+ SET(apr_ldap_libraries)
+ ENDIF()
++endif()
+
+ IF(APR_BUILD_TESTAPR)
+ ENABLE_TESTING()
+@@ -288,13 +294,13 @@ IF(APR_BUILD_TESTAPR)
+ ADD_CUSTOM_TARGET(check COMMAND ${CMAKE_CTEST_COMMAND} --verbose)
+
+ # copy data files to build directory so that we can run programs from there
+- EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E make_directory
++ EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E make_directory
+ ${PROJECT_BINARY_DIR}/data)
+- EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E copy_if_different
++ EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E copy_if_different
+ ${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()
+@@ -330,13 +336,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 "")