Skip to content

Commit

Permalink
Switch build to cmake
Browse files Browse the repository at this point in the history
  • Loading branch information
DonLakeFlyer committed May 4, 2024
1 parent 466ab69 commit 17864b7
Showing 1 changed file with 17 additions and 38 deletions.
55 changes: 17 additions & 38 deletions docs/en/qgc-dev-guide/getting_started/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
qt_version: 6.6.1
qt_version: 6.6.3
---

# Getting Started with Source and Builds
Expand Down Expand Up @@ -120,7 +120,12 @@ To see a complete list of all available components in the installer _Select Comp

#### Building using Qt Creator {#qt-creator}

1. Launch _Qt Creator_ and open the **qgroundcontrol.pro** project.
::: info
QGC has switched to using cmake for builds. Qmake builds are currently deprecated and support will eventually be removed.
Only custom builds continue to use qmake at this time, since they have not yet been converted to cmake.
:::

1. Launch _Qt Creator_, select Open Project and select the **CMakeLists.txt** file.
1. In the **Projects** section, select the appropriate kit for your needs:

- **OSX:** Desktop Qt {{ $frontmatter.qt_version }} clang 64 bit
Expand Down Expand Up @@ -148,10 +153,10 @@ When installing, select _Desktop development with C++_ as shown:
![Visual Studio 2019 - Select Desktop Environment with C++](../../../assets/dev_getting_started/visual_studio_select_features.png)

::: info
Visual Studio is ONLY used to get the compiler. Actually building _QGroundControl_ should be done using [Qt Creator](#qt-creator) or [qmake](#qmake) as outlined below.
Visual Studio is ONLY used to get the compiler. Actually building _QGroundControl_ should be done using [Qt Creator](#qt-creator) or [cmake](#cmake) as outlined below.
:::

#### Build using qmake on CLI {#qmake}
#### Build using cmake on CLI {#cmake}

Example commands to build a default QGC and run it afterwards:

Expand All @@ -161,40 +166,22 @@ Example commands to build a default QGC and run it afterwards:
cd qgroundcontrol
```

1. Create and enter a shadow build directory:

```sh
mkdir build
cd build
```

1. Configure the build using the qmake script in the root of the repository:

```sh
qmake ../
```

1. Run make to compile and link.
To accelerate the process things you can use the `-j{number of threads}` parameter.
1. Configure:

```sh
make -j12
cmake -B build -G Ninja CMAKE_BUILD_TYPE=Debug
```

::: info
You can also specify build time flags here.
For example, you could disable airmap inclusion using the command:
1. Build

```sh
DEFINES+=DISABLE_AIRMAP make build
cmake --build build --config Debug
```

:::

1. Run the QGroundcontrol binary that was just built:

```sh
./staging/QGroundControl
./build/QGroundControl
```

### Vagrant
Expand All @@ -215,14 +202,6 @@ Example commands to build a default QGC and run it afterwards:

You can additionally create installation file(s) for _QGroundControl_ as part of the normal build process.

::: tip
On Windows you will need to first install [NSIS](https://sourceforge.net/projects/nsis/).
:::

To add support for installation file creation you need to add `CONFIG+=installer` to your project file, or when you call _qmake_.

To do this in _Qt Creator_:

- Open **Projects > Build > Build Steps > qmake > Additional arguments**.
- Enter `CONFIG+=installer` as shown:
![Installer](../../../assets/dev_getting_started/qt_project_installer.png)
```sh
cmake --install . --config Release
```

0 comments on commit 17864b7

Please sign in to comment.