francoiscampbell / CLionArduinoPlugin

A plugin for CLion that enables arduino-cmake integration.
155 stars 41 forks source link

A new fork for those interested in CLion Arduino development #45

Open vsch opened 6 years ago

vsch commented 6 years ago

If you are interested in using CLion for Arduino development, I forked and rewrote the plugin for my use and released it as a new plugin. JetBrains Plugin Page, Project GitHub Repo

It adds Arduino and sketch and library to IDE's new project wizard instead of separate action, adds a serial port monitor tool window with auto disconnect on build option, parses boards.txt and programmers.txt to show options in dropdown lists instead of having to search for the ids in these files and edit CMakeLists.txt after creation.

It works on CLion 2018 so probably addresses issues #40, #44, #43

Install and create Arduino CMake projects in one click with new project wizard types and view communications with the integrated serial monitor tool window.

:warning: Serial Port Monitor plugin cannot be used with Arduino Support

Both plugins use jSSC-2.8.0 serial library and only one plugin can load the native libraries. Please uninstall or disable Serial Port Monitor plugin before installing Arduino Support.

jeremykittel commented 5 years ago

How does one include an external library for instance, I would like to include all custom libs located in '/Users/jeremykittel/Documents/Arduino/libraries'

'/Users/jeremykittel/Documents/Arduino/libraries/Newliquidcrystal_1.3.5/'

Please advise

vsch commented 5 years ago

@jeremykittel, you need to add to the CMakeLists.txt a line for link directories:

 link_directories(path)

Where path is the parent directory holding your libraries. One caveat is that Arduino CMake recognized libraries when the directory name (xxxx for example) they are in matches the xxxx.cpp and xxxx.h contained inside.

So your Newliquidcrystal_1.3.5 library should have Newliquidcrystal_1.3.5.h and Newliquidcrystal_1.3.5.cpp files in it, otherwise it will not be recognized as a library.

After adding or removing an #include for a library you need to reload CMakeLists.txt in CLion so dependencies are rebuilt.

This was discussed in https://github.com/vsch/CLionArduinoPlugin/issues/2