Re: [PATCH 2/3] cmake: create compile_commands.json by default
- From
Sibi Siddharthan <sibisiddharthan.github@gmail.com>
- Date
- Jun 6, 2021, 04:39 UTC
- Message-ID
- <CAKiG+9U2tXu+k+oEx-fx9tjTYEdrL_Nf3Cxk14=ik1Ji8ZUehg@mail.gmail.com>
- In-Reply-To
- <CAOjrSZsyUi+RAqxXyd6JqzWqO8hMdtwTuWpZy+cKbz654Xu45A@mail.gmail.com>
On Sun, Jun 6, 2021 at 4:06 AM Matt Rogers <mattr94@gmail.com> wrote:
Show 40 quoted lines
> > On Fri, Jun 4, 2021 at 5:09 PM Sibi Siddharthan > <sibisiddharthan.github@gmail.com> wrote: > > > > On Fri, Jun 4, 2021 at 11:13 PM Matthew Rogers via GitGitGadget > > <gitgitgadget@gmail.com> wrote: > > > > > > A straightforward way to accomplish this is to make it as simple as > > > possible is to enable the generation of the compile_commands.json file, > > > which is supported by many tools such as: clang-tidy, clang-format, > > > sourcetrail, etc. > > > > > > This does come with a small run-time overhead during the configuration > > > step (~6 seconds on my machine): > > > > > > Time to configure with CMAKE_EXPORT_COMPILE_COMMANDS=TRUE > > > > > > real 1m9.840s > > > user 0m0.031s > > > sys 0m0.031s > > > > > > Time to configure with CMAKE_EXPORT_COMPILE_COMMANDS=FALSE > > > > > > real 1m3.195s > > > user 0m0.015s > > > sys 0m0.015s > > > > > > This seems like a small enough price to pay to make the project more > > > accessible to newer users. Additionally there are other large projects > > > like llvm [2] which has had this enabled by default for >6 years at the > > > time of this writing, and no real negative consequences that I can find > > > with my search-skills. > > > > > > > The overhead is actually much smaller than that. In my system it is > > less than 150ms. > > Is that 150 ms for the whole process or just the difference between the two > options? I'm running this on windows via the git bash provided by the > git sdk.
The difference between the two. Without exporting compile_commands.json it takes around 650ms, with it around 750ms. NOTE: This is for subsequent CMake runs. (Excludes the initial run)
Thank You, Sibi Siddharthan