opencc: Build both shared and static libraries

This commit is contained in:
Biswapriyo Nath
2023-10-22 20:09:30 +00:00
parent e467b4a448
commit bd7afac3e9

View File

@@ -13,8 +13,10 @@ license=('spdx:Apache-2.0')
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs")
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
"${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-marisa"
"${MINGW_PACKAGE_PREFIX}-ninja"
"${MINGW_PACKAGE_PREFIX}-python")
"${MINGW_PACKAGE_PREFIX}-python"
"${MINGW_PACKAGE_PREFIX}-rapidjson")
source=("${_realname}-${pkgver}.tar.gz::https://github.com/BYVoid/OpenCC/archive/ver.${pkgver}.tar.gz")
sha256sums=('80a12675094a0cac90e70ee530e936dc76ca0953cb0443f7283c2b558635e4fe')
@@ -24,34 +26,45 @@ prepare() {
}
build() {
[[ -d "${srcdir}/build-${MSYSTEM}" ]] && rm -rf "${srcdir}/build-${MSYSTEM}"
mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}"
declare -a _extra_config
if check_option "debug" "n"; then
extra_config+=("-DCMAKE_BUILD_TYPE=Release")
_extra_config+=("-DCMAKE_BUILD_TYPE=Release")
else
extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
_extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
fi
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake.exe -Wclass-memaccess\
-G"Ninja" \
"${MINGW_PREFIX}"/bin/cmake.exe \
-GNinja \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
${extra_config} \
"${_extra_config[@]}" \
-DENABLE_GTEST=OFF \
-DBUILD_SHARED_LIBS=OFF \
-DPYTHON_EXECUTABLE=${MINGW_PREFIX}/bin/python.exe \
"../${_realname}-${pkgver}"
-DUSE_SYSTEM_MARISA=ON \
-DUSE_SYSTEM_RAPIDJSON=ON \
-S "${_realname}-${pkgver}" \
-B "build-${MSYSTEM}-static"
cmake --build .
}
"${MINGW_PREFIX}"/bin/cmake.exe --build "build-${MSYSTEM}-static"
check() {
cd "${srcdir}/build-${MSYSTEM}"
ctest
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
"${MINGW_PREFIX}"/bin/cmake.exe \
-GNinja \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
"${_extra_config[@]}" \
-DENABLE_GTEST=OFF \
-DBUILD_SHARED_LIBS=ON \
-DPYTHON_EXECUTABLE=${MINGW_PREFIX}/bin/python.exe \
-DUSE_SYSTEM_MARISA=ON \
-DUSE_SYSTEM_RAPIDJSON=ON \
-S "${_realname}-${pkgver}" \
-B "build-${MSYSTEM}-shared"
"${MINGW_PREFIX}"/bin/cmake.exe --build "build-${MSYSTEM}-shared"
}
package() {
cd "${srcdir}/build-${MSYSTEM}"
DESTDIR="${pkgdir}" cmake --install .
DESTDIR="${pkgdir}" cmake --install "build-${MSYSTEM}-static"
DESTDIR="${pkgdir}" cmake --install "build-${MSYSTEM}-shared"
}