@@ -125,10 +125,11 @@ append_user_defined_additional_libraries()
125125option (USE_HEADER_FOR_PUBLIC_COMPILE_DEFINITIONS "writes public compile definitions to a header file" ON )
126126set (TARGET_GENERATED_INCLUDE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR} /include" )
127127set (TARGET_DEFINITIONS_HEADER "${TARGET_GENERATED_INCLUDE_DIRECTORY} /${META_PROJECT_NAME} -definitions.h" )
128- if (EXISTS "${TARGET_DEFINITIONS_HEADER} " )
129- message (STATUS "Using existing \" ${TARGET_DEFINITIONS_HEADER} \" for ${META_PROJECT_NAME} . "
130- "Remove this file to force re-generation of the resource file." )
131- elseif (USE_HEADER_FOR_PUBLIC_COMPILE_DEFINITIONS)
128+ if (USE_HEADER_FOR_PUBLIC_COMPILE_DEFINITIONS)
129+ set (EXISTING_DEFS_FOR_HEADER "none" )
130+ if (EXISTS "${TARGET_DEFINITIONS_HEADER} " )
131+ file (READ "${TARGET_DEFINITIONS_HEADER} " EXISTING_DEFS_FOR_HEADER)
132+ endif ()
132133 set (DEFS_FOR_HEADER "" )
133134 foreach (DEF ${META_PUBLIC_COMPILE_DEFINITIONS} )
134135 if (DEF MATCHES "([A-Za-z0-9_]+)=([A-Za-z0-9_ ]+)" )
@@ -142,7 +143,11 @@ elseif (USE_HEADER_FOR_PUBLIC_COMPILE_DEFINITIONS)
142143 set (DEFS_FOR_HEADER "${DEFS_FOR_HEADER} #ifndef ${DEF_NAME} \n #define ${DEF_NAME}${DEF_VALUE} \n #endif\n " )
143144 endif ()
144145 endforeach ()
145- file (WRITE "${TARGET_DEFINITIONS_HEADER} " "${DEFS_FOR_HEADER} " )
146+ if (NOT "${DEFS_FOR_HEADER} " STREQUAL "${EXISTING_DEFS_FOR_HEADER} " )
147+ file (WRITE "${TARGET_DEFINITIONS_HEADER} " "${DEFS_FOR_HEADER} " )
148+ else ()
149+ message (STATUS "Header \" ${TARGET_DEFINITIONS_HEADER} \" for ${META_PROJECT_NAME} did not change." )
150+ endif ()
146151endif ()
147152
148153# add library to be created, set libs to link against, set version and C++ standard
0 commit comments