- Create CMakeLists.txt that wraps PlatformIO commands as CMake targets - Remove CMakeLists.txt from .gitignore to track the wrapper - Update CLION_BUILD.md with UI-based build instructions - Provides build targets: pio_build, pio_clean, pio_upload, pio_monitor - Adds per-environment targets: build_tasmota, build_tasmota32, etc. - Includes source indexing for CLion code intelligence Now you can build directly from CLion's UI using the build dropdown and hammer icon instead of terminal commands. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2.5 KiB
Building Tasmota in CLion with PlatformIO
Setup Complete
PlatformIO CLI has been installed and a CMake wrapper has been configured to integrate PlatformIO with CLion's native build system.
Building from CLion UI
CLion will now show PlatformIO targets in the build configurations dropdown:
- pio_build - Build the default environment (tasmota)
- pio_clean - Clean build files
- pio_upload - Upload firmware to device
- pio_monitor - Open serial monitor
- build_tasmota - Build tasmota environment
- build_tasmota32 - Build tasmota32 environment
- build_tasmota-minimal - Build minimal environment
- build_tasmota-sensors - Build with sensors
- build_tasmota-display - Build with display support
- build_tasmota-ir - Build with IR support
- generate_compile_commands - Update code intelligence
Simply select a target from the dropdown and click the Build button (hammer icon) or press Ctrl+F9.
Building from CLion Terminal
You can also use the embedded terminal in CLion (View → Tool Windows → Terminal):
List all available environments:
pio run --list-targets
Build a specific environment:
pio run -e tasmota # Build standard tasmota for ESP8266
pio run -e tasmota32 # Build for ESP32
pio run -e tasmota-minimal # Build minimal version
Clean build:
pio run -e tasmota -t clean
Upload to device:
pio run -e tasmota -t upload
Monitor serial output:
pio device monitor
Code Intelligence
The compile_commands.json file has been generated for CLion to provide proper code completion and navigation.
The CMake configuration includes a generate_compile_commands target to regenerate it, or use:
pio run -t compiledb -e tasmota
Available Environments
See platformio.ini for the full list of build environments. Common ones include:
tasmota- Standard ESP8266 buildtasmota32- Standard ESP32 buildtasmota-sensors- Build with sensor supporttasmota-display- Build with display supporttasmota-ir- Build with IR support
How It Works
The CMakeLists.txt file is a wrapper that:
- Defines custom CMake targets that invoke PlatformIO commands
- Provides source file indexing for CLion's code intelligence
- Integrates PlatformIO with CLion's native build system
- Allows you to use CLion's build UI instead of terminal commands
The actual compilation is still done by PlatformIO, but CLion can manage it through the CMake interface.