63 lines
3.0 KiB
Diff
63 lines
3.0 KiB
Diff
From 250a7d0bbe6dd8e7d2e7cba4cc82a2d8cce37cf1 Mon Sep 17 00:00:00 2001
|
|
From: Rodney Dawes <dobey.pwns@gmail.com>
|
|
Date: Mon, 15 Nov 2021 10:47:54 -0500
|
|
Subject: [PATCH] Install dark icons via execute_process to use copy command
|
|
|
|
In order to ensure the dark icons are copied over the light icons which
|
|
are installed into the dark theme for BUG:444095, we need to execute the
|
|
copy command ourselves rather than using CMake's internal copy mechanism
|
|
used by the normal install command, so we use CODE mode of install to
|
|
execute_process and print an appropriate status message.
|
|
|
|
BUG: 445489
|
|
---
|
|
icons-dark/CMakeLists.txt | 30 ++++++++++++++++++++++++++++--
|
|
1 file changed, 28 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/icons-dark/CMakeLists.txt b/icons-dark/CMakeLists.txt
|
|
index d14bdba5..40590a8b 100644
|
|
--- a/icons-dark/CMakeLists.txt
|
|
+++ b/icons-dark/CMakeLists.txt
|
|
@@ -26,10 +26,36 @@ if(NOT WIN32)
|
|
endif()
|
|
|
|
if(NOT SKIP_INSTALL_ICONS)
|
|
- install(DIRECTORY ${breeze_icon_dark_dirs} DESTINATION ${BREEZE_INSTALL_DIR})
|
|
+ # In order to ensure the dark icons are copied over the light icons which
|
|
+ # are installed into the dark theme for BUG:444095, we need to execute the
|
|
+ # copy command ourselves rather than using CMake's internal copy mechanism
|
|
+ # used by the normal install command, so we use CODE mode of install to
|
|
+ # execute_process and print an appropriate status message.
|
|
+ # See https://bugs.kde.org/show_bug.cgi?id=445489
|
|
+ set(COPY_CMD "cp -a")
|
|
+ set(XCOPY_ARGS "")
|
|
+ if(WIN32)
|
|
+ set(COPY_CMD "xcopy")
|
|
+ set(XCOPY_ARGS "/q /e /y")
|
|
+ endif(WIN32)
|
|
+ install(CODE "cmake_policy(VERSION 3.6)
|
|
+ foreach(CAT_DIR ${breeze_icon_dark_dirs})
|
|
+ execute_process(COMMAND ${COPY_CMD} \${CAT_DIR} \$ENV{DESTDIR}${BREEZE_INSTALL_DIR} ${XCOPY_ARGS} ERROR_QUIET WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
|
+ endforeach()
|
|
+ file(GLOB_RECURSE ICON_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} LIST_DIRECTORIES false ${CMAKE_CURRENT_SOURCE_DIR}/*.svg)
|
|
+ foreach(ICON_FILE IN LISTS ICON_FILES)
|
|
+ message(STATUS \"Installing: \$ENV{DESTDIR}${BREEZE_INSTALL_DIR}/\${ICON_FILE}\")
|
|
+ endforeach()")
|
|
install(FILES index.theme DESTINATION ${BREEZE_INSTALL_DIR})
|
|
if(WITH_ICON_GENERATION)
|
|
- install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/generated/ DESTINATION ${BREEZE_INSTALL_DIR})
|
|
+ install(CODE "cmake_policy(VERSION 3.6)
|
|
+ foreach(GEN_DIR ${breeze_icon_dark_dirs})
|
|
+ execute_process(COMMAND ${COPY_CMD} \${GEN_DIR} \$ENV{DESTDIR}${BREEZE_INSTALL_DIR} ${XCOPY_ARGS} ERROR_QUIET WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/generated)
|
|
+ endforeach()
|
|
+ file(GLOB_RECURSE ICON_FILES RELATIVE ${CMAKE_CURRENT_BINARY_DIR}/generated LIST_DIRECTORIES false ${CMAKE_CURRENT_BINARY_DIR}/generated/*.svg)
|
|
+ foreach(ICON_FILE IN LISTS ICON_FILES)
|
|
+ message(STATUS \"Installing: \$ENV{DESTDIR}${BREEZE_INSTALL_DIR}/\${ICON_FILE}\")
|
|
+ endforeach()")
|
|
endif()
|
|
endif()
|
|
|
|
--
|
|
GitLab
|
|
|