[Tarantool-patches] [PATCH] build: support build using Ninja

Sergey Bronnikov 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:
> Sergey,
> 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
>    -DCMAKE_BUILD_TYPE=Release).

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 
only once.

> 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 [1] may
>> build project a bit faster than Make, see [2]. 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(-)
> <snipped>
>> -- 
>> 2.25.1

More information about the Tarantool-patches mailing list