<feed xmlns='http://www.w3.org/2005/Atom'>
<title>staging/noltari/include/cmake.mk, branch master</title>
<subtitle>Staging tree of Alvaro Fernandez Rojas</subtitle>
<id>https://git-03.infra.openwrt.org/openwrt/staging/noltari/atom?h=master</id>
<link rel='self' href='https://git-03.infra.openwrt.org/openwrt/staging/noltari/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/noltari/'/>
<updated>2022-01-17T08:14:26Z</updated>
<entry>
<title>treewide: drop use of which</title>
<updated>2022-01-17T08:14:26Z</updated>
<author>
<name>Ansuel Smith</name>
</author>
<published>2021-11-25T01:12:58Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/noltari/commit/?id=88204bfa82f982a986d2aa3e166a4c5946040308'/>
<id>urn:sha1:88204bfa82f982a986d2aa3e166a4c5946040308</id>
<content type='text'>
Ubuntu started to flag which as deprecated and it
seems which is not really standard and may vary
across Distro.
Drop the use of which and use the standard 'command -v'
for this simple task.
Which is still present in the prereq if some package/script
still use which.
A utility script called command_all.sh is implemented that
will just mimic the output of which -a.

Signed-off-by: Ansuel Smith &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>include/cmake.mk: add support for overriding the host install prefix</title>
<updated>2021-11-04T15:55:04Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2021-11-02T17:08:47Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/noltari/commit/?id=a6a9f9be278e718f3f8a5cb7640dd8035cc802b9'/>
<id>urn:sha1:a6a9f9be278e718f3f8a5cb7640dd8035cc802b9</id>
<content type='text'>
Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>include/cmake.mk: fix host builds with CMAKE_BINARY_SUBDIR</title>
<updated>2021-10-20T09:35:34Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2021-10-17T15:01:23Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/noltari/commit/?id=1c07eab9f81f1ee99cc2ae36596bda81c12d5dbc'/>
<id>urn:sha1:1c07eab9f81f1ee99cc2ae36596bda81c12d5dbc</id>
<content type='text'>
Use it in the same way as for target builds

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>build: do not override DESTDIR for cmake ninja host builds</title>
<updated>2021-06-12T12:33:57Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2021-06-12T12:32:41Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/noltari/commit/?id=18430a34e6a287aaf6f13a110a3202dcac3b3d1a'/>
<id>urn:sha1:18430a34e6a287aaf6f13a110a3202dcac3b3d1a</id>
<content type='text'>
The full prefix is already passed to cmake

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>build: use ninja for cmake packages by default</title>
<updated>2021-06-12T08:46:39Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2021-06-10T12:01:04Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/noltari/commit/?id=0c7c24d40aedcee25d5243e25a87d38246be128b'/>
<id>urn:sha1:0c7c24d40aedcee25d5243e25a87d38246be128b</id>
<content type='text'>
Speed goes from:

Executed in     178.08 secs     fish            external
usr time        20.16 mins      509.00 micros   20.16 mins
sys time        2.88 mins       39.00 micros    2.88 mins

To:

Executed in     175.90 secs     fish            external
usr time        20.19 mins      0.00 micros     20.19 mins
sys time        2.85 mins       497.00 micros   2.85 mins

Tested with "time make -j 12" on AMD Ryzen 3600

When building individual packages, the build time difference is often
significantly bigger than that.

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
Signed-off-by: Rosen Penev &lt;rosenp@gmail.com&gt;
</content>
</entry>
<entry>
<title>build: add ninja build tool and make it available for cmake</title>
<updated>2021-06-12T08:46:39Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2021-06-06T12:31:01Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/noltari/commit/?id=97258f53634d7237a2962aec3387f011047ce83b'/>
<id>urn:sha1:97258f53634d7237a2962aec3387f011047ce83b</id>
<content type='text'>
ninja is faster at building cmake packages than make, and according to reports
also more reliable at handling parallel builds
This commit includes a patch that adds GNU make jobserver support, in order to
allow more precise control over the number of parallel tasks

