summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* cmake.eclass: Fix the fatal typo fixAndreas Sturmlechner2020-01-051-1/+1
| | | | Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: Fix fatal typoAndreas Sturmlechner2020-01-051-1/+1
| | | | | Thanks-to: Tomas Mozes <hydrapolic@gmail.com> Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: src_prepare: Revert to cmake-utils.eclass behaviourAndreas Sturmlechner2020-01-031-0/+4
| | | | | | | | Re-adding pushd/popd until we figure out how to make it consistent across the eclass. Bug: https://bugs.gentoo.org/704524 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: Ban CMAKE_MIN_VERSION for realAndreas Sturmlechner2020-01-021-0/+1
| | | | Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake.eclass: New eclass, EAPI-7 only cleanup of cmake-utilsAndreas Sturmlechner2019-12-291-0/+637
- Drop all pre-EAPI-7 compatibility - Drop CMAKE_MIN_VERSION - Drop CMAKE_REMOVE_MODULES - Array support for CMAKE_REMOVE_MODULES_LIST - Drop pushd/popd from src_prepare - Drop _cmake_generator_to_use() CMAKE_MAKEFILE_GENERATOR validity is already checked in global scope. Move the check for dev-util/ninja into src_prepare. - Rename cmake_src_make() -> cmake_build() - Drop _cmake_ninja_src_build and _cmake_emake_src_build, move into cmake_build Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>