Build CMake project with ninja

in order to build CMake project with ninja, add the following into the conanfile.py:

def build(self):
     if self.settings.compiler == 'Visual Studio':
         with tools.vcvars(self.settings, force=True, filter_known_paths=False):
             self.build_cmake()
     else:
         self.build_cmake()

 def build_cmake(self):
     cmake = CMake(self, generator='Ninja')

also, the following is needed in build.py:

from bincrafters import build_template_default


def add_build_requires(builds):
    return map(add_required_installers, builds)


def add_required_installers(build):
    installers = ['ninja/1.9.1@bincrafters/stable']
    build.build_requires.update({"*": installers})
    return build


if __name__ == "__main__":

    builder = build_template_default.get_builder()

    builder.items = add_build_requires(builder.items)

    builder.run()

in order to build locally, you need ninja_installer in your profile. first, create new profile for ninja:

conan profile new --detect

then put the following into the profile ($HOME/.conan/profiles/ninja):

[build_requires]
ninja_installer/1.8.2@bincrafters/stable

then to build locally with ninja run:

conan create . bincrafters/testing -p ninja