C++/C IDE - Cmake - CLion


Anyone here using CLion ? (jetbrains - of intellij)
Im trying it out, but wondered if anyone had more extensive experience with it, so knows of its weakness :wink:

I generally use text editors (vi/sublime) with cmake/make for my (open source) c++ projects, as they need to be cross platform and light (for use on things like rPI)

But sometimes its useful to have a full IDE, e.g. during refactoring, tricky debugging sessions.

I have still tended to avoid though, as I don’t like having to have another set of projects files for the IDE, but Ive just found that CLion, seems to integrate really quite nicely with CMake… so first impressions is, its does a nice job.
(Im familiar with IntelliJ for java projects from a commercial perspective, so perhaps this helps)

any other options that support CMake?

I need support on macOS, Windows, Linux… and I don’t it messing about with my CMake files too much, the project must still be buildable from the command line on a machine that does not have the IDE (e.g. CLion) installed.


QtCreator supports CMake. A few of my professors used it even for non-Qt projects. It’s open-source and supports all of the operating systems that you listed.

EDIT: CLion is very, very nice though. Which weakness is making you look elsewhere?


thanks, not really considered QtCreator outside Qt, but seems interesting. will take a quick look.

yeah, my initial thoughts also are its looks great

my thoughts were simply, with all tools/ides after a while , you often find little things you are not so keen on… so wondered if others had stumbled on those… I’m sure I can live with them, just like to go in knowing what they are…
I find, IDEs , like DAWs you invest quite a bit of time getting used to them, e.g. keyboard shortcuts, so its the time investment, rather than the cost… ( I could possibly get an open source license, and even the individual license is very reasonable)

but its odd, Id not heard much about CLion… I guess most stick to platform IDEs (xcode/msvc), or Eclipse (which i have an issue with, due to its project files)

anyway, I’m using a 30 day trial, initial project import, debugging and refactoring session on macOS was pretty good, so its definitely looking promising :slight_smile:


Is it free for open source projects? Intellij licensing confuses me. Also I say intellijel in meetings sometimes when someone brings up intellij. #modularproblems


yes, you can apply for a free license if you run an open source project, but there are ‘constraints’ and you have to apply each year… see here
conditions are not onerous, though, honestly for the cost of the individual license, I’m not sure its worth the hassle , for a single developer.
I suspect its mostly useful, if you want to provide licenses for many developers on the open source project… I need to check this, as this might be a reason for me to apply.


Or maybe we apply collectively for folks using it to work on Monome firmware.


that would be cool… haven’t tried clion, but jetbrains other stuff is best-in-class.


Projects that are sponsored by a commercial company or organization, or those with employees paid to work on the project are not eligible

so i dunno.


@tehn - are you ok if we email Intellij and invoke monome to see if we can be approved for their open source license program?


been using a CLion quite extensively for last few days and have to say I really like it, and decided to stick with it.

so, for one of my open source projects (MEC) I applied for an open source license, and they granted within a couple of hours , effortless/painless very simple form to fill in, definitely worth the minor effort involved :slight_smile:

(you get a full toolbox license, so all products including IntelliJ/CLion, valid for a year, and you just re-apply at end of subscription)

basic process is, get the Project Owner/Lead to apply, they take a look at your repo/license etc, and then it seems they will then grant a number of licenses for ‘active’ contributors.

for active contributors, one thing was a bit unclear, it looked like with my project, they only looked at the active/default branch (probably they just use the GitHub insight page), as they didn’t count one of my contributors, who has been working on a separate branch. though, Im sure you can probably discuss this with them if necessary.
(though, I can just merge his work, which was planned anyway… then ask them for an additional license)

anyway, hats off to JetBrains for supporting open source projects :beers:


go for it. worth a shot.


Submitted a request today. I think we’re probably going to be rejected because of their not for companies restriction, but figured monome is novel enough and committed to open source enough that they might make an exception. /shrug


well, the lines community is not a company (?)

maybe this is a problem with nomenclature. teletype is open source. i need to get around to cleaning up the schematics and release the hardware side, then maybe that’ll be even more compelling?


the relevant agreement term is:

from here

the unclear bit here, I think is, ‘Your OS project’ , it raises the question, does Monome own the project…

Id have thought, its worth discussing with them, for unpaid contributors on a ‘small’ project, seems a reasonable request.


Good points from both of you (@tehn / @TheTechnobear). I agree with you both. We’ll just need to see who we get to evaluate the request. I haven’t heard anything back from them yet.


Speaking for the Teletype code base (and libavr32), I don’t think any single entity owns it anymore. No copyright assignments have been asked for (or given), so it ‘belongs’ to each of the contributors.


yeah, that crossed my mind… when I said ownership, my mind immediately questioned what does ‘ownership’ mean in the world of open source?
(where someone can fork a repo, and then redistribute)

my guess/understanding is… there is always an original source/repo, and there, someone decided on the licence, so I guess that entity is the owner. even if contributors own their own contributions (*).

I’m sure there is a technical meaning/definition somewhere… but I’m more interested in ‘popular understanding’.

(*) does a contributor always own their contribution - even then seems clear for a new file, but a change, is this some kind of ‘percentage change’… when is something significantly different?

(funny I contribute to open source projects, make my own projects open source, but I think often I don’t understand many of the implications :wink: )

as an aside, I know that Eigenlabs (Eigenharp) were keen to transfer the ownership of its open source codebase over to a new ‘trust’ , but it never happened, due to the legal efforts needed to do this transfer.

in todays world, does someone/something have to always own a thing (like software)?
can it be un-owned? managed by a collective with no legal entity?


I’m interested in answers to this.
Seems like someone always comes along to say “this is here?, it must be mine”.


I think ownership is also insisted on by ‘others’ i.e. where does liability lie?


Unfortunately, all too often, issues and concepts around ownership in open source projects end up being determined by the mechanics of source control management systems (rather than via explicit public decision making).

Open source is not necessarily a democracy. That much is clear. What it is instead is frankly quite a bit less clear, and can vary wildly from one project to another.


agreed @jasonw22 and as such I don’t have an issue with this… I think open source tends to be more about what you can do with the code… rather than transferring ownership to the ‘world at large’.

(not saying the later is a not a great goal, just doesn’t seem to be the aim of open source)