1
0
Fork 0
mirror of https://github.com/iNavFlight/inav.git synced 2025-07-12 19:10:27 +03:00
inav/docs/development/Building in Mac OS X.md
2022-09-25 20:12:41 +00:00

4 KiB
Executable file

Building in Mac OS X

Building in Mac OS X can be accomplished in just a few steps:

  • Install general development tools (clang, make, git)
  • Install cmake
  • Checkout INAV sourcecode through git
  • Build the code

Install general development tools (clang, make, git)

Open up a terminal and run make. If it is installed already, you should see a message like this, which means that you already have the required development tools installed:

make: *** No targets specified and no makefile found.  Stop.

If it isn't installed yet, you might get a popup like this. If so, click the "install" button to install the commandline developer tools:

Prompt to install developer tools

If you just get an error like this instead of a helpful popup prompt:

-bash: make: command not found

Try running xcode-select --install instead to trigger the popup.

If that doesn't work, you'll need to install the XCode development environment from the App Store. After installation, open up XCode and enter its preferences menu. Go to the "downloads" tab and install the "command line tools" package.

Install cmake

The easiest way to install cmake's command line executable is via Homebrew (a package manager for macOS). Go to their site and follow their installation instructions.

Once Homebrew is installed, type brew install cmake in a terminal to install cmake.

Alternatively, cmake binaries for macOS are available from cmake.org. If you prefer installing it this way, you'd have to manually add cmake's command line binary to your $PATH. Assuming CMake.app has been copied to /Applications, adding the following line to ~/.zshrc would make the cmake command available.

export PATH=$PATH:/Applications/CMake.app/Contents/bin

Ruby

Ruby is installed by default on macOS.

Checkout INAV sourcecode through git

Enter your development directory and clone the INAV repository using the "HTTPS clone URL" which is shown on the right side of the INAV GitHub page, like so:

git clone https://github.com/iNavFlight/inav

This will download the entire INAV repository for you into a new folder called "inav".

Build the code

Assuming you've just cloned the source code, you can switch your current directory to INAV's source try by typing:

cd inav

Inside the INAV directory, create a new directory to store the built files. This helps keeping everything nice and tidy, separating source code from artifacts. By convention this directory is usually called build, but any name would work. Enter the following command to create it and switch your working directory to it:

mkdir -p build && cd build

Now we need to configure the build by using the following command:

cmake ..

This will automatically download the required compiler for INAV, so it might take a few minutes. Once it's finished without errors, you can build the target that you want by typing make target-name. e.g.:

make -j8 MATEKF722 # Will build MATEKF722 target

A list of all the available targets can be displayed with:

make targets

Once the build completes, the correspondent .hex file will be found in current directory (e.g. build) and it will be named as inav_x.y.z_TARGET.hex. x.y.z corresponds to the INAV version number while TARGET will be the target name you've just built. e.g. inav_2.6.0_MATEKF722.hex. This is the file that can be flashed using INAV Configurator.

Updating to the latest source

If you want to erase your local changes and update to the latest version of the INAV source, enter your INAV directory and run these commands to first erase your local changes, fetch and merge the latest changes from the repository, then rebuild the firmware:

git reset --hard
git pull

make target-name # e.g. make MATEKF722