- Infos im HLRS Wiki sind nicht rechtsverbindlich und ohne Gewähr -

Difference between revisions of "CMake"

From HLRS Platforms
Jump to navigationJump to search
 
(Update: We have now a cmake module for Hermit.)
Line 10: Line 10:
 
== Hermit special ==
 
== Hermit special ==
  
On Hermit you have to use the cross compilation feature using the Catamount target to configure and build your program:
+
If your program shall be build for the compute nodes there is a special cmake module which has to be used instead of the system one.
 
+
{{command|command=
{{File|
+
module load tools/cmake
filename=CMakeLists.txt
+
}}
|content = set(CMAKE_SYSTEM_NAME Catamount)<br>...
+
Then create a file "toolchain.cmake" with the following content:
 +
{{file| filename=toolchain.cmake
 +
| content=<pre>
 +
SET(CMAKE_SYSTEM_NAME Hermit)
 +
SET(CMAKE_C_COMPILER      cc)
 +
SET(CMAKE_CXX_COMPILER    CC)
 +
SET(CMAKE_Fortran_COMPILER ftn)
 +
</pre>}}
 +
To build your program call cmake using this toolchain:
 +
{{command|command=
 +
cmake -DCMAKE_TOOLCHAIN_FILE=<path>/toolchain.cmake
 
}}
 
}}
  

Revision as of 10:05, 14 March 2012

In software development, cmake is a cross-platform, open-source configuration and build system. A file called CMakeLists.txt specifies how to derive the target program from each of its dependencies. It combines the normal build toolchain - which consists of the autotools, configure script and make under Unix/Linux - in a single portable way.
Developer:
Platforms:
Category: Build Tool
License:
Website: http://www.cmake.org/


Hermit special

If your program shall be build for the compute nodes there is a special cmake module which has to be used instead of the system one.

module load tools/cmake

Then create a file "toolchain.cmake" with the following content:

File: toolchain.cmake
SET(CMAKE_SYSTEM_NAME Hermit)
SET(CMAKE_C_COMPILER       cc)
SET(CMAKE_CXX_COMPILER     CC)
SET(CMAKE_Fortran_COMPILER ftn)

To build your program call cmake using this toolchain:

cmake -DCMAKE_TOOLCHAIN_FILE=<path>/toolchain.cmake


See also

External links