tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: increasing cmake requirement?



Hi Greg,

I'm just picking up this old thread partly by accident … but also,
because I intend to push further BLAS support to cmake upstream, namely
supporting location of CBLAS and LAPACKE components properly. This
currently needs workarounds for an upcoming build fix for opencv (which
fails to properly use BLAS right now), where I can only tell CMake to
look for BLAS and LAPACK libs explicitly, but the package also needs
the C APIs/ABIs, which come in separate libraries with the default
netlib choice.

Am Fri, 21 Jul 2023 12:33:05 -0400
schrieb Greg Troxel <gdt%lexort.com@localhost>:

> > I guess 3.18, 3.19 are fine. Building CMake once every few years might
> > be not too much to ask.  
> 
> Thanks.  I amend my proposal to >=3.18 then.

Anyhow: Regarding minimum sensible CMake version, the current practice
of employing BLA_PREFER_PKGCONFIG and BLA_PKGCONFIG_BLAS /
BLA_PKGCONFIG_LAPACK as documented in

	https://cmake.org/cmake/help/latest/module/FindBLAS.html
	https://cmake.org/cmake/help/latest/module/FindLAPACK.html

means that our usage of mk/blas.buildlink3.mk providing BLAS_PC and
LAPACK_PC and used by a number of packages now relies on a minimum
CMake version of 3.25. More strictly, this could be 3.23.2nb1 as the
versions that first carried our local patches for the same feature.

Also, once I add support for the C API stuff via local patches,
possibly, when I make the first package rely on this, I need to update
the cmake version requirement, too, I presume. I did not think about
that back when I first added the FindBLAS changes. Should this then be
done locally only in the affected package?

Generally, it's rather dangerous to have old versions of cmake around
if one depends on the detection machinery for various dependencies that
it carries.

But for the upcoming stable branch at least it should be ensured that
the packages that got converted to use BLA_PREFER_PKGCONFIG get the
correct machinery. My intention is to have that in all CMake-using
packages relying on BLAS.


Alrighty then,

Thomas

-- 
Dr. Thomas Orgis
HPC @ Universität Hamburg


Home | Main Index | Thread Index | Old Index