This repository has been archived by the owner on Feb 20, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 503
Develop and Debug with CLion
Matt Butrovich edited this page Oct 30, 2019
·
17 revisions
- CLion: Use CMU .edu email to get free, renewable 1-year license for CLion Professional Edition
- In CLion, select Check out from Version Control > Git, clone the repository. Alternatively, if you've already cloned the repository, choose Open and select the top level project directory.
- Go to
File > Settings...
(CLion > Preferences...
on macOS)- Go to
Build, Execution, Deployment > CMake
. Create as many build profiles as you need. We recommend at least the following 3 for developers:- For development:
Build type: Debug
,CMake options: -DTERRIER_USE_ASAN=ON
- For benchmarking:
Build type: Release
,CMake options: -DTERRIER_USE_JEMALLOC=ON
- For development:
- Go to
- After CLion processes the CMake project files, choose your build target and profile from the drop-down menu at the top-right of the IDE and build.
These are optional changes but will make CLion's behavior more consistent with our CI process.
- Go to
File > Settings...
(CLion > Preferences...
on macOS) and thenEditor > Inspections > C/C++ > General > Clang-Tidy
. UncheckUse IDE settings
. This will force CLion to use the project's.clang-tidy
file for real-time inspections. Click the link forSpecify Clang-Tidy executable
and point it to the binary installed bypackages.sh
. The default CLion-bundled version which may provide different warnings. - Go to
File > Settings...
(CLion > Preferences...
on macOS) and thenEditor > Code Style
. Check "Enable ClangFormat with clangd server. This will force CLion to use the project's
.clang-format` file for formatting operations.
- Use CLion's built-in debugger to set breakpoints and step through the code.
- CLion caches the CMake project files, so if you add or remove files you'll want to refresh the build settings by going to
Tools > CMake > Reset Cache and Reload Project
.
Carnegie Mellon Database Group Website