Too Hard to Create a Cmake Project?

CLion currently uses CMake as its project model, so supporting CMake would mean also supporting CLion.

However, we probably won't invest the effort required for adding CMake project generation to Introjucer just yet. The Introjucer itself is already a solution for generating cross-platform project files. CMake is another one. Imagine that you would use Introjucer to generate CMakeLists - then you would in turn use CMake to generate Xcode/Visual Studio/etc. projects from that... Does not seem like a very good workflow.

CLion itself seems to be a nice IDE. So in order to add support for that, maybe it would be better to see if CLion could eventually support other project file formats besides CMake.

Well it's rather the other way around... CMake allows you to generate Visual Studio projects (as well as Xcode projects, Makefiles...) from platform-independent CMakeLists.

So I'd say it's unlikely that there will be such a utility.

Some conversion tools:

http://stackoverflow.com/questions/6649606/vcxproj-to-cmake

 

+1 for CLion project (CMake) generation from the Introjucer.

Go on.  Do it.  CMake for CLion.  Xcode is driving me nuts :) 

 

Though, this: http://sourceforge.net/projects/vcproj2cmake/ maybe?  I might have a go...

1 Like

If you search on github for "juce cmake" you'll get several hits.

This looks like the easiest to use : https://github.com/teragonaudio/CMakeJuce

 

I haven't tried it out yet. The author is active on this board though.

Now, i have tried it out. I could compile the JuceDemo in Clion on Ubuntu after cloning the CMakeJuce project into

the Builds folder and creating 2 files as per instructions on the page. Works great!

 

Creating the CMakeLists files could be automated with a script easily, its just a little boilerplate.

 

+1 again -  really interested to try out CLion... 

Okay - so I've done it.  That github project worked just fine.  Thank you to whoever did that. 

CLion - 

  • Editor, refactoring ... amazing. omg.  etc. 
  • Distraction free mode - awesome.
  • Debugger integration kinda working but a bit slow unless i remove my gdbinit file (the console output is mega laggy and makes stepping through painful if the gdbinit file displays much text). 
  • Compiling seems sound... 

Going to stick with it for some projects for my 30 day evaluation and see how it goes. 

Well - the real pain is that if you dont' specify copy source files then it doesn't make all the auto-lookup stuff work...

cMake would also mean allowing to export for qt Creator, which is not a bad IDE at all!

I quite like its simplicity, I've only used it for one project but I enjoyed the experience, particularly that it looks the same on all platforms - let alone that it EXISTS for all platforms :)

I automated it and submitted a pull request back - but there are real problems with finding symbols if the juce source files aren't copied across to the project, and a few related bugs with includes inside namespaces in CLion.  I hope for good things, but the wrinkles need ironng out :)

How do I make a open a JUCE project in CLion? I downloaded this Python script that automates creating the things necessary from Teragon Audio's CMakeJUCE. I'm not really sure what to do after that though. Has anyone succesfuly opened a working project in CLion? 

By the way, here's the Python script that downloads and creates the CMakeJuce files when run from within project created by the Introjucer.

https://gist.github.com/alexgustafson/4df824c0654056e18b9e

It seems like a really great IDE and I'd love to use it on other platforms like Linux (I'm a Windows guy). I just need to figure out how I can generate projects created from the IntroJucer that will workwith CLion and how to use them. I'm a student so I was able to get CLion for free, so I'd like to use it.

You could try https://github.com/seebk/JUCE

It is a fork of JUCE which has an exporter module for QtCreator projects.

As already posted earlier, CLion seems like a great IDE, but unfortunately at the moment it is not on our immediate roadmap to add a CMake exporter directly into the Introjucer.

You definitely need to rethink your roadmap.

cmake_minimum_required(VERSION 3.3) 
project(myproject) 
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") 
add_custom_target(helloWorld COMMAND cd /path/to/project/Builds/LinuxMakefile && make)

^ Cheating... YMMV. I'm sure there's a better way but my CMake foo is... well... nonexistant.

Also for what it's worth Jetbrains has already said they're working on supporting other builds systems. I'm sure it's just a matter of time before it works with juce projects pretty much out of the box. Sounds like the juce team has their priorities straight trying to keep the build workflow simple and waiting on JetBrains to support other build systems is the right path.

That would be great if JetBrains supported other build systems and toolchains. Well at least the MSVC compiler and Windows debugger on Windows, like how Qt Creator does it. I don't particularly like MinGW and I only like Cygwin for command line stuff. I love IntelliJ IDEA for Java development and would love to give CLion a real try. I've learned a little bit of CMake while trying to find a good cross platform build solution for the Qt library, so maybe I can finally get it to work with JUCE. It would be great if the IntroJucer could generate CMake files, but I can understand why that's not a goal. 

I also need CMake support.

I don’t want to have a dependency to Projucer to create a project for Visual Studio, CLion, XCode, etc.

For this purpose, we have CMake which allows to create projects for those IDEs. With supportin CMake, you will support many more IDEs I think.

You also wouldn’t have to maintain the different IDE’s versions (like for Visual Studio)

Please add CMake file creation.

3 Likes

+1 Would love to see CMake support.

4 Likes

Wow! I love these dedicated guys! Here we go!

Clion support in Projucer announced

Link on this dead thread provided for people like me who don’t have time to search and hunt for the latest updated info like I just had to after googling this link, finding what seems like a dead end.

4 Likes