<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/classes/cmake.bbclass, branch uninative-3.6</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=uninative-3.6</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=uninative-3.6'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2022-03-04T17:14:15+00:00</updated>
<entry>
<title>Revert "cmake.bbclass: Set CXXFLAGS and CFLAGS"</title>
<updated>2022-03-04T17:14:15+00:00</updated>
<author>
<name>Jose Quaresma</name>
<email>quaresma.jose@gmail.com</email>
</author>
<published>2022-02-28T16:37:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=306f7b5ca101ec139572203e222d28610f2b5797'/>
<id>urn:sha1:306f7b5ca101ec139572203e222d28610f2b5797</id>
<content type='text'>
This reverts commit 47594d59ec4ab82fcf87d3c590caf7c46a6bfdff.

This patch was introduced 5 years ago as a temporary workaround
to fix an upstream bug.

Currently with that patch the following flags are duplicated:
 OECMAKE_C_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CFLAGS}"
 OECMAKE_C_LINK_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CPPFLAGS} ${LDFLAGS}"
 OECMAKE_CXX_LINK_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CXXFLAGS} ${LDFLAGS}"

The duplicated flags is used in the toolchain.cmake:
 set( CMAKE_C_FLAGS "${OECMAKE_C_FLAGS}" CACHE STRING "CFLAGS" )
 set( CMAKE_CXX_FLAGS "${OECMAKE_CXX_FLAGS}" CACHE STRING "CXXFLAGS" )
 set( CMAKE_CXX_LINK_FLAGS "${OECMAKE_CXX_LINK_FLAGS}" CACHE STRING "LDFLAGS" )

CC: Khem Raj &lt;raj.khem@gmail.com&gt;
(From OE-Core rev: a83623a54a375d3ae9198a135b94379881a2b7a5)

Signed-off-by: Jose Quaresma &lt;quaresma.jose@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cmake: stop FetchContent from fetching content</title>
<updated>2022-02-12T17:05:35+00:00</updated>
<author>
<name>Ross Burton</name>
<email>ross@burtonini.com</email>
</author>
<published>2022-02-09T12:53:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=23ac8859f4f336dead2264f320a382d696b48370'/>
<id>urn:sha1:23ac8859f4f336dead2264f320a382d696b48370</id>
<content type='text'>
CMake includes a FetchContent module, which will download further
source code at configure time.  With the network isolation this will now
fail, but as not all environments support network isolation we can tell
cmake to not download either for extra safety.

(From OE-Core rev: 138df1940fff303de48c98a95ac1bbaef4f120e2)

Signed-off-by: Ross Burton &lt;ross.burton@arm.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Convert to new override syntax</title>
<updated>2021-08-02T14:44:10+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2021-07-28T22:28:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=bb6ddc3691ab04162ec5fd69a2d5e7876713fd15'/>
<id>urn:sha1:bb6ddc3691ab04162ec5fd69a2d5e7876713fd15</id>
<content type='text'>
This is the result of automated script conversion:

scripts/contrib/convert-overrides.py &lt;oe-core directory&gt;

converting the metadata to use ":" as the override character instead of "_".

