How to set Eclipse for cmake project? - c++

I have c++ project with cmake, for building it,i wanted to integrate the project in eclipse ide in linux?And i also googled for the same,but didn't get appropriate answers,Please help me with the same.Thank you in advance.Other IDE are also ok,with steps to import the project without ant errors.Thanks for the help in advance.

The cmake4eclipse Eclipse plugin from the Eclipse marketplace is able to create makefiles (or other buildscripts; it is your choice) from your CMakeLists.txt and build your Eclipse project. Once configured, there is no need to manually run cmake -G "Unix Makefiles". Project settings are stored in the .cproject file and taken from your CMakeLists.txt.
It integrates to CDT, so using the plugin, You should be familar with CDT`s project preference pages (which may be confusing).
To have syntax highlighting in CMakeLists.txt, try cmake-editor.
DISCLAIMER: I am the author of cmake4eclipse.

Using CMake you can generate a project for Eclipse and then open it in the IDE. CMake will be called automatically to regenerate project if you make some changes at that level.

Related

Specifically use make instead of ninja when importing cmake project in KDevelop

I am trying to set up a c++ project I am working on in KDevelop, since it looked like an interesting IDE. For this project I am using cmake and make, but for some reason when I import the project using the CMakeLists.txt file it is setting up the KDevelop project to use ninja. I haven't been able to find any way to switch the project to using make, either online or just by digging through the menus. Is there any way to do this?
The relevant setting is Settings -> Configure KDevelop -> CMake -> Default generator.
If the build directory is already configured with -G"Unix Makefiles" (or another generator) when you import the project, KDevelop should detect and use that backend regardless of the default.

Eclipse doesn't see include files when checking syntax but does when building or running the application

I started with building my project with CMake by using the cmake <folder> -G"Eclipse CDT4 - Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug command (I'm using Ubuntu 14.04). Say the results were written to /home/student/tempFolder/HelloFrameworkApp folder.
The thing is that I have header files needed for he application in /home/student/git/fagot/sw/branches/head/framework/include folder. This is also described in CMakeLists so after I import my project from /home/student/tempFolder/HelloFrameworkApp to Eclipse as existing code as makefile project, it can successfully be built and runs just as expected.
But in the code edit area there are tons of red underlining which makes it clear that Eclipse can't see the include folder I mentioned before. I tried going to Properties -> C/C++ General -> Paths and symbols and adding that include folder to all configurations and languages but it didn't help.
Any suggestions?
CMake creates an Eclipse project for you. Therefore you need to use: Import->General->Existing Project into Workspace.

Import non-cmake GitHub project in CLion

Checking CLion help https://www.jetbrains.com/help/clion/2016.2/importing-existing-non-cmake-project.html I see how to import a non-CMake project into CLion.
And I'm also able to clone a project from GitHub https://www.jetbrains.com/help/clion/2016.2/cloning-a-repository-from-github.html
The project https://github.com/quickfix/quickfix uses ./bootstrap and ./configure to setup a makefile.
What I'd like to do is import that makefile into my CLion project and build and run from that. Is this possible?
While it is possible to "import a project" that's not CMake-based into your CLion project, CLion does not itself directly support using Makefiles as an origination point for a project yet. I know that this is something that has been wanted by many people, and as far as I know, the creators of CLion are at some point planning to integrate some support for this.
In the meantime, however, there is no handy way to do this directly. CMake is a build system configurator, in that it generates its own set of Makefiles to build everything, based on the things you write in your CMakeLists.txt file.
Your best bet, should you want to use the quickfix lib in a project of yours, is to learn the CMake process for building an external dependency, and then linking it to your project. A good blog post on such a thing can be found here. If you simply want to work on changes to it in CLion for your own convenience, but keep the original build files, you could just have CLion generate its own little CMakeLists.txt file for the purposes of importing and color-coding everything, and then set your debug config, etc to point to the binaries generated by running make in the command line.
Long story short, there's no easy way to do what you are talking about directly, but depending on your intended purpose, there are a couple of alternate paths to a similar end. Hope this helps!
Support for Makefiles has been added to CLion, however, the feature is (as of writing) still in early development.
This feature allows for a CLion project to be created by selecting File > Open from the main menu and then selecting the top level Makefile for the project.
More details of the feature can be found here: https://www.jetbrains.com/help/clion/makefiles-support.html

How to debug external .cpp files on Eclipse CDT ( C++ )

I have big project in directory "project". I build this project using cmake into another directory "build". For coding I try to use Eclipse, but when I try to import my code into Eclipse ( File->Import->C/C++->Existing Code as Makefile Project ), of course I can import only "build" directory without "project" ( because make file are in "build" and "project" is empty for Eclipse ).
When I run my build in debug mode, I can debug only binary data, because debuger can't seen sources in "project" directory. How I can setup debuger for use sources from "project" directory? Thanks if some one answered!
import your Project (rootdir not build) as MakeFile Project into the Workspace (select GNU Toolschain or Linux GCC). Now open your project properties -> c++ build and select the build folder inside your project.
Now you can compile it and create a new run configuration for debugging.
Greez ZuSe
Edit:
I assume your rootfolder looks like this
cmake/
CmakeList.txt
src/
dep/
../
now you create a folder build
you switch to build and run cmake cmake ../ -flags (no eclipse-project, use default gcc)
After you have done this u can import your rootfolder to eclipse cdt and select root/build as build folder. Where is the problem? Eclipse CDT only wants to now where the makefile is at buildtime (thats why you manually need to select the buildfolder)
You do not need sources in your workspace to debug the application if you built the application on your system - build directory & paths are in your executable debug information.
Make sure you pass -g both to the compiler and linker.
Try command-line GDB - it should find sources as well.
You may setup custom source mapping in the Eclipse CDT debugger when setting up the launch configuration - but I believe this is mostly for cases when sources were moved after you built the application or if you built on another system.
Here is how i do it, step by step. It is a simple cmake project i downloaded from github.
Works like a harm.
imagebam.com http://thumbnails101.imagebam.com/23645/1e5c42236445850.jpg
imagebam.com http://thumbnails101.imagebam.com/23645/64cb47236445860.jpg

Cmake support in Eclipse

According to this, I have 3 options to use cmake in Eclipse CDT for C++. None of them works.
The first is because I use out-of-source builds and the limitations of the generator is so lame. Also, it uses a hardcoded Eclipse project template, so it is fragile like hell. The second is the poor man's version of cmake support. It does not add any value to Eclipse, really. The third one simply does not work. I can't make an existing cmake project. I can create a new one, but not opening an existing one. Also, the cmake properties in the project properties windows throw an exception and that's it. Does not even show up.
Is there any GOOD support in Eclipse for cmake? Or any other powerful IDE? Like adding the CmakeList.txt and the corresponding project is created? I am mainly interested in having the proper include paths and the global make targets based on the cmake files. And of course it would be nice to have syntax colored editing of cmake files, etc.
We successfully use both Eclipse CDT and Qt Creator with a large CMake based project.
For Eclipse, we usually use option two exactly as described. There is also a CMake Eclipse plug-in called CMake Editor for syntax highlighting and command completion.
Personally, I am using QtCreator. It has quite good CMake support and is very fast. You should initially configure your project with the CMake GUI (using the Make or NMake Generator) and then open your top-level CMakeLists.txt file in QtCreator and point it to your already configured binary directory.
Have you taken a look at Qt Creator? It might have the features you are looking for.
I use CMake GUI for generating CDT project or Unix makefiles and then import it via Eclipse.
Also I use KDevelop 4 because it simply opens CMake projects and tightly integrates CMake support.
Congratulations, CLion http://www.jetbrains.com/clion/ new C++ IDE with CMake well integrated. See its features https://www.youtube.com/watch?feature=player_embedded&v=MY_Z90Tj6is
I tried all three and have found option 2 to be the only useful one. Option 1, the cmake CDT generator, is useless. I cannot get option 3 to work either.
Yes, option 2 is the "poor man's version" insofar as you must follow a series of steps when setting up a new project, rather than pressing a single button. But I have had good success with it for many projects in the past year. Like you, I always do out of source builds.
Also, to get syntax coloring of CMake files, use the excellent CMakeEd plugin for eclipse. It's beautiful.
CDT has official CMake support plugin currently. You can find through Help->Install menu of Eclipse.