New CLion EAP: Boundless opportunities of CMake at your fingertips

Anastasia Kazakova

Hi everyone,

As many of you know already we are planning to release CLion 1.0 in Q1 2015, thus it’s time for another EAP build with new features and important bug fixes.

In this build we’ve introduced a new feature following the top-voted requests in our tracker. If you open Settings/Preferences menu and select ‘Build, Execution, Deployment’, you’ll see a new page there called CMake:
cmake_pref

Here you can:

  • Allow CLion automatically reload your project during editing.
  • Pass any variables to the CMake command.
  • Or any system or custom environment variable of your choice.
  • Specify build options (if nothing is specified, the default setting -j is used) or build output directory.

Pay attention, that these settings are valid for the current project only.

Other noticeable changes include:

  • Project is now reloaded automatically in case of toolchain changes.
  • #ifdef branches can be folded/unfolded now.

The full list of changes can be found in our tracker. Latest build is available on our EAP page.

Looking for tips’n’tricks? View playlist with product related videos on YouTube. Or follow us on twitter.

Sincerely yours,
The CLion Team

Comments below can no longer be edited.

35 Responses to New CLion EAP: Boundless opportunities of CMake at your fingertips

  1. Viacheslav says:

    January 20, 2015

    Great news! Most important thing!

  2. wl.nicholas says:

    January 20, 2015

    Very excited that 1.0 is about to come out, finally.

  3. milo hoffman says:

    January 21, 2015

    That’s definitely great, but i think the most important problem for now is performance issues. Hope 1.0 will work fast.

    • Anastasia Kazakova says:

      January 21, 2015

      If you observe them please report to the tracker. We are working continuously on performance, but need to now the samples where the IDE is working slow.

  4. Abhinav Gauniyal says:

    January 22, 2015

    Clion still dosen’t respects any code changes I introduce in my cmakelists.txt file. For example , “set(CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/build)” , dosen’t works and no build is visible in build directory. Output in clion shows that it still gets generated in cache directory. But putting it in new settings option does builds new exe in build directory.

    • Abhinav Gauniyal says:

      January 22, 2015

      Moreover , changing cmake cache ( View-> Tool Windows -> Cmake ) and then saving it , does nothing. The previous old cache directory returns again.

      • Anastasia Kazakova says:

        January 22, 2015

        To apply changes in Cache press “Apply changes and reload” button. It it doesn’t work, report an issue to our tracker please: https://youtrack.jetbrains.com/issues/CPP

        • Abhinav Gauniyal says:

          January 27, 2015

          Yes , I have already tried pressing “Apply changes and reload” numerous times and as I said , it reverts back to some random cache directory.
          Regarding CMake page in Settings , it works but I have to manually set it for each project.

          As from an IDE , I expect it should take care( manage) of my cmakelists , while smartly choosing my preferred changes over clion’s default( something like Visual studio does ) . Also , not a lot of machines have 8 gb of ram and 8 core of cpu’s. Particularly in my case ( 4gb – intel corei3 2.50ghzx4 ) , even auto completion lags so much that Clion is beyond usage. Moreover those processes that fire up at start ,something like loading symbols… , take almost 20-30 seconds at every load.
          For now , a basic text editor like sublime seems more productive over clion. I’ll be looking forward to clion when it’s released as stable.

          • Anastasia Kazakova says:

            January 27, 2015

            With CMakeCache could you please attach a simple sample to the issue in our tracker: https://youtrack.jetbrains.com/issues/CPP and describe the steps you are trying? We’ll try to help you with this.

            Which parameters on CMake settings page can be IDE-general from your point of view?

            As for the build options, if nothing is specified, the default setting -j is used. If you experience performance problem then try to send us a CPU snapshot (this is how to provide it: https://intellij-support.jetbrains.com/entries/29983118-Reporting-performance-problems). Loading symbols still can take some time to load all the information about the project so that you can use the intelligent features of the CLion.

    • Anastasia Kazakova says:

      January 22, 2015

      You can set a build dir on this CMake page in Settings. Have you tried it?

  5. oreak says:

    January 23, 2015

    Yes,very excited for 1.0 coming . I wonder if clion will introduce a feature that I can see the assembly code when debuging.

  6. Mikhail says:

    January 30, 2015

    Many users wants to specify their own cmake build directory (also known as cmake cache directory). But it is not possible because CLion is designed to have build directory always in CLion cache dir “.clion”.

    This is very pity, cause you cannot add CLion to existing project workflow. You have two options:
    1.
    1. have two different builds: normal build (as you was working before CLion) and CLion’s build for some parts of you project (in most cases you need new CLion setup for each part of project)
    2. use CLion only as source code explorer, something like “write code in CLion, then copy it to separate folder and build there using your current tools”

    More about this here: https://devnet.jetbrains.com/thread/460084?tstart=0

  7. Mayukh Sarkar says:

    February 2, 2015

    Every time Clion releases its EAP version & I get disappionted on two simple things.
    1. Capability to build using my own Makefile & bypass CMake.
    2. Make it bit light weight..Although its an IDE not an editor but some features can be made optional because not everybody needs that..It should be as light as when I press arrow keys to move my cursor, there should not be any delay, or any delay during autocompletion popup..
    3. Some features are still absent like multiple cursor, class creator or help on features..Moreover support for boost, c++11/14 standards..

    I like Clion very much because it provides awesome autocompletion features but it needs to be fast & nifty..

    • Anastasia Kazakova says:

      February 3, 2015

      Hello,

      We are sorry you are disappointed. Let me still comment the points one by one:

      1. We are not going to provide Makefiles support earlier than 1.0 is release, we’ll consider other build systems later. We do believe CMake is a powerful system and very popular now. You can find our view on it in this post: https://blog.jetbrains.com/clion/2014/09/cmake-vs-the-others-round-1/

      2. We are working on performance continuously, and in case you observe lags in editor, please, send us the CPU snapshot (this instruction can help you to prepeare it: https://intellij-support.jetbrains.com/entries/29983118-Reporting-performance-problems).
      You can also switch off inspections (they try to find problems in your code on-the-flight and suggest you quick fixes). This can be done for some inspections in particular (in Settings | Editor | Inspections), for example DFA can be switched off to make editor performance probably better, or just in Code | Configure current file analysis – switch to Syntax or None level there.

      3. Multicursors are there actually (look through this post for AppCode – https://blog.jetbrains.com/objc/2014/08/do-several-things-at-once-with-appcode/, in CLion they work in the same way). Webhelp describing IDE features will be released together with the 1.0 version.
      Create class feature is also on its way to 1.0 release. C++14 is planned for later (won’t come to 1.0 for sure). And what features from C++11 are you missing in the current EAP?

  8. Artur says:

    February 4, 2015

    Hey, I’m glad that I can use your IDE yet before the release. I’m using a 0.5 years old 600€ notebook running with Archlinux and don’t have performance problems (or they are not significant for me to notice). The only things I can critisize is the build directory issue, but that was mentioned before me a couple of times and I’m sure that will be changed in the next release. I look forward for more amazing tools from you. Keep on going, guys (and girls of course) 🙂

  9. Andrey M. says:

    February 13, 2015

    I have typed in a lengthy response and it has vanished due to server unresponsiveness.
    Overall sense – I’m highly dissatisfied. The only thing that works for me is “goto declaration”, “goto class/file” (not always, sometimes files in project hierarchy are not visible by name but can be opened via references and “goto declaration”).
    Apart from that I’m experiencing huge lags and complete freezes.

    • Anastasia Kazakova says:

      February 13, 2015

      We are really sorry you are not happy with the CLion. Please, check that all the source and headers files are in project from the CLion’s point of view, otherwise they are greyed out in the project tree. Most probably this is the source of the problem. Files need to be pointed as source files in CMakeLists.txt. If they are in project and some goto actions are still not working, is it possible to share a project to us (to our support clion-support@jetbrains.com) or create a sample project to reproduce the problem?
      With the freezes, first check CLion has enough memory for your project – switch the memory indicator on in Preferences/Settings -> Appearance & Behavior -> Appearance -> Show memory indicator. If it’s not, then try to increase the xmx (follow the instruction here: https://intellij-support.jetbrains.com/entries/23395793-Configuring-JVM-options-and-platform-properties). If it’s sufficient amount of memory but lags & freezes are still there, then send us a CPU snapshot (https://intellij-support.jetbrains.com/entries/29983118-Reporting-performance-problems). This can help us to investigate and fix the problem.

      • Andrey M. says:

        February 13, 2015

        Unfortunately I can’t share the project, I’ll try to reproduce the code intelligence issues I’m experiencing in a minimalistic project and will let you know.
        I will also try to check memory usage and capture some snapshots when I’m back to work.

        How is it possible that some files are not visible from CLion’s perspective if it uses the same CMakeLists.txt I am using for building?

        • Andrey M. says:

          February 14, 2015

          Wait, you’re stating that I should add header files to CMake target source files along with implementation files? Is there a way to do that automatically?

        • Anastasia Kazakova says:

          February 14, 2015

          It maybe headers, that are not included from the CLion point of view. Still it can be built successfully in that case. We are going to fix it later anyway.

  10. pierre says:

    February 14, 2015

    The previous CLion EAP build was fast enough to work with. This new build is much slower, and gets stuck more often. I’m using CLion since the first EAP build, and this release is a big step backward in term of speed, and usability.
    Note: I have even disabled all the code analysis features.

  11. Vic says:

    February 15, 2015

    I can’t believe how well 1.0 is shaping up to be. Fantastic work. Amazing work!

    But please focus on the debugger – not being able to easily see inside std:: containers, etc, is just so 1990’s.

    • Anastasia Kazakova says:

      February 16, 2015

      This is fixed in the latest EAP. Please, try and report in case of any issue.

  12. Andrey M. says:

    February 18, 2015

    Are there any plans to fix auto-complete for template symbols where type deduction is impossible?
    It works for casts, but they’re builtin, I expect that typing “std::make_sh” and pressing C+ will automatically add a pair of angle brackets, but at the moment of this writing the result is:
    “std::make_shared(…)”
    The fact that the first template type parameter cannot be deduced is established pretty easily.

  13. Ries says:

    February 18, 2015

    Very happy about cLion and I am looking forward for 1.0!
    It’s still slowish at some odd’s and ends but overall vast enough for may daily c++ fun.

    There is currently one item that simply freezes cLion and it’s impossible to do anything then ‘Force quit’ it. Hopefully that will be solved in 1.0.

    note:c++ is not my daily bread so I properly don’t mis some of the advanced features.

    • Anastasia Kazakova says:

      February 18, 2015

      Great to hear that.
      Could you please describe the case with freeze in our tracker?

  14. George says:

    March 5, 2015

    I’m trying to import a very large C project and the IDE stays at Loading CMake project forever and options like Find Usages doesn’t work..

    • Anastasia Kazakova says:

      March 5, 2015

      Could you please switch on the memory indicator in settings (Appearance & Behavior | Appearance) and check if there is enough memory for CLion. CMake cmd needs to be run on the project for CLion to get all the appropriate information about project files, options, includes paths, etc. That’s why Find Usages doesn’t work before it finishes.

  15. Alex says:

    July 20, 2015

    I try to pass the CC and CXX env variables in this way to use gcc instead of clang, but when I run ‘debug’ I still get errors from clang being run!

    • Anastasia Kazakova says:

      July 20, 2015

      Try to pass the following parameters in Preferences/Settings | Build, Execution, Deployment | CMake | CMake options:
      -D CMAKE_C_COMPILER=
      -D CMAKE_CXX_COMPILER=

      Check that corresponding CMake cache variables will be overwritten correctly in CMakeCache tab of the CMake tool window after CMake finishes reloading.

Subscribe

Subscribe for updates