Enable parallel build by default for packages using ninja

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
Signed-off-by: Rosen Penev &lt;rosenp@gmail.com&gt;
</content>
</entry>
<entry>
<title>Revert "build: replace which with Bash command built-in"</title>
<updated>2021-03-03T21:51:39Z</updated>
<author>
<name>Clemens Fruhwirth</name>
</author>
<published>2021-01-29T18:57:37Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/noltari/commit/?id=1f5e7224868109a170a9248d18f8d2b6124e9c5a'/>
<id>urn:sha1:1f5e7224868109a170a9248d18f8d2b6124e9c5a</id>
<content type='text'>
This reverts commit c7aec47e5e3a3ff7b5fdaa11cd1e62cae6746acb.

The original commit replaces 'which' with 'command'. Sadly most of
them are not equivalent and for 'which -a', there is no easy
replacements that would not reimplement PATH parsing logic. Hence
revert. Keeping a dependency on which is absolutely fine.

Signed-off-by: Clemens Fruhwirth &lt;clemens@endorphin.org&gt;
</content>
</entry>
<entry>
<title>build: replace which with Bash command built-in</title>
<updated>2021-01-04T18:32:25Z</updated>
<author>
<name>Petr Štetiar</name>
</author>
<published>2020-12-22T09:33:02Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/noltari/commit/?id=c7aec47e5e3a3ff7b5fdaa11cd1e62cae6746acb'/>
<id>urn:sha1:c7aec47e5e3a3ff7b5fdaa11cd1e62cae6746acb</id>
<content type='text'>
`which` utility is not shipped by default for example on recent Arch
Linux and then any steps relying on its presence fails, like for example
following Python3 prereq build check:

 $ python3 --version
 Python 3.9.1

 $ make
 /bin/sh: line 1: which: command not found
 /bin/sh: line 1: which: command not found
 /bin/sh: line 1: which: command not found
 ...
 Checking 'python3'... failed.
 ...

Fix this by switching to Bash builtin `command` which should provide
same functionality.

Fixes: FS#3525
Signed-off-by: Petr Štetiar &lt;ynezz@true.cz&gt;
</content>
</entry>
<entry>
<title>include/cmake.mk: Fix the bug in ccache support</title>
<updated>2020-12-21T18:53:10Z</updated>
<author>
<name>Hirokazu MORIKAWA</name>
</author>
<published>2020-12-21T04:49:40Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/noltari/commit/?id=d6cb50c7ba8447f018139401d0d3821069e5f389'/>
<id>urn:sha1:d6cb50c7ba8447f018139401d0d3821069e5f389</id>
<content type='text'>
Fix the bug in ccache support due to this change.
https://github.com/openwrt/openwrt/commit/bfc433efd4a0c6875a92981d1bd2a5e3e60c61c6

The new cmake uses this for the wrapper.
https://cmake.org/cmake/help/v3.19/prop_tgt/LANG_COMPILER_LAUNCHER.html

Signed-off-by: Hirokazu MORIKAWA &lt;morikw2@gmail.com&gt;
</content>
</entry>
<entry>
<title>cmake.mk,rules.mk: fix host builds using CMake and ccache</title>
<updated>2020-11-28T15:17:58Z</updated>
<author>
<name>Petr Štetiar</name>
</author>
<published>2020-11-27T21:50:32Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/noltari/commit/?id=524fb5646eec6147aadfdd508219f39bcf8ba8fc'/>
<id>urn:sha1:524fb5646eec6147aadfdd508219f39bcf8ba8fc</id>
<content type='text'>
Commit f98878e4c17d ("cmake.mk: set C/CXX compiler for host builds as
well") has introduced regression as it didn't taken usage of ccache into
the account so fix it by handling ccache use cases as well.

In order to get this working we need to export HOSTCXX_NOCACHE in
rules.mk as well.

Fixes: f98878e4c17d ("cmake.mk: set C/CXX compiler for host builds as well")
Reported-by: Ansuel Smith &lt;ansuelsmth@gmail.com&gt;
Tested-by: Ansuel Smith &lt;ansuelsmth@gmail.com&gt;
Signed-off-by: Petr Štetiar &lt;ynezz@true.cz&gt;
</content>
</entry>
</feed>
