c-ares: Use CMake option to set shared library name

This commit is contained in:
مهدي شينون (Mehdi Chinoune)
2022-12-18 10:07:33 +01:00
parent 744e033827
commit 4e2738e4db
2 changed files with 26 additions and 29 deletions

View File

@@ -1,13 +1,5 @@
--- c-ares-cares-1_17_1/src/lib/CMakeLists.txt.orig 2020-11-14 10:37:45.399929800 +0300
+++ c-ares-cares-1_17_1/src/lib/CMakeLists.txt 2020-11-14 10:40:39.555223600 +0300
@@ -27,6 +27,7 @@
COMPILE_PDB_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
SOVERSION ${CARES_LIB_VERSION_MAJOR}
VERSION "${CARES_LIB_VERSION_MAJOR}.${CARES_LIB_VERSION_MINOR}.${CARES_LIB_VERSION_RELEASE}"
+ RUNTIME_OUTPUT_NAME cares-${CARES_LIB_VERSION_AGE}
)
TARGET_INCLUDE_DIRECTORIES (${PROJECT_NAME}
--- c-ares-cares-1_17_1/src/lib/CMakeLists.txt
+++ c-ares-cares-1_17_1/src/lib/CMakeLists.txt
@@ -68,7 +68,7 @@
SET_TARGET_PROPERTIES (${LIBNAME} PROPERTIES

View File

@@ -5,17 +5,15 @@ _realname=c-ares
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.18.1
pkgrel=1
pkgrel=2
pkgdesc="C library that performs DNS requests and name resolves asynchronously (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64')
url="https://c-ares.org/"
license=("MIT, BSD")
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-ninja"
"${MINGW_PACKAGE_PREFIX}-cc"
"${MINGW_PACKAGE_PREFIX}-pkg-config")
options=('strip' 'staticlibs')
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
"${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-ninja")
source=(#"https://c-ares.org/download/${_realname}-${pkgver}.tar.gz"{,.asc}
"https://github.com/${_realname}/${_realname}/releases/download/${_realname//-}-${pkgver//./_}/${_realname}-${pkgver}.tar.gz"{,.asc}
0002-Add-static-pkg-config.patch
@@ -25,7 +23,7 @@ validpgpkeys=('914C533DF9B2ADA2204F586D78E11C6B279D5C91'
sha256sums=('1a7d52a8a84a9fbffb1be9133c0f6e17217d91ea5a6fa61f6b4729cda78ebbcf'
'SKIP'
'787ce206f7956ecde7a5b61ae49701d6396d9869e05e5db335801f38b2af2ad9'
'ce5810b35ea0f1cfbd5b5c8b5eea96f736d89750d0a68b9da413f4dea16119d8')
'a263f019a158fad0b36a81481ae1b4f02d686afbf8da09a22522f5cd99162c0f')
# Helper macros to help make tasks easier #
apply_patch_with_msg() {
@@ -55,32 +53,39 @@ prepare() {
}
build() {
msg2 "Build shared version ..."
[[ -d "${srcdir}"/build-shared-${CARCH} ]] && rm -rf "${srcdir}"/build-shared-${CARCH}
mkdir -p "${srcdir}"/build-shared-${CARCH} && cd "${srcdir}"/build-shared-${CARCH}
declare -a _extra_config
if check_option "debug" "n"; then
_extra_config+=("-DCMAKE_BUILD_TYPE=Release")
else
_extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
fi
msg2 "Build shared version ..."
[[ -d "${srcdir}"/build-shared-${MSYSTEM} ]] && rm -rf "${srcdir}"/build-shared-${MSYSTEM}
mkdir -p "${srcdir}"/build-shared-${MSYSTEM} && cd "${srcdir}"/build-shared-${MSYSTEM}
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake.exe \
-Wno-dev \
-G"Ninja" \
-DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \
-DCMAKE_BUILD_TYPE="Release" \
-DCMAKE_SHARED_LIBRARY_NAME_WITH_VERSION=ON \
${_extra_config[@]} \
-DCARES_STATIC=OFF \
-DCARES_SHARED=ON \
../${_realname}-${pkgver}
${MINGW_PREFIX}/bin/cmake.exe --build ./
msg2 "Build static version ..."
[[ -d "${srcdir}"/build-static-${CARCH} ]] && rm -rf "${srcdir}"/build-static-${CARCH}
mkdir -p "${srcdir}"/build-static-${CARCH} && cd "${srcdir}"/build-static-${CARCH}
msg2 "Build static version ..."
[[ -d "${srcdir}"/build-static-${MSYSTEM} ]] && rm -rf "${srcdir}"/build-static-${MSYSTEM}
mkdir -p "${srcdir}"/build-static-${MSYSTEM} && cd "${srcdir}"/build-static-${MSYSTEM}
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake.exe \
-Wno-dev \
-G"Ninja" \
-DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \
-DCMAKE_BUILD_TYPE="Release" \
${_extra_config[@]} \
-DCARES_STATIC=ON \
-DCARES_SHARED=OFF \
../${_realname}-${pkgver}
@@ -89,11 +94,11 @@ build() {
}
package() {
cd "${srcdir}"/build-static-${CARCH}
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --build ./ --target install
cd "${srcdir}"/build-static-${MSYSTEM}
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --install .
cd "${srcdir}"/build-shared-${CARCH}
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --build ./ --target install
cd "${srcdir}"/build-shared-${MSYSTEM}
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --install .
install -Dm644 "${srcdir}/${_realname}-${pkgver}/LICENSE.md" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE.md"
}