summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* cmake-utils.eclass: Turn `eqawarn` into `die` for >= EAPI 7Andreas Sturmlechner2018-12-101-5/+20
| | | | Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake-utils.eclass: Enable BUILD_SHARED_LIBS by default in EAPI >= 7David Seifert2018-12-101-0/+1
| | | | | | | | | | | * Many upstreams build static libraries by default, as this is simpler for distribution. Developers can still override this variable if required. Examples: https://github.com/pezmaster31/bamtools/blob/master/CMakeLists.txt#L64 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake-utils.eclass: Make ninja default backend in EAPI >= 7David Seifert2018-12-101-2/+10
| | | | | | | | | | | | * Using the ninja backend as a default is the only way to massively improve src_compile core utilization, given that it seems unlikely that CMake will ever produce non-recursive Makefiles. See also: http://www.kaizou.org/2016/09/build-benchmark-large-c-project/ Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake-utils.eclass: Use BDEPENDAndreas Sturmlechner2018-12-101-3/+8
| | | | Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake-utils.eclass: enable EAPI=7Michael Palimaka2018-12-101-2/+2
| | | | Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* cmake-utils.eclass: Move CMAKE_USER_MAKE_RULES_OVERRIDE to gentoo configAndreas Sturmlechner2018-09-161-1/+1
| | | | Closes: https://bugs.gentoo.org/631522
* cmake-utils.eclass: EAPI future-proof inherit-stopAndreas Sturmlechner2018-08-151-2/+1
|
* cmake-utils.eclass: Stop inheriting eapi7-ver.eclassArfrever Frehtes Taifersar Arahesis2018-08-151-1/+1
| | | | eapi7-ver.eclass is not used since commit b0a9a1202bbd68857aeffcfb7b1715962a39cc7c.
* cmake-utils.eclass: Drop remaining support for <cmake-3.4.0_rc1Arfrever Frehtes Taifersar Arahesis2018-08-151-26/+5
| | | | Default value of CMAKE_MIN_VERSION is already set to "3.9.6".
* cmake-utils.eclass: Fix usage of has_versionArfrever Frehtes Taifersar Arahesis2018-08-151-6/+6
| | | | | | has_version has no output, and its result is provided by exit status. Fixes: a8d5b1da360ab6e7a09bceda8a34d37e2182b963
* cmake-utils.eclass: Port has_version usage handle EAPI=7Michael Palimaka2018-08-151-4/+25
|
* cmake-utils.eclass: Override CMAKE_INSTALL_DOCDIR in EAPI 7Michał Górny2018-06-021-0/+6
| | | | | | Pass the correct docdir for GNUInstallDirs in EAPIs starting with 7. We do not need add it retroactively to avoid breaking something accidentally.
* cmake-utils.eclass: version_is_at_least -> ver_testAndreas Sturmlechner2018-05-191-1/+1
|
* cmake-utils.eclass: Drop versionator.eclassAndreas Sturmlechner2018-05-191-1/+1
| | | | | All instances of implicit usage by cmake-utils.eclass revdeps were fixed in tree.
* cmake-utils.eclass: Temporarily re-add versionatorAndreas Sturmlechner2018-05-181-1/+1
| | | | Take some time for evaluation.
* cmake-utils.eclass: Switch to eapi7-verAndreas Sturmlechner2018-05-181-3/+3
|
* eclass: misc spelling fixesMike Frysinger2018-03-281-1/+1
|
* cmake-utils.eclass: Make the new ASM-ATT rules actually workJames Le Cuirot2018-03-231-1/+2
| | | | | | | | | | | The previous attempt actually broke ASM in media-libs/vulkan-loader entirely so that it fell back to C code. After much experimentation and combing through strace output, I found that -x assembler is needed to handle non-standard file extentions and linking is done as a separate step. CMAKE_ASM-ATT_LINK_FLAGS therefore needs to be defined with -nostdlib to avoid errors about undefined main symbols. Closes: https://bugs.gentoo.org/625844
* cmake-utils.eclass: inherit eutils,multilib only pre-EAPI-7Andreas Sturmlechner2018-03-171-2/+6
|
* cmake-utils.eclass: use consistent style for SETMichael Palimaka2018-03-171-11/+11
|
* cmake-utils.eclass: raise CMAKE_MIN_VERSION to 3.9.6Michael Palimaka2018-03-171-2/+2
|
* cmake-utils.eclass: Override CMAKE_INSTALL_{INFO,MAN}DIRMichał Górny2018-03-101-0/+2
| | | | | | | | | | Provide an explicit override for CMAKE_INSTALL_INFODIR and CMAKE_INSTALL_MANDIR to force Gentoo standards for those locations. This is needed for Gentoo/FreeBSD where CMake defaults to /usr/info and /usr/man; while PMS specifies /usr/share/info and /usr/share/man via econf & do* helpers. Closes: https://bugs.gentoo.org/649200
* cmake-utils.eclass: Extend ASM rules to ASM-ATTMichał Górny2018-03-101-0/+3
| | | | | | | Some CMake projects use ASM-ATT rather than ASM, so extend our rule overrides to that. Closes: https://bugs.gentoo.org/625844
* eclass/cmake-utils: switch Darwin to rpath mode, bug #642668Fabian Groffen2018-01-021-3/+1
| | | | | | | By Michael Weiser, relying on the other support that enables @rpath entries, supported in macOS 10.5 and up. Closes: https://bugs.gentoo.org/642668
* cmake-utils.eclass: Use xdg_environment_reset from xdg-utils.eclassAndreas Sturmlechner2017-12-061-2/+2
| | | | Closes: https://bugs.gentoo.org/639460
* cmake-utils.eclass: add supported EAPI documentationMichael Palimaka2017-12-021-0/+1
|
* cmake-utils.eclass: mark some eclass variables as unset by defaultMichael Palimaka2017-12-021-0/+3
|
* cmake-utils.eclass: Add QA check for broken buildsystemsDavid Seifert2017-09-241-0/+11
| | | | Closes: https://github.com/gentoo/gentoo/pull/4757
* cmake-utils.eclass: Add QA check that cmake-utils_src_prepare was runDavid Seifert2017-09-241-0/+6
| | | | Closes: https://github.com/gentoo/gentoo/pull/4757
* cmake-utils.eclass: Remove redundant enable_cmake-* functionsMichał Górny2017-05-221-42/+22
| | | | Closes: https://github.com/gentoo/gentoo/pull/4702
* cmake-utils.eclass: Drop _cmake_execute_optionally after WANT_CMAKEAndreas Sturmlechner2017-05-211-15/+5
| | | | Follow-up to d741b4ef5054c8800b97748ef8caa11ad910d784
* cmake-utils.eclass: Remove PREFIX variableDavid Seifert2017-05-211-11/+5
| | | | Closes: https://github.com/gentoo/gentoo/pull/4528
* cmake-utils.eclass: Remove support for EAPIs 0 - 4David Seifert2017-05-211-12/+10
| | | | Closes: https://github.com/gentoo/gentoo/pull/4528
* cmake-utils.eclass: Remove WANT_CMAKE and warn usersDavid Seifert2017-05-211-28/+4
| | | | Closes: https://github.com/gentoo/gentoo/pull/4528
* cmake-utils.eclass: Use eninja from ninja-utilsMichał Górny2017-05-161-49/+3
|
* cmake-utils.eclass: raise minimum version to 3.7.2Michael Palimaka2017-03-181-1/+1
|
* Drop $Id$ per council decision in bug #611234.Robin H. Johnson2017-02-281-1/+0
| | | | Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
* cmake-utils.eclass: Set CMAKE_MIN_VERSION to 3.6.3Johannes Huber2017-02-071-1/+1
|
* cmake-utils.eclass: set CMAKE_SYSTEM_PROCESSOR, certain buildsystems rely on ↵Maciej Mrozowski2017-02-071-0/+1
| | | | this for crosscompiling. Patch by aballier, bug 607904
* cmake-utils.eclass: Drop EAPI 3Johannes Huber2017-01-281-1/+1
| | | | No consumers left.
* cmake-utils.eclass: Support running ctest in parallelMichał Górny2017-01-071-3/+4
| | | | | Pass -j and --test-load options (with values based on MAKEOPTS) to CTest by default, in order to enable parallel test runs.
* cmake-utils.eclass: Set CMAKE_MIN_VERSION to 3.5.2Johannes Huber2017-01-011-2/+2
|
* cmake-utils.eclass: Set CMAKE_MIN_VERSION to 3.2.2Johannes Huber2016-12-231-1/+1
|
* cmake-utils.eclass: Set assembly compiler & flags directlyMichał Górny2016-12-081-1/+4
| | | | | Set the assembly compiler and flags directly instead of implicitly forcing them in the build rule.
* cmake-utils.eclass: Split multi-arg CC/CXX/FC correctly, #542530Michał Górny2016-12-081-3/+10
| | | | | | | | | | | | | | | | Split multi-argument CC/CXX/FC into a CMake array consisting of one element containing the compiler path (name) and the other containing all command-line options, space-separated. This is how CMake splits the environment variables CC/CXX/FC internally. The alternative would be to set CC/CXX/FC directly, and let CMake handle the splitting. However, changing that had unforeseen consequences like assembler not being set correctly (#601292) which in turn was impossible to set via environment variables due to bugs in CMake. Therefore, splitting the values into CMAKE_*_COMPILER correctly seems the simplest and safest way forward, at least until we can rely on fixed CMake versions being sufficiently deployed.
* cmake-utils.eclass: Revert "export CC/CXX/FC to environment, #542530"Michał Górny2016-12-021-2/+3
| | | | | Revert using CC/CXX/FC envvars since it breaks implicit assembler override and is non-trivial to fix, #601292.
* cmake-utils.eclass: Revert "Set assembler correctly, #601292"Michał Górny2016-12-021-3/+1
| | | | | | Revert setting ASM=${CC}. It turns out that CMake is not splitting arguments in ASM like in CC, so this effectively broke all multilib builds.
* cmake-utils.eclass: Unset BUILD_TYPE-specific ASM flagsMichał Górny2016-12-011-0/+1
|
* cmake-utils.eclass: Set assembler correctly, #601292Michał Górny2016-12-011-1/+3
| | | | | | | | | | | Use <CMAKE_ASM_COMPILER> in the assembly compile command in order to fix building assembly files. It turns out that <CMAKE_C_COMPILER> is no longer correctly evaluated in that command once it is no longer set explicitly in the toolchain file and passed through the environment instead. Pass ASM and ASMFLAGS (equal to CC and CFLAGS) appropriately to enforce using the correct compiler.
* cmake-utils.eclass: Wipe out default flags for std build typesMichał Górny2016-11-301-0/+13
| | | | | | Wipe out the default compiler & linker flags that are forced by CMake for the standard build types. This improves the sanity of the build if we are forced to use one of those types.