Index: cmake/modules/KexiAddIconsRccFile.cmake
--- cmake/modules/KexiAddIconsRccFile.cmake.orig
+++ cmake/modules/KexiAddIconsRccFile.cmake
@@ -23,10 +23,18 @@ macro(kexi_add_icons_rcc_file _target _parent_target _
     set(_RCC_FILE "${_RCC_DIR}/${_target}.rcc")
     include(icons/${_theme}/files.cmake)
 
+    # Check if we have any files to process
+    if(NOT _FILES)
+        message(STATUS "No icon files found for ${_target}, skipping RCC generation")
+        return()
+    endif()
+
+    # Erstelle das Zielverzeichnis während der CMake-Konfiguration
+    file(MAKE_DIRECTORY ${_RCC_DIR})
+
     add_custom_target(${_target}_copy_icons
         COMMAND ${CMAKE_COMMAND} -E remove_directory ${_BASE_DIR}
         COMMAND ${CMAKE_COMMAND} -E make_directory ${_BASE_DIR}
-        COMMAND ${CMAKE_COMMAND} -E make_directory ${_RCC_DIR}
         COMMAND ${CMAKE_COMMAND} -E copy_directory icons/${_theme} ${_BASE_DIR}/icons/${_prefix}/${_theme}
         COMMAND ${CMAKE_COMMAND} -E remove -f ${_BASE_DIR}/CMakeLists.txt
         COMMAND ${CMAKE_COMMAND} -E remove -f ${_BASE_DIR}/icons/${_prefix}/${_theme}/files.cmake
@@ -37,33 +45,35 @@ macro(kexi_add_icons_rcc_file _target _parent_target _
         VERBATIM
     )
 
-    add_custom_target(${_target}_build_qrc
+    add_custom_command(
+        OUTPUT "${_QRC_FILE}"
         COMMAND ${Qt5Core_RCC_EXECUTABLE} --project -o "${CMAKE_CURRENT_BINARY_DIR}/${_target}.qrc"
         # avoid adding the .qrc file to rcc due to rcc misfeature
         COMMAND ${CMAKE_COMMAND} -E rename "${CMAKE_CURRENT_BINARY_DIR}/${_target}.qrc" "${_QRC_FILE}"
-        DEPENDS "${_FILES}"
-        SOURCES "${_FILES}"
+        DEPENDS ${_target}_copy_icons
         WORKING_DIRECTORY "${_BASE_DIR}"
         COMMENT "Building Qt resource file ${_QRC_FILE}"
         VERBATIM
     )
-    add_dependencies(${_target}_build_qrc ${_target}_copy_icons)
 
-    add_custom_target(${_target}_build_rcc
+    add_custom_command(
+        OUTPUT "${_RCC_FILE}"
         COMMAND ${Qt5Core_RCC_EXECUTABLE} --compress 9 --threshold 0 --binary
                 --output "${_RCC_FILE}" "${_QRC_FILE}"
-        DEPENDS "${_QRC_FILE}" "${_FILES}"
+        DEPENDS "${_QRC_FILE}"
         WORKING_DIRECTORY "${_BASE_DIR}"
         COMMENT "Building external Qt resource ${_RCC_FILE}"
         VERBATIM
     )
-    add_dependencies(${_target}_build_rcc ${_target}_build_qrc)
 
+    add_custom_target(${_target}_build_rcc ALL
+        DEPENDS "${_RCC_FILE}"
+    )
+
     add_dependencies(${_parent_target} ${_target}_build_rcc)
 
-    install(FILES
-            ${_RCC_FILE}
-            DESTINATION "${ICONS_INSTALL_DIR}"
+    install(FILES "${_RCC_FILE}"
+        DESTINATION "${ICONS_INSTALL_DIR}"
     )
 
     add_update_file_target(
@@ -78,4 +88,5 @@ macro(kexi_add_icons_rcc_file _target _parent_target _
     unset(_BASE_DIR)
     unset(_QRC_FILE)
     unset(_RCC_FILE)
+    unset(_RCC_DIR)
 endmacro()
