| # config.h magic |
| SET(CONFIG_H_VALS_OLD "${CONFIG_H_VALS}") |
| SET(CONFIG_H_VALS "" CACHE INTERNAL "") |
| SET(CONFIG_H_FILE ${CMAKE_BINARY_DIR}/config.h) |
| INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}) |
| |
| |
| MACRO(ADD_DEFINE ARG) |
| SET(CONFIG_H_CONTENT "${CONFIG_H_CONTENT}#define ${ARG} |
| |
| ") |
| # can't cache mulitline values |
| SET(CONFIG_H_VALS "${CONFIG_H_VALS}${ARG}" CACHE INTERNAL "") |
| ENDMACRO(ADD_DEFINE ARG) |
| |
| MACRO(GENERATE_CONFIG_H) |
| # Generate config.h only if values differ |
| IF(NOT CONFIG_H_VALS_OLD STREQUAL CONFIG_H_VALS OR NOT EXISTS ${CONFIG_H_FILE}) |
| MESSAGE(STATUS "Writing config.h") |
| FILE(WRITE ${CONFIG_H_FILE} "${CONFIG_H_CONTENT}") |
| ENDIF(NOT CONFIG_H_VALS_OLD STREQUAL CONFIG_H_VALS OR NOT EXISTS ${CONFIG_H_FILE}) |
| ENDMACRO(GENERATE_CONFIG_H) |