blob: 409a541f2c9e3bf0192468cde0223ca151f3d731 [file] [log] [blame]
# Copyright 2021 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
EAPI=7
if [[ ${PV} != "9999" ]]; then
CROS_WORKON_COMMIT="e607daf3f868ad84c789d6e072e08373c1af208a"
CROS_WORKON_TREE="e607daf3f868ad84c789d6e072e08373c1af208a"
fi
CROS_WORKON_MANUAL_UPREV="1"
CROS_WORKON_PROJECT="chromiumos/third_party/clvk"
CROS_WORKON_LOCALNAME="clvk"
CLVK_DIR="${S}/clvk"
CROS_WORKON_DESTDIR="${CLVK_DIR}"
CROS_WORKON_EGIT_BRANCH="upstream/main"
inherit cmake-utils cros-workon
CMAKE_USE_DIR="${CLVK_DIR}/tests"
DESCRIPTION="Prototype implementation of OpenCL 1.2 on to of Vulkan using clspv as the Compiler"
HOMEPAGE="https://github.com/kpet/${PN}"
LICENSE="Apache-2.0"
SLOT="0"
if [[ ${PV} != "9999" ]]; then
KEYWORDS="*"
else
KEYWORDS="~*"
fi
IUSE="debug"
# target build dependencies
DEPEND="
>=dev-util/opencl-headers-2023.02.06
>=media-libs/clvk-0.0.1
>=dev-cpp/gtest-1.10.0
"
# target runtime dependencies
RDEPEND="
>=media-libs/clvk-0.0.1
>=dev-cpp/gtest-1.10.0
"
# host build dependencies
BDEPEND="
>=dev-util/cmake-3.13.4
"
PATCHES=()
if [[ ${PV} != "9999" ]]; then
PATCHES+=("${FILESDIR}/clvk-gtest.patch")
PATCHES+=("${FILESDIR}/clvk-api_tests-profiling.patch")
fi
src_prepare() {
cmake-utils_src_prepare
eapply_user
}
src_configure() {
local mycmakeargs=(
-DCLVK_VULKAN_IMPLEMENTATION=system
-DCLVK_COMPILER_AVAILABLE=ON
-DBUILD_SHARED_LIBS=OFF
-DCLVK_BUILD_STATIC_TESTS=OFF
-DCMAKE_CXX_STANDARD_LIBRARIES="-lpthread" # needed for api_tests
)
cmake-utils_src_configure
}
src_install() {
local OPENCL_TESTS_DIR="/usr/local/opencl"
dodir "${OPENCL_TESTS_DIR}"
exeinto "${OPENCL_TESTS_DIR}"
doexe "${BUILD_DIR}/api_tests" "${BUILD_DIR}/simple_test"
}