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 compile_commands.json
file per
config/platform combination in each workspace, all under its own 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/debug_x32/compile_commands.json...
Generated WORKSPACE_BUILD_DIR/debug_x64/compile_commands.json...
Generated WORKSPACE_BUILD_DIR/release_x32/compile_commands.json...
Generated WORKSPACE_BUILD_DIR/release_x64/compile_commands.json...
where each file contain the compilation commands for the corresponding config/platform combo.