# 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