aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/cmake
AgeCommit message (Collapse)Author
2018-08-14cmake: fix compiling some C++ projects with Yocto SDK and GCCUrs Fässler
Setting CMAKE_SYSROOT in the toolchain file allows CMake to correctly remove user-provided system include directories pointing to <sysroot>/usr/include. The mentioned projects failed with "stdlib.h: No such file or directory #include_next <stdlib.h>". Signed-off-by: Urs Fässler <urs.fassler@bbv.ch> Signed-off-by: Raphael Freudiger <raphael.freudiger@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-07cmake: fix linking in multilib SDKsRoss Burton
CMake, in it's infinite wisdom, when searching for libraries (using find_library) will look inside the libraries PREFIX/lib, PREFIX/lib32, and PREFIX/lib64. In a multilib SDK more than one of these will exist (potentially all three) and obviously for a given build configuration only one of those is valid. This search path is hard-coded deep inside CMake but by setting CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX we can bypass it and set an explicit lib<SUFFIX> to use. Do this by writing ${baselib} into the environment file, and then stripping "lib" from this to obtain the suffix in the cmake-specific environment script, which is then read in the CMake toolchain. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-26cmake: put cmake.m4 and toolchain file in PNRoss Burton
Previously cmake-dev held some files which should be in cmake. - cmake.m4 should be in installed in cmake so it can be used out of the box - nativesdk-specific OEToolchainConfig.cmake file used to be in cmake, but the change of default packaging rules move it into cmake-dev. This recipe is the exception and it should be moved back. Add the extra paths to cmake, and clear FILES for cmake-dev to ensure nothing else slips in. Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-07-26cmake: in SDK use OE env var to set default toolchainCody P Schafer
Patch the location in cmake where the toolchain file is loaded to use the (new) OE_CMAKE_TOOLCHAIN_FILE variable to select a default toolchain if no toolchain has been specified. The cmake alias is removed. The alternatives: - shell alias fails when cmake is called indirectly (ex: a makefile managing several projects which calls cmake for some of them) because aliases are not inherited - wrapper script that unconditionally adds "-D..." breaks cmake's build tests and many other things as it causes cmake to believe it should be configuring things when it should not be. For example, `cmake -DCMAKE_TOOLCHAIN_FILE=... --build .` does not work (note that this also breaks people directly using `cmake --build .` with the current alias). Signed-off-by: Cody P Schafer <dev@codyps.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-07-06cmake: Update 3.10.3 -> 3.11.4Otavio Salvador
This updates CMake to the current stable release and drop many backported patches in the process. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-06-15cmake: fix Upstream-Status tag spellingRoss Burton
Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-06-07cmake: fix build issue with boost 1.67.0Armin Kuster
this fixes a build issue with boost 1.67.0 [Yocto 12762] Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-07cmake: fix build issue with boost 1.66.0Armin Kuster
this fixes a build issue with boost 1.66.0 [Yocto 12762] Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-03cmake: upgrade 3.10.2 -> 3.10.3Otavio Salvador
,----[ Changes in 3.10.3 ] | Brad King (1): | CMake 3.10.3 | | Craig Scott (1): | GoogleTest: Rename TIMEOUT parameter to avoid clash | | Sebastian Holtermann (1): | Autogen: Fix for the empty source file crash in 3.10.2 | | Tianhao Chai (1): | ccmake: fix status line buffer overflow on very wide terminals `---- Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-24cmake: Upgrade 3.10.1 -> 3.10.2Otavio Salvador
This is a minor stable update to CMake. This includes following changes: ,---- | c1e087a9d CMake 3.10.2 | d592bfc9f Autogen: Ignore not existing source files in cmMakefile | d49986b3b KWIML: Backport RISC-V update to CMake 3.10 | 9417a6d32 FindPostgreSQL: Add support for PG10 | 683e9023a Autogen: Fix for problematic nested list separator | 9b4d31dc7 cmGraphVizWriter: Updated to create and follow dependers for | interface targets `---- Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-01-19cmake: upgrade 3.9.5 -> 3.10.1Otavio Salvador
The 3.10.1 version has been in Dec 13, 2017, and has a great set of features and improvements since the last upgrade. The release notes of 3.10 release is available at: https://cmake.org/cmake/help/v3.10/release/3.10.html Patches updates: - cmake-Prevent-the-detection-of-Qt5.patch: so it replaces the sed command calls inside the cmake.inc - 0001-FindCUDA-Use-find_program-if-find_host_program-is-no.patch: merged upstream, so it has been removed. - support-oe-qt4-tools-names.patch: rebased. License-checksum-change: added new contributors Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-11-10cmake: Upgrade to 3.9.5Otavio Salvador
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-11-05cmake: Upgrade to 3.9.3 releaseOtavio Salvador
This upgrades CMake from 3.8.2 to 3.9.3 release. The Copyright.txt file checksum change was due the addition of a new contributor on the contributors list. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-10-16cmake: fix typo in toolchain fileØystein Walle
The missing underscore makes CMake define a new variable named "CMAKE" with the contents "ASM_FLAGS ${CMAKE_C_FLAGS}" instead of a variable named "CMAKE_ASM_FLAGS" with contents equal to "CMAKE_C_FLAGS". It seems clear that the intention was to assign "CMAKE_ASM_FLAGS". CMake uses variables named "CMAKE_<LANG>_FLAGS" for defining default compiler flags for a given language <LANG>. Leaving this flag unset may have unintended consequences. Not doing so is however not an error as far as CMake is concerned so it is silently accepted. Signed-off-by: Øystein Walle <ow@datarespons.no> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-07-06cmake: Use find_program if find_host_program is not availableMaxime Roussin-Bélanger
CMake does not define the `find_host_program` command we've been using in the cross-compiling code path. It was provided by a widely used Android toolchain file. For compatibility, continue to use `find_host_program` if available, but otherwise use just `find_program`. Signed-off-by: Maxime Roussin-Bélanger <maxime.roussinbelanger@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-06-04cmake: Upgrade to 3.8.2Otavio Salvador
There was a set of changes, those are: - CMake now requires librhash for build and as there is no other users in OE-Core we make it use its internal copy instead; - Copyright.txt checksum has change due new contrubutors and 2017 year additions; - Patch avoid-gcc-warnings-with-Wstrict-prototypes.patch was removed as it is not need anymore; - Patch 0001-KWIML-tests-Remove-format-security-from-flags.patch was removed as it is included in this release. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17cmake: Backport fix to enable -Wformat-securityJussi Kukkonen
Backport build fix that removes -Wformat-security for specific tests. Enable "-Wformat-security" for cmake in security_flags.inc. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-07meta: start to ignore the largefile distro featureAndre McCurdy
The largefile distro feature has been enabled by default in oe-core for a long time and, more recently, also in poky-tiny. Building without the largefile distro feature receives little or no testing. Many packages now enable LFS without exposing a configure option, so there should be very little expectation that disabling the distro feature will result in a distro which globally disables LFS. Respecting the distro feature adds a maintenance over-head and may be the source of configurations oddities (e.g. dbus-native currently builds with LFS disabled for no clear reason - fixed by this commit). Ignore the largefile distro feature more widely, as a first step towards deprecating and eventually removing it. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-23cmake: Update to 3.7.2.Philip Balister
Tested by building gnuradio stack. (From OE-Core rev: d3e5a6d38870ecede87812cb81c0b5630bd3b3ff) Signed-off-by: Philip Balister <philip@balister.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17cmake: update to 3.7.1Alexander Kanavin
(From OE-Core rev: 1e15dea62cacdd5c3c1158962a55ca44cfb1726b) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-16meta: remove True option to getVar callsJoshua Lock
getVar() now defaults to expanding by default, thus remove the True option from getVar() calls with a regex search and replace. Search made with the following regex: getVar ?\(( ?[^,()]*), True\) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-11-30cmake: update to 3.7.0Alexander Kanavin
License is still 3-clause BSD. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-10-28cmake: update to 3.6.2Alexander Kanavin
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-10-28cmake: avoid configure failures if CFLAGS contains -Wstrict-prototypesAndre McCurdy
Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-10-15cmake: improve CMAKE_SYSTEM_PROCESSOR assignment in nativesdkRoss Burton
The previous string manipulations would result in the wrong string being used for machines such as intel-corei7-64 as the sysroot was split at the first hyphen (so would result in corei7 instead of corei7-64). Change the logic so that it looks for processor-distro-os and uses the whole of the processor field. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-10-15cmake: also set CMAKE_FIND_ROOT_PATH_MODE_PACKAGERoss Burton
The other CMAKE_FIND_ROOT_PATH_MODE_* variables were already set to ONLY, but PACKAGE was left out. Fix this so that cmake doesn't look on the host for cmake modules when it should only be looking in the target sysroot. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-10-03cmake: Use bb.fatal() instead of raising FuncFailedUlf Magnusson
This sets a good example and avoids unnecessarily contributing to perceived complexity and cargo culting. Motivating quote below: < kergoth> the *original* intent was for the function/task to error via whatever appropriate means, bb.fatal, whatever, and funcfailed was what you'd catch if you were calling exec_func/exec_task. that is, it's what those functions raise, not what metadata functions should be raising < kergoth> it didn't end up being used that way < kergoth> but there's really never a reason to raise it yourself FuncFailed.__init__ takes a 'name' argument rather than a 'msg' argument, which also shows that the original purpose got lost. Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-23cmake-native: prefer native sysroot libraries over hostRoss Burton
Explicitly set CMAKE_LIBRARY_PATH so that find_library() looks in the native sysroot before the host. Also pass --verbose to configure which sets CMAKE_VERBOSE_MAKEFILE for detailed compile logs. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-16cmake-native: rationalise system/internal library dependenciesRoss Burton
By default cmake will auto-detect if a library is present on the host and if it isn't present will use an internal fork. For some libraries using the internal fork is preferable as it can be built with less dependencies, but for others we're either already building it or the impact of building it is comparable to internal build. Continue to use the internal fork of libarchive as our libarchive-native has a large number of build dependencies. Using the internal libarchive means that system bzip2 and zlib must be used. Explicitly use the internal fork of jsoncpp as we don't have this in oe-core. Explicitly depend on curl-native, expat-native, and xz-native to ensure these dependencies are not floating. curl-native is a non-trivial dependency but is comparable to building the internal fork, so there's no reason to build it twice. Change bzip2-native to bzip2-replacement-native as bzip2-native is ASSUME_PROVIDED. [ YOCTO #9639 ] Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-16cmake: use convenience options for clarityRoss Burton
The intention here was "everything but jsoncpp is system provided" so use the convenience option to ensure this remains true in the future. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-15cmake: don't inherit autotoolsRoss Burton
cmake doesn't use autotools, the functions get replaced by either cmake.bbclass (target) or the recipe itself (native) leaving just lots of superfluous dependencies. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-14meta: cleanup d.getVar(var, 1)Robert Yang
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-01cmake: upgrade to 3.6.1Maxin B. John
3.5.2 -> 3.6.1 Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-07classes/cmake: enable progress for do_compilePaul Eggleton
cmake outputs percentage complete as part of its compilation process, so we can enable BitBake's new progress scanning for do_compile here. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-22cmake: update to 3.5.2Maxin B. John
Adjust LIC_FILES_CHKSUM due to changes in the Copyright date. No change to the license text. Remove the upstreamed patch: 1. 0001-Add-NIOS2-CPU-support.patch Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-04-06cmake: remove unused dont-run-cross-binaries.patchRobert Yang
It hasn't been used since June 2015 when upgraded the recipe, this patch was used for crosscompiling, now the crosscompile works well without it, so remove it. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-18cmake: Update to 3.4.3.Philip Balister
* Tested by building gnuradio and friends for a cortex-a9 machine. Signed-off-by: Philip Balister <philip@balister.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-26cmake: update to 3.4.2Alexander Kanavin
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-09cmake: Add nios2 supportMarek Vasut
Add the necessary bits for nios2 support into cmake. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Ley Foon Tan <lftan@altera.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Ross Burton <ross.burton@intel.com> Cc: Thomas Chou <thomas@wytron.com.tw> Cc: Walter Goossens <waltergoossens@home.nl> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-08package_regex.inc: split the rest of the entries to their recipesAlexander Kanavin
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-11-16cmake: update 3.3.1 -> 3.3.2Andre McCurdy
Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-09-01cmake: update to 3.3.1Alexander Kanavin
Share tarball checksums between cmake and cmake-native via cmake.inc. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-26cmake: Upgrade 2.8.12.2 -> 3.2.2Moritz Blume
Patches "qt4-fail-silent.patch" and "support-oe-qt4-tools-names.patch" were adapted in order to fit to CMake 3.2.2 (refer to the commit message in the respective patch for details). Patch "cmake-2.8.11.2-FindFreetype.patch" was dropped since it was rejected upstream and its functionality otherwise implemented in the meantime. Signed-off-by: Moritz Blume <moritz.blume@bmw-carit.de> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-01-16cmake: fix B != SRobert Yang
And bump PR to avoid: | Error when bootstrapping CMake: | Found directory "/path/to/cmake-2.8.12.2/Bootstrap.cmk". | Looks like somebody did bootstrap CMake in the source tree, but now you are | trying to do bootstrap in the binary tree. Please remove Bootstrap.cmk | directory from the source tree. Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
2015-01-07cmake-native: disable check for acl.hChen Qi
We build cmake-native without acl support. However, the acl.h header is still being checked which would sometimes cause the following error during do_compile: archive_read_disk_entry_from_file.c:38:21: fatal error: sys/acl.h: No such file or directory | #include <sys/acl.h> | ^ | compilation terminated. This happens when the sysroot parts of acl-native is removed between do_configure and do_compile tasks of cmake-native. To reproduce the problem manually, execute the following command: bitbake cmake-native -c cleansstate && bitbake acl-native -c cleansstate && \ bitbake acl-native && bitbake cmake-native -c configure && \ bitbake acl-native -c cleansstate && bitbake cmake-native -c compile This patch fixes the above problem by explicitly disable the checking for acl.h header file. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-11-20cmake: drop already applied patchesPaul Eggleton
These patches were part of the 2.8.11 release. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-24nativesdk-cmake: Adjust toolchain paths dynamicallyOtavio Salvador
This patch adds a flexible way to configure the CMake in SDKs. It adds a toolchain configuration script which supports subscripts for extensions, as for example Qt5. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-28cmake: Avoid accidentally including libacl.hMike Crowe
The cmake recipe doesn't depend on libacl yet cmake will detect libacl.h and use it by default. This risks build failures if libacl.h is unstaged during the build and it also means that the build cmake will sometimes support ACLs and sometimes not. This can be avoided by setting ENABLE_ACL=0 but until the fix for http://cmake.org/Bug/view.php?id=14866 is released we also need to set HAVE_ACL_LIBACL_H=0. Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-25Globally replace 'base_contains' calls with 'bb.utils.contains'Otavio Salvador
The base_contains is kept as a compatibility method and we ought to not use it in OE-Core so we can remove it from base metadata in future. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-08cmake: Improve method for not building ccmakeMike Crowe
In commit 4bee0a93ed985b38c6b4eb605d8e16f5d7c82d51 I introduced an unnecessary patch to do something that can easily be done without patching. The argument to disable building ccmake can be passed to configure provided it is preceded by "--". Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>