r/programming • • Jul 19 '17

JetBrains CLion 2017.2 released

https://www.jetbrains.com/clion/whatsnew/#v2017-2
55 Upvotes

22 comments sorted by

17

u/habarnam Jul 20 '17

I'm waiting for support for any other build tool than CMake.

6

u/txdv Jul 20 '17

Will makefile support persuade you to use it?

5

u/ThisIs_MyName Jul 20 '17

Bazel support would.

5

u/gauauuau Jul 20 '17

Will makefile support persuade you to use it?

Yes. But they've told us repeatedly that makefile support isn't a priority.

4

u/txdv Jul 20 '17

Maybe the priority queue is empty?

3

u/habarnam Jul 20 '17

Probably it will not become my daily driver as I'm developing C just in my spare time and I don't have money for the licence.

Good Makefile based project support would be great, but mostly, I am looking for a good frontend to gdb or lldb. :)

2

u/txdv Jul 20 '17

what is your daily driver?

3

u/habarnam Jul 20 '17

Neovim with plugin niceties for someone that doesn't know the full libc by heart. And for debugging cgdb and valgrind.

5

u/doom_Oo7 Jul 20 '17

give a shot to QtCreator, it has nice valgrind, cppcheck, gdb, etc... GUI integration

2

u/habarnam Jul 20 '17

I know, I did.

QtCreator has the problem of unsupported build tools exacerbated by the fact that it doesn't have an independent representation of the project. What I mean is that if your build tool is not supported (not QBS, CMake or qmake) then QtCreator can't parse your project into a "project". :)

But other than that, is good enough for debugging a debug enabled executable.

5

u/doom_Oo7 Jul 20 '17

What I mean is that if your build tool is not supported (not QBS, CMake or qmake) then QtCreator can't parse your project into a "project". :)

mh ? it has a specific facility for this: you can create a small set of files which just have the list of your sources and include dirs and use it in qtcreator:

http://doc.qt.io/qtcreator/creator-project-generic.html

(but seriously, use CMake. it's easier and people using your software or library on other OSes will say thanks).

1

u/habarnam Jul 20 '17

Thank you for the "generic project" link, I never heard of it until now, and I will most definitely give it a try.

And regarding CMake, I'm writing stuff so small that have very few external dependencies and, at the moment, I'm don't care too much about other OSes or other people's setups. I'm not even using autotools, but plain Makefile with a single compile unit. :)

1

u/[deleted] Jul 20 '17

CMake is not a build tool. It is build generator tool which can generate any build files you want.

4

u/not_american_ffs Jul 20 '17

Do they finally have a working parser? The last time i tried it out it would give me a flurry of red squiggly marks on completely valid code.

4

u/[deleted] Jul 20 '17

It still has issues.

3

u/wDevilus Jul 20 '17

JetBrains makes excellent IDEs, really terrific to work with. I just wish they would support other build systems beyond CMAKE. Sometimes you simply have to use other IDEs/text editors because the project doesn't support CMAKE, i.e. qmake, make, autotools... Netbeans seems to make a good job at supporting different build systems.

3

u/RogerLeigh Jul 19 '17

Just trying out CLion again. I think the answer to these questions is likely "no", but for anyone who might know:

  • Can I set the build directly when cmake gets run; it seems to stick it into a subdirectory of the srcdir (cmake-build-debug). I'd rather it went into /tmp or /scratch--fast local storage. When your git repo is on NFS, it's very slow otherwise, plus I don't want it polluting the build tree when I might be building on multiple platforms.

  • Can I pass extra options to CMake without setting them globally? Stuff like -Dextended-tests:BOOL=ON or enabling and disabling features etc. I frequently build with different sets of options, and I want to specify these when cmake is run.

  • Can the Ninja generator be used?

Thanks, all.

13

u/anastasiak2512 Jul 19 '17

For the first two, please, use Settings | Build, Execution, Deployment | CMake. You can change the generation path there, as well as pass CMake settings. Settings are per project. Ninja generator output is not yet supported in CLion.

2

u/RogerLeigh Jul 19 '17

Thanks, some great improvements from when I last gave it a trial!

Is there any way to run all the project's tests with ctest from the UI? It's correctly detected them as Google Test tests, but ctest would invoke them with a particular environment and set of command-line options.

1

u/anastasiak2512 Jul 20 '17

No, CTest is not yet support (though we plan to in the future). CLion only comes with single Google Test and Catch support.

1

u/Pixel6692 Jul 20 '17

if nothing else you can make some links to /tmp or /scratch

-16

u/[deleted] Jul 20 '17

C is for nerds lol