diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2017-07-20 13:06:39 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-07-20 13:06:39 -0700 |
| commit | 8649c66496eb7e88334f12dcdc343f345f53c2d3 (patch) | |
| tree | 1eba8545f15e1d6ce754d3a2a92b6be6cff4f96e | |
| parent | c8e26828e41ca1032dc4d6cb6660d4a5ca588d4c (diff) | |
| parent | afbe116fb7d6a39a8e3d8e0714712dffd11d691c (diff) | |
| download | vcpkg-8649c66496eb7e88334f12dcdc343f345f53c2d3.tar.gz vcpkg-8649c66496eb7e88334f12dcdc343f345f53c2d3.zip | |
Merge pull request #1363 from atkawa7/apr-util
[apr-util] init #1016
| -rw-r--r-- | ports/apr-util/CONTROL | 4 | ||||
| -rw-r--r-- | ports/apr-util/portfile.cmake | 37 | ||||
| -rw-r--r-- | ports/apr-util/use-vcpkg-expat.patch | 128 |
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 "") |
