json2cmake
json2cmake copied to clipboard
Generate CMakeLists.txt from a compile_commands.json
json2cmake
|Build Status| |PyPI version|
json2cmake converts JSON compilation database_ files into CMake_
files. The resulting CMakeLists.txt file can then be used to
recompile the same object files with less overhead via Ninja, used as
an IDE project file for CLion, or for integration into a larger CMake
project.
The output files only include object library_ definitions, as a
compile_commands.json file typically doesn't contain any linker
commands.
Installation
json2cmake is available as a pip package, and can be installed
like so:
::
$ pip install --user json2cmake
pipsi_ is a useful tool to keep scripts out of other Python
environments and virtualenvs:
::
$ pipsi install json2cmake
Usage
Simply run json2cmake in the directory containing
compile_commands.json:
::
$ json2cmake
$ cat CMakeLists.txt
cmake_minimum_required(VERSION 2.8.8)
project(autogenerated)
...
License
json2cmake is licensed under the MIT License_.
.. _JSON compilation database: http://clang.llvm.org/docs/JSONCompilationDatabase.html .. _CMake: https://cmake.org/ .. _Ninja: https://ninja-build.org/ .. _CLion: https://www.jetbrains.com/clion/ .. _object library: https://cmake.org/Wiki/CMake/Tutorials/Object_Library .. _pipsi: https://github.com/mitsuhiko/pipsi .. _MIT License: https://github.com/AbigailBuccaneer/json2cmake/blob/master/LICENSE
.. |Build Status| image:: https://travis-ci.org/AbigailBuccaneer/json2cmake.svg?branch=master :target: https://travis-ci.org/AbigailBuccaneer/json2cmake .. |PyPI version| image:: https://img.shields.io/pypi/v/json2cmake.svg :target: https://pypi.python.org/pypi/json2cmake