Build Arduino sketch

Required libraries

Requirements

Install required packages

sudo apt-get install arduino cmake gcc-avr binutils-avr avr-libc avrdude

Fixing missing openjdk library in Debian Stretch:

sudo mkdir /usr/lib/jvm/java-1.8.0-openjdk-armhf/jre/lib/arm/server
sudo ln -s /usr/lib/jvm/java-8-openjdk-armhf/jre/lib/arm/client/libjvm.so /usr/lib/jvm/java-8-openjdk-armhf/jre/lib/arm/server/libjvm.so

Create a directory for your project

Put the arduino cmake directory inside this directory

Create a CMakeLists.txt and modify it to your needs

cmake_minimum_required(VERSION 2.8)
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_SOURCE_DIR}/cmake/ArduinoToolchain.cmake)
set(PROJECT_NAME ardas)
project(${PROJECT_NAME})
link_directories(${CMAKE_CURRENT_SOURCE_DIR}/libraries)
set(${CMAKE_PROJECT_NAME}_SKETCH ardas.ino)
generate_arduino_firmware(${CMAKE_PROJECT_NAME}
    SERIAL cutecom @SERIAL_PORT@ -b 9600 -l
    PORT  /dev/ttyACM0
    BOARD uno
)

Build and upload to arduino board

Prepare the build

mkdir build
cd build
cmake ..

Compile

make

Upload

make upload

Work in Clion

Copy the .ino file inside this directory and open it with Clion

Edit the configuration

_images/arduino-clion-config.png

Arduino Clion config