summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Move {dev-util → dev-build}/cmakeMichał Górny2024-01-141-2/+2
| | | | | | Signed-off-by: Michał Górny <mgorny@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/34792 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* Move {sys-devel → dev-build}/makeMichał Górny2024-01-131-1/+1
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* cmake.eclass: Set CMAKE_DISABLE_PRECOMPILE_HEADERS=ONAndreas Sturmlechner2024-01-101-0/+1
| | | | | Closes: https://bugs.gentoo.org/920845 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: Set FETCHCONTENT_FULLY_DISCONNECTED=ONAndreas Sturmlechner2024-01-101-1/+2
| | | | | Closes: https://bugs.gentoo.org/920846 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: do not mention media-gfx/gmic in comments, it no longer uses CMakeMarek Szuba2023-10-261-1/+1
| | | | Signed-off-by: Marek Szuba <marecki@gentoo.org>
* cmake.eclass: remove USER_VARIABLE from CMAKE_SKIP_TESTSIonen Wolkens2023-09-111-1/+0
| | | | | | | | | 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>
* cmake.eclass: Remove duplicate eninja call from cmake_buildMichał Górny2023-08-231-1/+0
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* cmake.eclass: add CMAKE_SKIP_TESTSAlfred Persson Forsberg2023-08-221-0/+7
| | | | | | Signed-off-by: Alfred Persson Forsberg <cat@catcream.org> Closes: https://github.com/gentoo/gentoo/pull/27052 Signed-off-by: Sam James <sam@gentoo.org>
* cmake.eclass: Support CMAKE_VERBOSE with ninjaMatt Turner2023-07-181-0/+4
| | | | Signed-off-by: Matt Turner <mattst88@gentoo.org>
* cmake.eclass: workaround S=${WORKDIR} creating builddir above ${WORKDIR}Sam James2023-07-021-0/+9
| | | | | | | | | | | | | | | | | | 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>
* cmake.eclass: Set CMAKE_SYSROOT when building with SYSROOT=Raul E Rangel2023-06-241-10/+10
| | | | | | | | | | | | | | | 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>
* cmake.eclass: Set Python3_FIND_UNVERSIONED_NAMES FIRSTAndreas Sturmlechner2023-03-261-0/+1
| | | | | | | | See also: https://gitlab.kitware.com/cmake/cmake/-/merge_requests/8287 Bug: https://bugs.gentoo.org/835799 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: Quote argument of ":" commandUlrich Müller2023-03-261-10/+10
| | | | | | This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223 Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* cmake.eclass: Set CMAKE_SYSROOT in toolchain file when necessaryJames Le Cuirot2023-03-181-1/+1
| | | | | | | | | | | | 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>
* eclass: standardize prologue/epilogueDavid Seifert2023-03-171-1/+1
| | | | | Closes: https://github.com/gentoo/gentoo/pull/30061 Signed-off-by: David Seifert <soap@gentoo.org>
* cmake.eclass: handle quoted whitespace in MYCMAKEARGSMike Gilbert2023-03-111-3/+3
| | | | | | | This uses eval in a similar way to econf and meson.eclass. Closes: https://github.com/gentoo/gentoo/pull/29839 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* cmake.eclass: add base-system as @MAINTAINER too (align with dev-util/cmake)Sam James2023-01-051-0/+1
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* cmake.eclass: mark CMAKE_VERBOSE as @USER_VARIABLESam James2023-01-051-1/+2
| | | | | | | It's a policy requirement that ebuilds produce verbose logs, so ebuilds themselves must not set CMAKE_VERBOSE. But users can. Signed-off-by: Sam James <sam@gentoo.org>
* cmake.eclass: comment typo fixSam James2022-12-101-1/+1
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* cmake.eclass: drop use_enable reference in @DESCRIPTIONSam James2022-12-101-2/+1
| | | | | | | This is from cmake-utils.eclass and the use_enable-style functions it refers to are long-banned. Signed-off-by: Sam James <sam@gentoo.org>
* cmake.eclass: Support dev-util/samuraiorbea2022-06-221-13/+2
| | | | | | | | | | | 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>
* cmake.eclass: Prepare for makeopts_jobs default inf changeMichał Górny2022-05-011-2/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* *.eclass: @ECLASS-VARIABLE renamed to @ECLASS_VARIABLEUlrich Müller2022-03-241-11/+11
| | | | | Bug: https://bugs.gentoo.org/835396 Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* cmake.eclass: Document MYCMAKEARGSAndreas Sturmlechner2022-02-211-0/+6
| | | | | Closes: https://bugs.gentoo.org/824030 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: Fix MYCMAKEARGS support with >=dev-util/cmake-3.23Andreas Sturmlechner2022-02-211-1/+4
| | | | | Closes: https://bugs.gentoo.org/833100 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: Set @PROVIDESMichał Górny2021-09-021-0/+1
| | | | | Signed-off-by: Michał Górny <mgorny@gentoo.org> Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: Default CMAKE_BUILD_TYPE=RelWithDebInfo in EAPI 8Michał Górny2021-09-021-3/+8
| | | | | Signed-off-by: Michał Górny <mgorny@gentoo.org> Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: Enable CMAKE_INSTALL_ALWAYSAndreas Sturmlechner2021-09-021-0/+5
| | | | | Bug: https://bugs.gentoo.org/735820 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: Enforce CMAKE_REMOVE_MODULES_LIST be an arrayAndreas Sturmlechner2021-09-021-8/+20
| | | | Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: Support EAPI-8Andreas Sturmlechner2021-09-021-33/+62
| | | | | | | | | | | | | | | Move supported EAPI check on top, EXPORT_FUNCTIONS below guard. Switch to using current working directory instead of ${S} when initializing ${CMAKE_USE_DIR} and ${BUILD_DIR}. Sort inherits. Raise baseline cmake version to 3.20.5. Bug: https://bugs.gentoo.org/704524 Thanks-to: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: mark CMAKE_EXTRA_CACHE_FILE, CMAKE_QA_SRC_DIR_READONLY as ↵Sam James2021-03-311-0/+2
| | | | | | @USER_VARIABLEs Signed-off-by: Sam James <sam@gentoo.org>
* cmake.eclass: mark CMAKE_MAKEFILE_GENERATOR as @PRE_INHERITSam James2021-03-311-0/+1
| | | | | | We use this to control our dependencies in global scope. Signed-off-by: Sam James <sam@gentoo.org>
* cmake.eclass: Group all banned cmake-utils_* functions togetherAndreas Sturmlechner2021-02-211-35/+35
| | | | | | Move _cmake_check_build_dir to a better place too. Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: Documentation: cmake_src_prepare() *MUST* be runAndreas Sturmlechner2021-02-211-1/+1
| | | | Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: Better description of cmake_build() and cmake_src_compile()Andreas Sturmlechner2021-02-211-3/+4
| | | | Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: Document _cmake_check_build_dir and _cmake_modify-cmakelistsAndreas Sturmlechner2021-02-211-0/+6
| | | | Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: Merge mycmakeargs description into cmake_src_configure()Andreas Sturmlechner2021-02-211-12/+7
| | | | | | | | | Fix outdated mycmakeargs documentation (use of banned function in EAPI-7) Make it a part of phase function desc than instead of appearing under FUNCTIONS. Reported-by: Joonas Niilola <juippis@gentoo.org> Closes: https://bugs.gentoo.org/771876 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* eclass: [QA] Revert multiple meaningless doc changesMichał Górny2020-12-281-12/+0
| | | | | | | | | | | Revert multiple meaningless eclass documentation changes, notably adding a lot of placeholders and documenting implementation details. These changes were aimed at silencing (valid) documentation warnings without actually providing valuable documentation to the end users. While some of these changes were beneficial, it would take a lot of effort to review them all and the author is unwilling to fix his mistakes. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* eclass/cmake: fixup documentationAaron Bauman2020-12-161-0/+12
| | | | Signed-off-by: Aaron Bauman <bman@gentoo.org>
* cmake.eclass: Reformat the cmake code we write to lowercase callsAndreas Sturmlechner2020-09-291-55/+51
| | | | | | | | Add some indendation, drop space between function name and brackets, cleanup old style if-else-endif. Bug: https://bugs.gentoo.org/739230 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: If inherited from ecm.eclass, set ECM_DISABLE_QMLPLUGINDUMPAndreas Sturmlechner2020-09-011-0/+4
| | | | | | | | | Works with downstream patch added to kde-frameworks/extra-cmake-modules in commit f5b2cf80ea9696a5efbc2064cd432670670af486 Bug: https://bugs.gentoo.org/640432 Bug: https://bugs.gentoo.org/683102 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: cmake_comment_add_subdirectory: line length reductionAndreas Sturmlechner2020-09-011-8/+9
| | | | Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: cmake_run_in: New functionAndreas Sturmlechner2020-09-011-0/+16
| | | | Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake*.eclass: Hardcode CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX for riscvAndreas K. Hüttel2020-07-251-0/+6
| | | | | Bug: https://bugs.gentoo.org/689410 Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* cmake.eclass: do not append -DNDEBUG to CPPFLAGSMike Gilbert2020-04-011-9/+0
| | | | | | | | | | | | | | | | | | | The NDEBUG macro turns the assert() function into a noop. This gives a small performance boost, but may allow subtle programming errors to go unnoticed. This code was added back in 2008, when we started passing -DCMAKE_BUILD_TYPE=None instead of Release or Debug. It probably tries to mimic a default behavior of Release type builds. Other common build systems do not do this by default. For example, autoconf's AC_HEADER_ASSERT macro only sets NDEBUG if --disable-assert is passed to configure (it defaults to enabled). It is better to let users add this to CPPFLAGS themselves if they really want to save those few CPU cycles. Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* */*: Bump copyright on files touched this yearMichał Górny2020-02-111-1/+1
| | | | | | | Update the copyright notice on all files that were touched since January 1st but did not have the notice updated. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* cmake.eclass: Fix cmake-utils_src_make error messageAndreas Sturmlechner2020-01-051-1/+1
| | | | Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: Fix CMAKE_VERBOSE logicAndreas Sturmlechner2020-01-051-2/+2
| | | | Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: Add comment regarding cmake_src_prepare pushd/popdAndreas Sturmlechner2020-01-051-0/+2
| | | | | | We'll have to test affected packages when changing this. Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: Fix build with CMAKE_VERBOSE=OFFAndreas Sturmlechner2020-01-051-2/+4
| | | | Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>