Yep. Do it all the time. It isn't as integrated as I would like but it does work and work pretty good at that.

Here is how I set up my dev env:
CMake usually likes "out of source" builds BUT Eclipse has some problems if your build products are outside the project directory. I get around this by creating a "Build" Directory inside my top level project directory. This still basically protects the source code from contamination from all the build products. Next, run cmake or CMakeSetup (Depending what Platform you are on) at least once to boot strap the process. This will do the normal cmake things.

Now, back in Eclipse setup a new "Standard C/C++ Make" Project using the top level folder as the Project folder. While you are go through the "New Project Wizard" there will be a dialog with a bunch of tabs, one of those tabs you can control the "Make" command. You do NOT want the default command as it will look for a Makefile at the top level of the project directory. Your Makefile is in "ProjectLocation/Build/Makefile" and so you want to put in your own make command that points to that location. The easiest and most general way to do this is with the following command:

make -C ${project_loc}/Build

The ${project_loc} is an eclipse variable that will find the absolute path to the project.

Basically that is all that is needed. Finish with the New Project wizard and then try "Building" your project. It should all just work.

You can add some more integration by creating a new "External Tool" that reruns cmake on your source directory. Again, go to the "Run" menu, select "External Tools" then "External Tools..." and a new dialog pops up. In the "Location" text field, put the full path to the "cmake" command. On my OS X box this happens to be /usr/local/bin/ cmake. In the "Working Directory" Text field put ${project_loc}/Build and in the "Arguments" section put "../". You can make selections in the other tabs as you see fit. If you go to the "Common" tab there is a check box that will make the command always available in the "External Tools" toolbar item.

So, now when you change your CMakeLists.txt file, you can run this external tool which will rerun cmake. There is a way to have cmake run _every_ time you compile which would obviate the need to manually run cmake each time, but I didn't really like it running for no reason every time. Once I had settled on a cmakelists.txt file I no longer needed it to run every time.

When I want to really "Clean" a project I usually jump to a terminal and do the cleaning and rerunning of ccmake from there. Again, you can setup an "external tool" to do this for you if you wanted. I have never taken the time.

Lastly, The latest official Eclipse (3.2) and CDT (3.2.1) are pretty good and recent hardware (Intel dual cores are great but anything in the last few years is good) but if you have a large C/C++ project the code index can become quite large when dealing with projects like Qt, VTK and ITK. Your project folder will grow to over a gigabyte and the code completion will slow down after a while. You have two choices: Look for files that end with ".pdom" and delete them. This is where Eclipse stores the code completion index. The next time Eclipse starts up your project the files will be rebuilt. This will drop the size but eventually you will have to do this again. The other is to try the bleeding edge eclipse/cdt downloads. I am currently using Eclipse 3.3M5 and CDT 4.0M5 and the code completion is very fast now, the index is reasonably small and the syntax highlighting is just awesome. There are some bugs though as these are not stable releases but I have found them stable enough for everyday use.

Hope all this helps.
--
Mike Jackson   Senior Research Engineer
Innovative Management & Technology Services

PS: I have aspirations of writing a CMake syntax highlighting plugin for Eclipse but I lack the know how to do such a thing. Instead I wrote one for TextMate if you happen to be running OS X....


On Feb 26, 2007, at 7:54 AM, Alexander Ivash wrote:

Hello, cmake.

Is it possible to use cmake with eclipse for c++ projects ?

--
Best regards,
Alexander mailto:[EMAIL PROTECTED] software.com

_______________________________________________
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


_______________________________________________
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to