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.