| # 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 |