[Tarantool-patches] [PATCH] build: support build using Ninja
estetus at gmail.com
Thu Jun 2 16:21:34 MSK 2022
Igor, thanks for your review!
I have addressed all issues in patch series v2 (send in a separate thread).
On 26.05.2022 19:21, Igor Munkin wrote:
> Thanks for the patch! I only dump our offline discussion:
> * We decided to add a separate CI pipeline to prevent ninja build to be
> broken again. It will be run on Linux/x86_64 with no CMake
> specification at all (i.e. -DLUAJIT_ENABLE_GC64=OFF and
Added in a separate commit.
> * We decided to refactor the targets related to LuaJIT executable, since
> ninja forbids using different targets building the same name. Hence
> instead of using parameterized dependencies of the fixed targets,
> let's use parameterized targets with fixed dependencies (hope it's
> not too tricky wording for you).
We discussed it at least two times and to avoid conflict by names
I have renamed default target and create target for building cli binary
> On 23.05.22, Sergey Bronnikov wrote:
>> By default CMake generates files suitable for building a project with
>> Make. However, it allows to generate files for Ninja too. Ninja  may
>> build project a bit faster than Make, see . Patch adds changes
>> required for building with Ninja.
> Minor: Please, describe these changes in detail.
Every change for fixing Ninja build added as a separate commit with a
short problem description.
>> How-to build wit Ninja:
> Typo: s/wit/with/.
>> $ cmake -G Ninja -B build -S .
>> $ ninja -C build luajit
>> On my laptop Ninja reduces building time by 14% (with Make it takes 5.7
>> sec, with Ninja 3.9 sec). It is not so much, but without Ninja support in
>> LuaJIT it is not possible to build Tarantool with Ninja.
> Minor: This rationale can be moved below (after ---), since I see no
> reason to mention particular results in the commit message. The links
> below are more than enough.
Moved to a cover letter.
>> 1. https://ninja-build.org/
>> 2. https://mesonbuild.com/Simple-comparison.html
>> src/CMakeLists.txt | 4 ++--
>> src/host/CMakeLists.txt | 6 ++++--
>> 2 files changed, 6 insertions(+), 4 deletions(-)
More information about the Tarantool-patches