(From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cmake.bbclass: remove ${B} before cmake_do_configure</title>
<updated>2021-04-24T16:53:05+00:00</updated>
<author>
<name>Kai Kang</name>
<email>kai.kang@windriver.com</email>
</author>
<published>2021-04-23T03:29:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=9bbd9cab86762e78afca0af0042720e0ea020279'/>
<id>urn:sha1:9bbd9cab86762e78afca0af0042720e0ea020279</id>
<content type='text'>
It is fallible to remove ${B} in directory ${B} itself. And it does fail
when call bitbake by third-party wrapper script.

Use flag 'cleandirs' to remove ${B} first if build out of source tree.

(From OE-Core rev: 0fb6280432a36985590d9a714a5f11164aaebb51)

Signed-off-by: Kai Kang &lt;kai.kang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cmake: Fully-qualified path to ar</title>
<updated>2021-03-20T18:54:56+00:00</updated>
<author>
<name>Douglas Royds</name>
<email>douglas.royds@taitradio.com</email>
</author>
<published>2021-03-17T23:25:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=887e56c1b274db773ad8f9925e222a06992cf650'/>
<id>urn:sha1:887e56c1b274db773ad8f9925e222a06992cf650</id>
<content type='text'>
We (correctly enough) pass in our AR to cmake via the toolchain file,
but unlike the other cross-compilation tools (CC, CXX, ranlib, etc),
cmake does not then do its own search in the PATH for our AR.

By using cmake's own find_program() to search the PATH,
make works as expected from the commandline, outside of bitbake.

(From OE-Core rev: e9180c9575f0723b51915a0da58452511b6b03bf)

Signed-off-by: Douglas Royds &lt;douglas.royds@taitradio.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cmake.bbclass: Create cmake arch mapping for ppc64le</title>
<updated>2021-03-14T16:33:59+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2021-03-13T08:57:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=9d3f6fe2d2fd93c88eff8ccbd160db103e575e3f'/>
<id>urn:sha1:9d3f6fe2d2fd93c88eff8ccbd160db103e575e3f</id>
<content type='text'>
(From OE-Core rev: 698ece14e22d0efd9074493ef443b2cce5625d51)

Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cmake: set CMAKE_EXPORT_NO_PACKAGE_REGISTRY</title>
<updated>2021-02-19T11:17:11+00:00</updated>
<author>
<name>Konrad Weihmann</name>
<email>kweihmann@outlook.com</email>
</author>
<published>2021-02-18T19:29:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=c640057edaf4e9e62bc63943808c49af91312374'/>
<id>urn:sha1:c640057edaf4e9e62bc63943808c49af91312374</id>
<content type='text'>
if a cmake file uses export(PACKAGE) command it creates a
folder ~/.cmake/package/&lt;name&gt; in the current user's
home-dir.
fix this host contermination by setting CMAKE_EXPORT_NO_PACKAGE_REGISTRY
to ON by default, which makes the export() command do nothing

(From OE-Core rev: fc7bd81cfe52c35fe26d146c1def8a7493bd2e25)

Signed-off-by: Konrad Weihmann &lt;kweihmann@outlook.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cmake.bbclass: Rework compiler program variables for allarch</title>
<updated>2020-08-10T17:14:59+00:00</updated>
<author>
<name>Nathan Rossi</name>
<email>nathan@nathanrossi.com</email>
</author>
<published>2020-08-08T12:08:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=9e2c0e57df29122272e28834148ca7956c396e3e'/>
<id>urn:sha1:9e2c0e57df29122272e28834148ca7956c396e3e</id>
<content type='text'>
CMake projects can specify the NONE project type. Projects that do this
do not use any C or C++ compiler, this currently works fine with caveat
that when changing the machine/arch the compiler is different causing
signature hash differences.

To avoid the signature hash differences clear the associated C/CXX
compiler variables. In order to achieve this with overrides, simplify
the existing construction of the values using a python function and
variable setting and remove the anonymous variable setup.

(From OE-Core rev: e0657ff13453deedbdcf7c2f8a8854f601c659bd)

Signed-off-by: Nathan Rossi &lt;nathan@nathanrossi.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>classes/cmake: Fix host detection</title>
<updated>2020-07-22T11:45:56+00:00</updated>
<author>
<name>Joshua Watt</name>
<email>JPEWhacker@gmail.com</email>
</author>
<published>2020-07-21T17:52:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=3afe7395eedc02aa8f680f606e6bd4b6e57eade8'/>
<id>urn:sha1:3afe7395eedc02aa8f680f606e6bd4b6e57eade8</id>
<content type='text'>
Fixes the class to use HOST_OS and HOST_ARCH to set the cmake SYSTEM
variables. The HOST variables should be used instead of
TARGET_OS/TARGET_ARCH because we want to control how cmake compiles for
where the package is going to run (the host), not what it will be
generating output for (the target). The distinction is only really
relevant when building canadian cross recipes.

Also fix up the host OS detection to account for MinGW by setting
CMAKE_SYSTEM_NAME to "Windows". This eliminates the need for meta-mingw
to patch this in all the cmake recipes it builds.

(From OE-Core rev: 01245db2893e39ffb5d4a00e4689f048d0698974)

Signed-off-by: Joshua Watt &lt;JPEWhacker@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cmake: fix Python executable with cmake</title>
<updated>2020-04-05T10:46:38+00:00</updated>
<author>
<name>Martin Kelly</name>
<email>mkelly@xevo.com</email>
</author>
<published>2020-04-02T20:56:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=1b15cc6e65c18cda7888a2eef1f55bf0a660ae7e'/>
<id>urn:sha1:1b15cc6e65c18cda7888a2eef1f55bf0a660ae7e</id>
<content type='text'>
Currently, CMake has two ways of finding Python executables:
FindPythonInterp and FindPython/FindPython3. FindPythonInterp is
deprecated and may be removed at some point. Currently, python3native
sets PYTHON_EXECUTABLE, which FindPythonInterp uses. This is a problem
for a few reasons:

- Setting PYTHON_EXECUTABLE as an environment variable doesn't work, as
  CMake needs it to be set as an explicit CMake option via -D.
- Projects using the newer FindPython/FindPython3 don't pickup the right
  Python, as the newer routines use Python_EXECUTABLE and
  Python3_EXECUTABLE.

Fix this by setting PYTHON_EXECUTABLE, Python_EXECUTABLE, and
Python3_EXECUTABLE using -D options to EXTRA_OECMAKE.

The CMake routines are documented below:
https://cmake.org/cmake/help/latest/module/FindPythonInterp.html
https://cmake.org/cmake/help/latest/module/FindPython.html
https://cmake.org/cmake/help/latest/module/FindPython3.html

(From OE-Core rev: a22200a646eaf42cd4902a2fe3358d29717ac129)

Signed-off-by: Martin Kelly &lt;mkelly@xevo.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
