# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

ROCM_VERSION=7.0
inherit cuda rocm
inherit cmake

DESCRIPTION="A library of exchange-correlation functionals for use in DFT"
HOMEPAGE="https://libxc.gitlab.io/"
SRC_URI="https://gitlab.com/libxc/libxc/-/archive/${PV}/${P}.tar.gz"

LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="amd64 x86 ~amd64-linux"
IUSE="fortran test disable-fhc rocm cuda"
RESTRICT="!test? ( test )"
REQUIRED_USE="?? ( cuda rocm )"

DEPEND="
	cuda? (
		dev-util/nvidia-cuda-toolkit:=
	)
	rocm? (
		>=dev-util/hip-${ROCM_VERSION}:=
	)
"

src_configure() {
        local mycmakeargs=(
		-DBUILD_SHARED_LIBS=ON
		-DENABLE_FORTRAN="$(usex fortran ON OFF)"
		-DDISABLE_FHC="$(usex disable-fhc ON OFF)"
		-DENABLE_HIP="$(usex rocm ON OFF)"
		-DENABLE_CUDA="$(usex cuda ON OFF)"
        )

	if use cuda; then
		cuda_src_prepare
	fi

	if use rocm; then
		local -x HIP_PATH="${ESYSROOT}/usr"

		check_amdgpu
	fi

        cmake_src_configure
}