Documentation: Update CLion configuration documentation

Closes #5512
This commit is contained in:
Itamar 2021-02-26 15:37:48 +02:00 committed by Andreas Kling
parent 1e737a5c50
commit 780e84f2e1
Notes: sideshowbarker 2024-07-18 21:54:48 +09:00

View File

@ -1,36 +1,13 @@
## CLion Project Configuration
Configuring CLion for development requires a CMakeLists.txt file.
The one provided in Meta/CLion packs the bare minimum configuration required for code completion and basic error checking.
This is not necessarily the best setup, there could be better ways to configure the IDE.
Below instructions are intended for people not familiar with CMake, or who don't want to get bothered setting up the IDE first.
CLion can integrate with CMake to provide code comprehension features.
It's assumed that a directory named `serenity` contains all your source files.
If you cloned the repository directly from GitHub, this is the directory that git creates to copy sources.
After opening the `serenity` repository in CLion as a new project, go to "`File->Settings->Build, Execution, Deployment->Cmake`",
and set the following fields: (Assuming you use `Ninja` as the build system and configured the CMake build directory to `Build`)
- Create the project directory and cd to it: `mkdir serenity-project && cd serenity-project`
- Move `serenity` to the project directory: `mv <path/to/serenity> .`
- Copy CMake file to project directory: `cp serenity/Meta/CLion/CMakeLists.txt .`
- Create new CMake project in IDE: `File->New CMake Project from Sources`
- In the file selection dialog, find and select `serenity-project`, then click OK.
`CMake Options`: `-G Ninja -DBUILD_LAGOM=ON -DCMAKE_C_COMPILER=gcc-10 -DCMAKE_CXX_COMPILER=g++-10`
The project will start loading.
Building the index for the first time takes a while. Let it finish the first scan.
## Notes
**Note:** If you have created the project after building the toolchain, you may get errors on `make install` after moving `serenity` to the project directory.
If you move `serenity` out to its original location, the build will succeed again.
It is recommended that you create a script that merely moves `serenity` before attempting to rebuild and once the build finishes, moves `serenity` back to the project directory.
Also during the build, be careful not to switch to the IDE window.
Doing so will cause CLion to panic because the `serenity` directory has suddenly disappeared.
CLion will try to delete indexes and when the build finishes and `serenity` is moved back to the project directory, indexes will be built again. This is a waste of time.
In order to completely eliminate the rebuilding of indexes, you have to rebuild everything (toolchain included) from scratch while `serenity` resides in the project directory.
**Note:** Don't create a new git repo in `serenity-project`.
The whole point of wrapping the sources to a new directory is to keep the project files away from the main git repository.
**Note:** If you don't want the workspace to list files ending with certain extensions, go to `File->Settings->Editor->File Types` and add entries to the `Ignore files and folders` field.
`Build Directory`: `Build`
## Notes for WSL Users