Can CMake generate a configure file?
Yes, it can:
configure_file(<input> <output>
[COPYONLY] [ESCAPE_QUOTES] [@ONLY]
[NEWLINE_STYLE [UNIX|DOS|WIN32|LF|CRLF] ])
Example.h.in
#ifndef EXAMPLE_H
#define EXAMPLE_H
/*
* These values are automatically set according to their cmake variables.
*/
#define EXAMPLE "${EXAMPLE}"
#define VERSION "${VERSION}"
#define NUMBER ${NUMBER}
#endif /* EXAMPLE_H */
In your cmake file:
set(EXAMPLE "This is an example")
set(VERSION "1.0")
set(NUMBER 3)
configure_file(Example.h.in Example.h)
Configured Example.h
:
#ifndef EXAMPLE_H
#define EXAMPLE_H
/*
* These values are automatically set according to their cmake variables.
*/
#define EXAMPLE "This is an example"
#define VERSION "1.0"
#define NUMBER 3
#endif /* EXAMPLE_H */
Documentation:
- CMake 3.0
- CMake 2.8.12