You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
44 lines
1.5 KiB
44 lines
1.5 KiB
## Generate compile_commands.json for premake projects |
|
|
|
This module implements [JSON Compilation Database Format |
|
Specification](http://clang.llvm.org/docs/JSONCompilationDatabase.html) 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): |
|
|
|
```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.
|
|
|