blob: 889cad09e603f51bdf2291da00f38a5c89d71607 [file] [log] [blame] [view]
# CLion Dev
CLion is an IDE
Prerequisite:
[Checking out and building the chromium code base](README.md#Checking-Out-and-Building)
[TOC]
## Setting up CLion
1. Install CLion
1. Authenticate License
- https://g3doc.corp.google.com/devtools/ide/intellij/g3doc/docs/license-server.md?cl=head
1. Run CLion
1. Increase CLion's memory allocation
- This step will help performance with large projects
1. Option 1
1. At the startup dialogue, in the bottom right corner, click `configure`
1. Setup `Edit Custom VM Options`:
```
-Xss2m
-Xms1g
-Xmx5g
```
1. Setup `Edit Custom Properties`:
```
idea.max.intellisense.filesize=12500
```
1. Option 2; 2017 and prior versions may not include the options to setup your `VM Options` and `Properties` in the `configure` menu. Instead:
1. `Create New Project`
1. `Help` > `Edit Custom VM Options`
1. `Help` > `Edit Custom Properties`
## Chromium in CLion
1. Import project
- At the startup dialogue, select `Import Project` and select your chromium directory
1. Modify the `CMakeList.txt` file
1. Open the `CMakeList.txt` file
1. Add the following to the top
```
set(CMAKE_BUILD_TYPE Debug)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src)
```
1. Remove any other `include_directories` the file contains
- the head should look like
```
cmake_minimum_required(VERSION 3.10)
project(chromium)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_BUILD_TYPE Debug)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src)
add_executable(chromium
...)
```
## Building, Running, and Debugging within CLion
1. `Run` > `Edit Configurations`
1. Click `+` in the top left and select `Application`
1. Setup:
```
Target: All targets
Executable: src/out/Defaults/chrome
Program arguments (optional): --disable-seccomp-sandbox --single-process
Working directory: .../chromium/src/out/Default
```
1. Click `+` next to the `Before launch` section and select `Run External tool`
1. In the dialog that appears, click `+` and setup:
```
Program: .../depot_tools/ninja
Arguments: -C out/Default -j 1000 chrome
Working directory: .../chromium/src
```
1. Click `OK` to close all three dialogs
1. `Run` > `Run` or `Run` > `Debug`
## Note on installing CLion on Linux
For some reason, when installing 2018.1 through a package manager, it did not create a desktop entry when I tried it. If you experience this as well:
1. Option 1
1. `cd /usr/share/applications/`
1. `touch clion-2018-1.desktop`
1. open `clion-2018-1.desktop` and insert:
```
[Desktop Entry]
Name=CLion 2018.1
Exec=/opt/clion-2018.1/bin/clion.sh %u
Icon=/opt/clion-2018.1/bin/clion.svg
Terminal=false
Type=Application
Categories=Development;IDE;Java;
StartupWMClass=jetbrains-clion
X-Desktop-File-Install-Version=0.23
```
1. Option 2
1. Run CLion through the terminal `/opt/clion-2018.1/bin/clion.sh`
1. At the startup dialogue, in the bottom right corner, click `configure`
1. Click `Create Desktop Entry`
## Optional Performance Steps
### Mark directories as `Library Files`
To speed up CLion, you may optionally mark directories such as `src/third_party` as `Library Files`
1. Open the `Project` navigation (default `Alt 1`)
1. Right click the directory > `Mark directory as` > `Library Files`
1. See `https://blog.jetbrains.com/clion/2015/12/mark-dir-as/` for more details