[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).
Sergey
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/.
Fixed.
>
>> $ 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