CLion 2021.2 EAP: Support for GNU Autotools (Autoconf, Automake) Projects
The new CLion 2021.2 EAP build (212.4638.8) is now available from our website, via the Toolbox App, or as a snap package for Ubuntu. If you are on macOS, there is a separate build for the Apple Silicon M1 chip.
The landscape of Make-based projects is very diverse, so it was hard to cover all of them at once in CLion. When we first added support for Makefile projects, it was limited to certain kinds – the Makefile had to be present in the project directory, which meant all of the preconfiguration steps had to be called manually before loading and opening the project in CLion. Now it’s time to relax this limitation!
CLion now automatically detects GNU Autotools, Kbuild, and PERL MakeMaker projects. When these projects are loaded as Makefile projects, CLion automatically detects preconfiguration scripts and executes them to get the Makefile and load the project from it.
CLion now covers two scenarios:
- If there are configure.ac and Makefile.am in the project, CLion will require GNU Autoconf to be installed in the system (it will search for autoreconf in the system PATH). CLion will generate the Makefile, and use it to load the project.
- If there is a configure script and no configure.ac in the project, it will be called by CLion, and no autoreconf is required.
For example, let’s take Make v4.3 and open it in CLion:
For many projects, that is all you need to open them in CLion!
You can call any additional scripts, like bootstrap, from the built-in terminal, and you can tune additional preconfigure step parameters in Settings/Preferences | Build, Execution, Deployment | Makefile:
As an example, if you open a recent version of the make project from Git in CLion, you need to call ./bootstrap
in the terminal first.
A few known issues are worth mentioning here:
- Interactive preconfiguration step is not yet supported (CPP-25742).
- Makefile projects unnecessarily load twice in some cases (CPP-25621).
The full release notes are available here.
Your CLion team
JetBrains
The Drive to Develop