Difference between revisions of "CMake"

From Wiki for iCub and Friends
Jump to navigation Jump to search
m
Line 10: Line 10:


* Install CMake from here: http://www.cmake.org/HTML/Install.html
* Install CMake from here: http://www.cmake.org/HTML/Install.html
* There's an example you can try here: http://www.cmake.org/HTML/Examples.html
* For more examples, and details, see: http://www.linuxjournal.com/article/6700


* You can ask for help on the VVV forums: http://eris.liralab.it/vorum/viewforum.php?f=3
* You can ask for help on the VVV forums: http://eris.liralab.it/vorum/viewforum.php?f=3
Line 60: Line 56:


Notice that the abstract description of our project above can be shared by developers on Windows, Linux, OSX, ...
Notice that the abstract description of our project above can be shared by developers on Windows, Linux, OSX, ...
* There's another example you can try here: http://www.cmake.org/HTML/Examples.html
* For more examples, and details, see: http://www.linuxjournal.com/article/6700

Revision as of 11:07, 12 June 2006

Why CMake?

We'd like you all to use the development environment you are used to, and not force you to switch to something else -- no Linux/g++/emacs vs Windows/DevStudio vs Mac/... fights please!

To achieve this without complete chaos, we ask you to install "CMake". CMake lets us describe our programs and libraries in a cross-platform way. CMake takes care of building the makefiles or workspaces needed by whatever development environment you like to work in.

Install CMake

CMake in Windows

On Windows, the easiest way to use CMake is via its GUI. After installing, you should have an icon for CMake in your START menu. Click that, then fill in the path to your code, and the path you want CMake to build in (that can be the same if you want). Click "configure". Depending on the project, configuration may involve several steps -- you may have to answer new questions and click "configure" again. When the "OK" button becomes clickable, then CMake has enough information to set up your project. Click "OK" and you're done. Project files of the type you specified should exist in the build path you gave.

If you want to start over from the beginning with CMake, it is important to press the "delete cache" button to make it forget everything you've told it.

CMake in UNIX

On UNIX CMake can be used conveniently in two ways:

  • From the command line : type "cmake ."
  • Interactively: type "ccmake ."

If you are running CMake while in a directory different to where your code is, replace "." with the path to your code.

"ccmake" is very much like the Windows GUI, and you may need to iterate "configure" a few times before the option to "generate" appears.

"cmake" doesn't ask questions, and just uses defaults. You can pass it values on the command line:

  cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr .

The generated file "CMakeCache.txt" contains all settings stored by CMake. It can be useful to delete this if you want to start over completely.

An Example

Create a new directory, something like $HOME/cmake/example or C:\cmake\example.

Inside that directory, create a file called "CMakeLists.txt". In it place the following:

 PROJECT(example)
 ADD_EXECUTABLE(example main.cpp)

In the same directory, create a file called "main.cpp". In it place the following:

 #include <stdio.h>
 int main() {
   printf("CMake the world a better place!\n");
   return 0;
 }

In UNIX, type "cmake ." in that directory, and then "make", and then "./example". Easy!

On Windows, run the CMake GUI, fill in the path to the example, click "configure", say what compiler you use, click "configure" again if needed, then click "ok". Then run your compiler, and finally the program. Easy!

Notice that the abstract description of our project above can be shared by developers on Windows, Linux, OSX, ...