Contents

juce-cmake-template: Modern CMake for JUCE Projects

Why I Built This Template

I am not a fan of Xcode. There, I said it. As someone who prefers VSCode for development, I was tired of being forced into Apple’s IDE ecosystem just to work with JUCE. So I created juce-cmake-template—a modern CMake-based starter that lets you build JUCE projects with your favorite editor.

What You Get

  • Modern CMake: Uses CPM (C++ Package Manager) for automatic dependency management
  • VSCode Ready: Works seamlessly with CMake Tools extension, includes debugging support
  • No Xcode Required: Avoids Xcode project files completely
  • Professional Structure: Separated headers/implementation, asset management, testing framework
  • Multiple Plugin Formats: Supports VST3, AU, and Standalone formats
  • C++20 Standard: Modern C++ features out of the box

Getting Started

Prerequisites

You’ll need:

  • CMake 3.24 or later
  • Xcode Command Line Tools (for macOS): xcode-select --install
  • A C++20 compatible compiler

Quick Build

The easiest way to get started:

git clone https://github.com/juanlittledevil/juce-cmake-template.git
cd juce-cmake-template
./build.sh

Manual Build

If you prefer more control:

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release

Run the Standalone App

open "./build/Source/JuceTemplate_artefacts/Release/Standalone/Juce Template.app"

Or if you’re using VSCode with the CMake Tools extension, just open the folder and hit Configure/Build.

What Makes This Different

Unlike traditional JUCE templates, this one includes:

  • Automated Setup Script: Run ./setup-new-project.sh to quickly configure a new plugin
  • Complete Testing Framework: Built-in unit tests with VSCode debugging integration
  • Asset Management System: Organized directories for images, fonts, audio samples
  • External Library Support: Easy integration of third-party libraries via CPM
  • Professional Project Structure: Clean separation of concerns

Using as a Template

Creating a new project is simple:

cp -r /path/to/juce-cmake-template /path/to/MyNewPlugin
cd /path/to/MyNewPlugin
./setup-new-project.sh

The setup script will prompt you for project details like name, company, and plugin type—then automatically configure all the necessary files.

Why This Matters

Good tooling shouldn’t get in your way. Whether you’re prototyping a new effect or building the next great synthesizer, you should be able to use the tools you love. This template gives you the freedom to develop JUCE projects without being locked into a specific IDE, while providing modern C++ practices and professional project structure.

A Note on Platform Support

⚠️ Important: This template has only been tested on macOS as of September 2025. Windows and Linux support is expected but not yet verified. If you encounter issues on other platforms, please open an issue or contribute fixes!

Get Started Today

Check out juce-cmake-template on GitHub. Clone it, build something cool, and let me know what you create!


Building audio software? Follow me for more JUCE and audio development tips!