From 1704f7ab86253169615f19a9b10e2a832191b905 Mon Sep 17 00:00:00 2001 From: "Friedrich W. H. Kossebau" Date: Sun, 17 Jan 2021 22:08:41 +0100 Subject: ECMQtDeclareLoggingCategory: create .categories files in build, not configure Ensures that the files * are re-created by build rule when accidentally deleted in the build dir * are not getting new timestamps on every cmake run, even when content has not changed --- modules/ECMQtDeclareLoggingCategory.cmake | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'modules/ECMQtDeclareLoggingCategory.cmake') diff --git a/modules/ECMQtDeclareLoggingCategory.cmake b/modules/ECMQtDeclareLoggingCategory.cmake index bc6f4710..752b5554 100644 --- a/modules/ECMQtDeclareLoggingCategory.cmake +++ b/modules/ECMQtDeclareLoggingCategory.cmake @@ -329,7 +329,7 @@ function(ecm_qt_install_logging_categories) set(ARGS_FILE "${CMAKE_CURRENT_BINARY_DIR}/${ARGS_FILE}") endif() - file(WRITE ${ARGS_FILE} + set(_categories_content "# KDebugSettings data file # This file was generated by ecm_qt_install_logging_categories(). DO NOT EDIT! @@ -350,15 +350,20 @@ function(ecm_qt_install_logging_categories) # Format: # lognamedescription(optional DEFAULT_SEVERITY [DEFAULT_CATEGORY] as WARNING/DEBUG/INFO/CRITICAL) optional IDENTIFIER [...]) - file(APPEND ${ARGS_FILE} "${_category} ${_description} ${_default_severity}IDENTIFIER [${_identifier}]\n") + string(APPEND _categories_content "${_category} ${_description} ${_default_severity}IDENTIFIER [${_identifier}]\n") endforeach() + file(GENERATE + OUTPUT ${ARGS_FILE} + CONTENT ${_categories_content} + ) + set(_renamed_cats_file) if (_renamed_categories) get_filename_component(_dir ${ARGS_FILE} DIRECTORY) get_filename_component(_base_name ${ARGS_FILE} NAME_WE) set(_renamed_cats_file "${_dir}/${_base_name}.renamecategories") - file(WRITE ${_renamed_cats_file} + set(_renamed_cats_content "# KDebugSettings data file # This file was generated by ecm_qt_install_logging_categories(). DO NOT EDIT! @@ -373,10 +378,15 @@ function(ecm_qt_install_logging_categories) foreach(_category_name IN LISTS _category_name_history) # Format: # oldlognamenewlogname - file(APPEND ${_renamed_cats_file} "${_old_category_name} ${_category_name}\n") + string(APPEND _renamed_cats_content "${_old_category_name} ${_category_name}\n") set(_old_category_name ${_category_name}) endforeach() endforeach() + + file(GENERATE + OUTPUT ${_renamed_cats_file} + CONTENT ${_renamed_cats_content} + ) endif() # install files -- cgit v1.2.1