|
21 | 21 | message( STATUS "" )
|
22 | 22 | message( STATUS "COMPILE_DEFINITIONS:\n\t[${G3_DEFINITIONS}]" )
|
23 | 23 | message( STATUS "" )
|
| 24 | + |
24 | 25 | SET(GENERATED_G3_DEFINITIONS "${CMAKE_CURRENT_BINARY_DIR}/include/g3log/generated_definitions.hpp")
|
25 |
| -file(REMOVE ${GENERATED_G3_DEFINITIONS} ) |
26 |
| -FILE(WRITE ${GENERATED_G3_DEFINITIONS} "// AUTO GENERATED MACRO DEFINITIONS FOR G3LOG\n\n") |
27 |
| -FILE(APPEND ${GENERATED_G3_DEFINITIONS} "${HEADER}\n") |
28 |
| -FILE(APPEND ${GENERATED_G3_DEFINITIONS} "#pragma once\n\n") |
29 |
| -FILE(APPEND ${GENERATED_G3_DEFINITIONS} "// CMake induced definitions below. See g3log/Options.cmake for details.\n\n") |
| 26 | + |
| 27 | +# If it exists, read existing file |
| 28 | +set(current_content "") |
| 29 | +if(EXISTS ${GENERATED_G3_DEFINITIONS}) |
| 30 | + file(READ ${GENERATED_G3_DEFINITIONS} current_content) |
| 31 | +endif() |
| 32 | + |
| 33 | +set(generated_content "// AUTO GENERATED MACRO DEFINITIONS FOR G3LOG\n\n") |
| 34 | +set(generated_content "${generated_content}\n${HEADER}\n") |
| 35 | +set(generated_content "${generated_content}\n#pragma once\n\n") |
| 36 | +set(generated_content "${generated_content}\n// CMake induced definitions below. See g3log/Options.cmake for details.\n\n") |
30 | 37 |
|
31 | 38 | FOREACH(definition ${G3_DEFINITIONS} )
|
32 |
| - FILE(APPEND ${GENERATED_G3_DEFINITIONS} "#define ${definition}\n") |
| 39 | + set(generated_content "${generated_content}\n#define ${definition}\n") |
33 | 40 | ENDFOREACH(definition)
|
34 | 41 |
|
35 |
| -message( STATUS "Generated ${GENERATED_G3_DEFINITIONS}" ) |
36 |
| -file(READ ${GENERATED_G3_DEFINITIONS} generated_content) |
| 42 | +if(NOT "${current_content}" STREQUAL "${generated_content}") |
| 43 | + |
| 44 | + message( STATUS "Generated ${GENERATED_G3_DEFINITIONS}" ) |
| 45 | + |
| 46 | + message( STATUS "******************** START *************************" ) |
| 47 | + message(${generated_content}) |
| 48 | + message( STATUS "******************** END *************************" ) |
| 49 | + |
| 50 | + file(WRITE ${GENERATED_G3_DEFINITIONS} ${generated_content}) |
| 51 | + |
| 52 | +endif() |
37 | 53 |
|
38 |
| -message( STATUS "******************** START *************************" ) |
39 |
| -MESSAGE(${generated_content}) |
40 |
| -message( STATUS "******************** END *************************" ) |
|
0 commit comments