# Copyright 2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit cmake DESCRIPTION="REST SDK using an asynchronous C++ API design" HOMEPAGE="https://github.com/Microsoft/cpprestsdk" SRC_URI="https://github.com/microsoft/cpprestsdk/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/cpprestsdk-${PV}" LICENSE="MIT" SLOT="0" KEYWORDS="~amd64" IUSE="brotli test +websockets" RDEPEND=" || ( =dev-libs/boost-1.77.0[nls] ) dev-libs/openssl sys-libs/zlib brotli? ( app-arch/brotli ) websockets? ( dev-cpp/websocketpp ) " DEPEND="${RDEPEND}" RESTRICT="!test? ( test )" src_prepare() { my_disable_tests() { local my_cmake_file="${1}" local -n my_tests="${2}" for file in "${my_tests[@]}"; do sed -i "/${file}/d" "Release/tests/${my_cmake_file}" || die done } local -a my_http_client_tests=( "authentication_tests.cpp" "connections_and_errors.cpp" "outside_tests.cpp" "redirect_tests.cpp" ) my_disable_tests "functional/http/client/CMakeLists.txt" my_http_client_tests local -a my_websockets_tests=( "authentication_tests.cpp" ) my_disable_tests "functional/websockets/CMakeLists.txt" my_websockets_tests cmake_src_prepare } src_configure() { local -a mycmakeargs=( "-DWERROR=OFF" "-DBUILD_SAMPLES=OFF" "-DCPPREST_EXCLUDE_WEBSOCKETS=$(usex websockets OFF ON)" "-DBUILD_TESTS=$(usex test ON OFF)" "-DCPPREST_EXCLUDE_BROTLI=$(usex brotli OFF ON)" ) cmake_src_configure }