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

Igor Munkin imun at tarantool.org
Thu May 26 19:21:25 MSK 2022


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).
* 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).

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.

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

> 
> 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
> 

-- 
Best regards,
IM


More information about the Tarantool-patches mailing list