| Age | Commit message (Collapse) | Author |
|
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
This commit updates the CMAKE_WARN_UNUSED_CLI variable description to
accurately reflect the default value set to "yes".
The CMAKE_WARN_UNUSED_CLI default value was changed to "yes" in
cmake-utils.eclass in commit 3600c714eb86 ("cmake-utils.eclass: enable
CMAKE_WARN_UNUSED_CLI for EAPI 6"), but the description did not reflect
it. This description was later reused in the new cmake.eclass [1]
without reflecting the default value either.
Fixes: 9053737a4e16 ("cmake.eclass: New eclass, EAPI-7 only cleanup of cmake-utils") [1]
Signed-off-by: Petr Vaněk <arkamar@gentoo.org>
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Pass -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF to avoid automagically
enabling LTO if the compiler supports it.
Note that unlike what we do w/ meson.eclass, we can't do some magic
with `tc-is-lto` here because CMake doesn't allow refining the parallelism
used. But that's fine.
This change still allows using LTO via *FLAGS which is what we tell
people to do.
Bug: https://bugs.gentoo.org/927157
Signed-off-by: Sam James <sam@gentoo.org>
|
|
... after 2025-11-01.
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Escape sequences are not allowed for `die`, use eerror instead.
Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
This is already expected in tree via virtx use.
$ qgrep 'virtx cmake_src_test' | wc -l
57
Bug: https://bugs.gentoo.org/961929
Closes: https://github.com/gentoo/gentoo/pull/40307
Signed-off-by: Alfred Wingate <parona@protonmail.com>
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Split out what we need from cmake_src_prepare into new cmake_prepare().
cmake_src_prepare henceforth just calls default_src_prepare(),
then cmake_prepare(). This change was made for >=EAPI-8 only.
Bug: https://bugs.gentoo.org/853805
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Bug: https://bugs.gentoo.org/963428
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Otherwise the regex might pick up a query of the resulting version var, e.g.:
> if(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 2.8.12)
Bug: https://bugs.gentoo.org/958923
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
See examples:
https://bugs.gentoo.org/953075
https://bugs.gentoo.org/957670
https://bugs.gentoo.org/957671
https://bugs.gentoo.org/957803
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Thanks-to: Ionen Wolkens <ionen@gentoo.org>
Closes: https://bugs.gentoo.org/957990
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
- _cmake_minverreq-lt(): New function for reusability of regex
- Optimise #1: Reuse existing loop over CMakeLists.txt files
- Optimise #2: If _CMAKE_MINREQVER_UNSUPPORTED is already set, then no
further run of _cmake_minverreq-lt is necessary since we currently throw
away the info on affected files
- Relegate "CMake 4 detected; ..." to be a non-QA Notice, it is just an
addendum
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Allows to split detection/eqawarn and applying cmakearg over different
phases.
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Otherwise sed may fail (as it can't find the files) on directories/files
with spaces in the path, as is the case in dev-build/cmake itself
where it'll die in src_prepare.
Signed-off-by: Sam James <sam@gentoo.org>
|
|
See also:
https://github.com/gentoo/kde/pull/1046#pullrequestreview-2897140501
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
50% less find
50% less grep
100% less cut
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
See also: https://github.com/gentoo/gentoo/pull/39544
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Bug: https://bugs.gentoo.org/945081
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
We don't want more than one version for the subsequent ver_test.
Besides, any follow-up cmake_minimum_required call will most likely
be conditional for some type of workarounds.
Thanks-to: Michał Górny <mgorny@gentoo.org>
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
As a quick fix, for now, don't error out on that.
> ERROR: media-gfx/darktable-5.0.1-r2::gentoo failed (configure phase):
> __eapi7_ver_compare: invalid version: 3.12..16
See also:
> LibRaw-cmake/CMakeLists.txt:cmake_minimum_required(VERSION 3.12..16)
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
-DCMAKE_POLICY_VERSION_MINIMUM=3.5
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
We need to ramp up detection of unsupported CMake build systems with
CMake 4. This will detect CMakeLists.txt files setting insufficient
cmake_minimum_required VERSION level even in project subdirectories,
putting out appropriate eqawarn message about the need to fix ${PN}.
That makes us not rely on tinderbox runs w/ unmasked cmake-4 slowly
being able to build everything up to leaf packages, and also helps
detect insufficient subproject minimums that could otherwise be masked
by USE flag choice.
Bug: https://bugs.gentoo.org/951350
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
This makes life easier for tinderboxes, but we should improve this in some future
EAPI.
Signed-off-by: Sam James <sam@gentoo.org>
|
|
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Bug: https://bugs.gentoo.org/926121
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Bug: https://bugs.gentoo.org/927160
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Modify cmake_src_prepare to qoute escape filenames
within the find search patterns
This resolves build issues with some EAPI 7 packages,
i.e. sys-fs/dislocker via catalyst
Bug: https://bugs.gentoo.org/811486
Signed-off-by: Nic Boet <nic@boet.cc>
Closes: https://github.com/gentoo/gentoo/pull/35125
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Signed-off-by: Sam James <sam@gentoo.org>
|
|
Signed-off-by: Sam James <sam@gentoo.org>
|
|
Bug: https://bugs.gentoo.org/920845
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Bug: https://bugs.gentoo.org/920846
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
This is an array, and users cannot even set arrays through
the environment.
Must have been a copy/paste oversight (skipping ML review).
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
When S=${WORKDIR}, cmake.eclass would create its build directory (if CMAKE_USE_DIR
is unset) above WORKDIR(!) as ${WORKDIR}_build. Creating directories above
WORKDIR is not legal.
Portage has its own bug (bug #889418) in that it doesn't clean up unknown directories
above WORKDIR in PORTAGE_TMPDIR, so combined, you get a problem where "ebuild ... clean" doesn't
actually clean things up at all, and you get very confusing issues if e.g. changing
CC between runs.
The explicit S=WORKDIR check isn't truly needed but it makes explicit our
intent here.
Bug: https://bugs.gentoo.org/889418
Closes: https://bugs.gentoo.org/889420
Signed-off-by: Sam James <sam@gentoo.org>
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
When performing a SYSROOT= build, the --sysroot parameter was not
getting passed to the compiler if the CBUILD and CHOST matched. This
results in the build attempting to use BROOT libraries and headers
instead of the ones from the SYSROOT.
This change will allow `llvm` to be built into a new SYSROOT.
ROOT=/build/amd64-host emerge sys-devel/llvm
Signed-off-by: Raul E Rangel <rrangel@chromium.org>
Closes: https://github.com/gentoo/gentoo/pull/30658
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
All of this was ported away from long ago, cmake-utils.eclass was removed
almost a year ago.
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
samurai is a ninja-compatible build tool written in C which
works with cmake, meson and other users of ninja.
It is feature-complete and supports most of the same options
as ninja.
Signed-off-by: orbea <orbea@riseup.net>
Signed-off-by: Sam James <sam@gentoo.org>
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
We previously set CMAKE_FIND_ROOT_PATH, but CMAKE_SYSROOT also sets this
and more. The latter is needed when cross-compiling Fortran code such as
sci-libs/lapack. Without this, it uses the toolchain's default sysroot,
adds a -L/usr/${CHOST}/usr/lib flag based on that, reads the libc.so.6
ld script from this directory, does not apply any sysroot to the paths
within because the script is outside the sysroot, and finally fails when
attempting to link the host's libc.so.6.
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Closes: https://github.com/gentoo/gentoo/pull/30061
Signed-off-by: David Seifert <soap@gentoo.org>
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
|
Signed-off-by: Sam James <sam@gentoo.org>
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|