Generating compile_commands.json is necessary for YouCompleteMe or IDEs to better understand a project when [rightfully] bam was the choice.