mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-15 04:59:42 +08:00
d64fd32046
Due to changes in curl's CMake support, where it now installs .cmake files, we now have to make sure that they are installed into the correct directory (and not duplicated into the debug/share/ directory, either). Also, a change in the context of the 2nd patch required an update of said patch. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
80 lines
2.6 KiB
CMake
80 lines
2.6 KiB
CMake
include(vcpkg_common_functions)
|
|
vcpkg_from_github(
|
|
OUT_SOURCE_PATH SOURCE_PATH
|
|
REPO curl/curl
|
|
REF curl-7_57_0
|
|
SHA512 19f963d86682153d2d73731c784adf6457bc3fd48b628d6d701649f64718b10df268797ce21ad5f5339efc5df81b8547772edcc36c046665309e32997d5d1afc
|
|
HEAD_REF master
|
|
)
|
|
|
|
vcpkg_apply_patches(
|
|
SOURCE_PATH ${SOURCE_PATH}
|
|
PATCHES
|
|
${CMAKE_CURRENT_LIST_DIR}/0001_cmake.patch
|
|
${CMAKE_CURRENT_LIST_DIR}/0002_fix_uwp.patch
|
|
)
|
|
|
|
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
|
|
SET(CURL_STATICLIB OFF)
|
|
else()
|
|
SET(CURL_STATICLIB ON)
|
|
endif()
|
|
|
|
set(UWP_OPTIONS)
|
|
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
|
|
set(UWP_OPTIONS
|
|
-DUSE_WIN32_LDAP=OFF
|
|
-DCURL_DISABLE_TELNET=ON
|
|
-DENABLE_IPV6=OFF
|
|
-DENABLE_UNIX_SOCKETS=OFF
|
|
)
|
|
endif()
|
|
|
|
vcpkg_find_acquire_program(PERL)
|
|
get_filename_component(PERL_PATH ${PERL} DIRECTORY)
|
|
set(ENV{PATH} "$ENV{PATH};${PERL_PATH}")
|
|
|
|
vcpkg_configure_cmake(
|
|
SOURCE_PATH ${SOURCE_PATH}
|
|
PREFER_NINJA
|
|
OPTIONS
|
|
${UWP_OPTIONS}
|
|
-DBUILD_TESTING=OFF
|
|
-DBUILD_CURL_EXE=OFF
|
|
-DENABLE_MANUAL=OFF
|
|
-DCURL_STATICLIB=${CURL_STATICLIB}
|
|
-DCMAKE_USE_OPENSSL=ON
|
|
OPTIONS_DEBUG
|
|
-DENABLE_DEBUG=ON
|
|
)
|
|
|
|
vcpkg_install_cmake()
|
|
|
|
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/curl RENAME copyright)
|
|
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
|
|
|
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
|
|
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
|
|
# Drop debug suffix, as FindCURL.cmake does not look for it
|
|
file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libcurl-d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/libcurl.lib)
|
|
else()
|
|
file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/curl-config ${CURRENT_PACKAGES_DIR}/debug/bin/curl-config)
|
|
file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libcurl_imp.lib ${CURRENT_PACKAGES_DIR}/lib/libcurl.lib)
|
|
file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libcurl-d_imp.lib ${CURRENT_PACKAGES_DIR}/debug/lib/libcurl.lib)
|
|
endif()
|
|
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig)
|
|
|
|
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
|
|
|
|
file(READ ${CURRENT_PACKAGES_DIR}/include/curl/curl.h CURL_H)
|
|
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
|
|
string(REPLACE "#ifdef CURL_STATICLIB" "#if 1" CURL_H "${CURL_H}")
|
|
else()
|
|
string(REPLACE "#ifdef CURL_STATICLIB" "#if 0" CURL_H "${CURL_H}")
|
|
endif()
|
|
file(WRITE ${CURRENT_PACKAGES_DIR}/include/curl/curl.h "${CURL_H}")
|
|
|
|
vcpkg_copy_pdbs()
|
|
|
|
file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
|