This module implements JSON Compilation Database Format Specification for premake projects.
Install this module somewhere premake can find it, for example:
git clone https://github.com/tarruda/premake-export-compile-commands export-compile-commands
Then put this at the top of your system script(eg: ~/.premake/premake-system.lua):
require "export-compile-commands"
Note that while possible, it is not recommended to put the require
line in
project-specific premake configuration because the "export-compile-commands"
module will need to be installed everywhere your project is built.
After the above steps, the "export-compile-commands" action will be available for your projects:
premake5 export-compile-commands
The export-compile-commands
action will generate one json file per
config/platform combination in each workspace, all under the compile_commands
subdirectory. For example, say you have defined debug
and release
configurations with x32
and x64
platforms, the output will be something
like:
Generated WORKSPACE_BUILD_DIR/compile_commands/debug_x32.json...
Generated WORKSPACE_BUILD_DIR/compile_commands/debug_x64.json...
Generated WORKSPACE_BUILD_DIR/compile_commands/release_x32.json...
Generated WORKSPACE_BUILD_DIR/compile_commands/release_x64.json...
where each file contain the compilation commands for the corresponding config/platform combo.