<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/classes/cmake.bbclass, branch 3.1_M2</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=3.1_M2</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=3.1_M2'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2019-12-30T23:39:09+00:00</updated>
<entry>
<title>cmake.bbclass: Define LIB_SUFFIX</title>
<updated>2019-12-30T23:39:09+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2019-12-29T18:44:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=c6d9f9342260de64b2c2fcd32cb12e8bdcee3c96'/>
<id>urn:sha1:c6d9f9342260de64b2c2fcd32cb12e8bdcee3c96</id>
<content type='text'>
This variable is used in lot of cmake based packages to denote libdir in
multilib environments, now a days there is a better way to include
GNUInstallDirs module but thats upto these packages to adopt. Defining
this helps compiling a bunch of recipes in extended layers when using
multilibbed builds.

(From OE-Core rev: 24f630ce36e803c54ad6cff00215abd0e7b77b77)

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: Add a knob for cmake VERBOSE settings</title>
<updated>2019-12-30T08:47:13+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2019-12-28T07:56:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d54ccf9f89be67acd57126ec732e1d3831c2614d'/>
<id>urn:sha1:d54ccf9f89be67acd57126ec732e1d3831c2614d</id>
<content type='text'>
Setting VERBOSE always, while is fine on one hand for debugging, its
coming at an expense of creating lots and lots of logs, e.g. qtwebkit
compile logs alone with VERBOSE is 163MB, there are many other large
packages which use cmake e.g. WPE, webkitgtk etc which are in same range
with out this option on, the logs reduce to 861K and also speeds up
build a notch

If user needs to disable these logs for a recipe or globally

CMAKE_VERBOSE = ""

in recipe or in global metadata e.g. local.conf

(From OE-Core rev: f8d2cd0025f97819898da26041f353d527a27952)

Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
Cc: Ross Burton &lt;ross.burton@intel.com&gt;
Cc: Andre McCurdy &lt;armccurdy@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>classes/cmake: Use relative RPATHs</title>
<updated>2019-11-27T13:25:18+00:00</updated>
<author>
<name>Joshua Watt</name>
<email>jpewhacker@gmail.com</email>
</author>
<published>2019-11-21T16:59:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=9582fec24abac64ce691ee482de6a4816fff6dc0'/>
<id>urn:sha1:9582fec24abac64ce691ee482de6a4816fff6dc0</id>
<content type='text'>
In most cases, the RPATH is stripped out when the ELF file is packages,
but by then the damage is done from a reproducible perspective because
this absolute path is hashed as part of the build-id generated at link
time ([1] has a good explanation). Fortunately, newer cmake has an
option to generated relative RPATHs that use $ORIGIN to set the path, so
set it in the toolchain file.

[1]: https://gitlab.kitware.com/cmake/cmake/issues/18413

(From OE-Core rev: 44e77d3f97af4cd4ad8bc0984f093a116a830986)

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.bbclass: add HOSTTOOLS_DIR to CMAKE_FIND_ROOT_PATH</title>
<updated>2019-10-23T15:30:35+00:00</updated>
<author>
<name>Michael Ho</name>
<email>Michael.Ho@bmw.de</email>
</author>
<published>2019-08-14T15:05:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=dbba06d9153ae588c9496b40e5db18b3602bfad1'/>
<id>urn:sha1:dbba06d9153ae588c9496b40e5db18b3602bfad1</id>
<content type='text'>
The find_program command will fail if it is used on a tool that is listed in
ASSUME_PROVIDED. This is because these tools are in the hosttools directory
which is not listed in CMAKE_FIND_ROOT_PATH so cmake will not find them.

Adding the directory HOSTTOOLS_DIR to the CMAKE_FIND_ROOT_PATH variable fixes
the initial issue of needing to search for tools in ASSUME_PROVIDED.

Note that this change alone does not fix the issue because find_program will
by default only look into the subdirectories bin and usr/bin under the paths
in CMAKE_FIND_ROOT_PATH to find the programs and the hosttools directory has
instead the symlinks directly present without these subdirectories.

Set CMAKE_PROGRAM_PATH to by default include the root directory so
find_program can search the hosttools directory without needing the prefix
directories.

(From OE-Core rev: 7847f431cd8db59fce8c9401a603c4b0678ee16d)

Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cmake: Clarify comment in cmake toolchain file</title>
<updated>2019-06-20T12:14:22+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2019-06-20T10:15:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=70b6880c550c0a9c5ee36ac3c4d7884a17683843'/>
<id>urn:sha1:70b6880c550c0a9c5ee36ac3c4d7884a17683843</id>
<content type='text'>
The comment is misleading and there was confusion in a bug report. In the native
case STAGING_DATADIR would be equal to the native value so there isn't any issue
but tweak the comment.

[YOCTO #12761]

(From OE-Core rev: 0fdf76305a3cb543c23d6122c523ce5c2af04a0c)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cmake: Avoid passing empty prefix to os.path.relpath</title>
<updated>2019-06-12T09:54:40+00:00</updated>
<author>
<name>Mike Crowe</name>
<email>mac@mcrowe.com</email>
</author>
<published>2017-11-12T16:39:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=03830e2eb94bd49caa25a056d85a2068f5a63c13'/>
<id>urn:sha1:03830e2eb94bd49caa25a056d85a2068f5a63c13</id>
<content type='text'>
With meta-micro, ${prefix} is the empty string. This means that
CMAKE_INSTALL_BINDIR:PATH and friends end up containing paths starting with
many instances of "../", presumably due to os.path.relpath attempting to
find its way to the current directory.

Let's avoid this by ensuring that the root path always ends in a slash. If
it already ends in a slash then adding another one shouldn't cause any
problems.

(From OE-Core rev: 67b19414c1c17f71f39c971b9f9fdd1f776516a1)

Signed-off-by: Mike Crowe &lt;mac@mcrowe.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cmake: Use compiler launcher variable when ccache is enabled</title>
<updated>2019-05-30T11:37:03+00:00</updated>
<author>
<name>Philippe Normand</name>
<email>philn@igalia.com</email>
</author>
<published>2019-05-29T08:40:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=a13288fd507870d4a7bcf2a6a5069bd4555e548b'/>
<id>urn:sha1:a13288fd507870d4a7bcf2a6a5069bd4555e548b</id>
<content type='text'>
Setting the CMAKE_C{,XX}_COMPILER_LAUNCHER variables is the recomended way to
deal with ccache in CMake. It allows build scripts to optionally opt-out of
ccache, which is especially useful when the pre-processed GCC output is required.

(From OE-Core rev: 0a36d1b342c0b4760bc75794c2e941a17012bc19)

Signed-off-by: Philippe Normand &lt;philn@igalia.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cmake: Support Eclipse and other cmake generators</title>
<updated>2019-04-10T12:46:17+00:00</updated>
<author>
<name>Nikhil Pal Singh</name>
<email>nikhilpal.singh@taitradio.com</email>
</author>
<published>2019-04-08T21:24:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=b25ede81df2e43fa2dc8e634f6952de28ed8a0b8'/>
<id>urn:sha1:b25ede81df2e43fa2dc8e634f6952de28ed8a0b8</id>
<content type='text'>
Support project-file generators such as CodeBlocks, CodeLite,
Eclipse, Sublime, and Kate for both make and Ninja build systems.

The following generators are listed in cmake --help:

  Unix Makefiles               = Generates standard UNIX makefiles.
  Ninja                        = Generates build.ninja files.
  Watcom WMake                 = Generates Watcom WMake makefiles.
  CodeBlocks - Ninja           = Generates CodeBlocks project files.
  CodeBlocks - Unix Makefiles  = Generates CodeBlocks project files.
  CodeLite - Ninja             = Generates CodeLite project files.
  CodeLite - Unix Makefiles    = Generates CodeLite project files.
  Sublime Text 2 - Ninja       = Generates Sublime Text 2 project files.
  Sublime Text 2 - Unix Makefiles
                               = Generates Sublime Text 2 project files.
  Kate - Ninja                 = Generates Kate project files.
  Kate - Unix Makefiles        = Generates Kate project files.
  Eclipse CDT4 - Ninja         = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - Unix Makefiles= Generates Eclipse CDT 4.0 project files.

All but one of these contain one of the strings, "Unix Makefiles" or "Ninja".
In each of these cases, cmake generates the Makefiles (or ninja files respectively),
and also the appropriate project files, eg. .project and .cproject for Eclipse.

A user can set OECMAKE_GENERATOR in their local.conf to any
one of these strings, except "Watcom WMake" (not supported).

(From OE-Core rev: 256e8b5deae66b1463c359db12af396702912139)

Signed-off-by: Nikhil Pal Singh &lt;nikhilpal.singh@taitradio.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cmake: Reduce verbosity for make invocation</title>
<updated>2019-03-12T18:57:41+00:00</updated>
<author>
<name>Douglas Royds</name>
<email>douglas.royds@taitradio.com</email>
</author>
<published>2019-03-11T05:51:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=7d9b03567d79c51bd47552a474e39d785a301b52'/>
<id>urn:sha1:7d9b03567d79c51bd47552a474e39d785a301b52</id>
<content type='text'>
Since the dawn of time, we have set CMAKE_VERBOSE_MAKEFILE=1 in cmake.bbclass.
Back in 2016, we also explicitly set VERBOSE=1 in cmake_do_compile(),
to ensure that make (and ninja) output were verbose in log.do_compile.

Turning off CMAKE_VERBOSE_MAKEFILE=1 means that make (or ninja)
invocations from the command-line are non-verbose,
giving CMake's default human-readable output on the terminal instead.
The user can still invoke VERBOSE=1 make if they do want verbose output.
This has no effect on the verbose output that goes into the logs.

(From OE-Core rev: 75c4b61513d8b089e835fb8d5923d8749fed7880)

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: Make it work with ccache</title>
<updated>2019-01-14T11:35:55+00:00</updated>
<author>
<name>Robert Yang</name>
<email>liezhi.yang@windriver.com</email>
</author>
<published>2018-12-18T02:21:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=3be36b0d27d89cff3dfd5ee7f0906afaccf9c9e5'/>
<id>urn:sha1:3be36b0d27d89cff3dfd5ee7f0906afaccf9c9e5</id>
<content type='text'>
This can make the following recipes work with cmake:
cmake libdnf libcomps librepo createrepo-c llvm dnf libsolv assimp waffle
libjpeg-turbo taglib libproxy libical

And the following 3 recipes don't:
webkitgtk vulkan piglit
Now cmake.bbclass doesn't disble ccache any more, disable it in the recipes if
needed.

(From OE-Core rev: d014c8c11fb663f131d3a860ddeda17d604b2dd3)

Signed-off-by: Robert Yang &lt;liezhi.yang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
