Compare commits
1 Commits
master
...
avoid-buil
Author | SHA1 | Date |
---|---|---|
Martchus | 8d9b6d845d |
|
@ -504,7 +504,15 @@ if (REQUIRED_ICONS)
|
|||
CACHE STRING "specifies icon themes to be built-in")
|
||||
option(BUILTIN_ICON_THEMES_IN_LIBRARIES "specifies whether icon themes should also be built-in when building libraries"
|
||||
OFF)
|
||||
option(BUILTIN_ICON_THEMES_CONFIGURED "whether built-in icons have been configured" NO)
|
||||
if (BUILTIN_ICON_THEMES AND (BUILTIN_ICON_THEMES_IN_LIBRARIES OR (NOT "${META_PROJECT_TYPE}" STREQUAL "library")))
|
||||
set(BUILTIN_ICON_THEMES_QRC_FILE "${CMAKE_CURRENT_BINARY_DIR}/icons/${META_PROJECT_NAME}_builtinicons.qrc")
|
||||
if (BUILTIN_ICON_THEMES_CONFIGURED AND EXISTS BUILTIN_ICON_THEMES_QRC_FILE)
|
||||
message(
|
||||
STATUS
|
||||
"Skipping configuration of built-in icons as they have already been configured before. Run CMake with -DBUILTIN_ICON_THEMES_CONFIGURED=OFF to re-conduct the configuration."
|
||||
)
|
||||
else ()
|
||||
set(ICON_THEME_FILES)
|
||||
set(ICON_SEARCH_PATHS)
|
||||
if (CMAKE_FIND_ROOT_PATH)
|
||||
|
@ -513,8 +521,8 @@ if (REQUIRED_ICONS)
|
|||
endforeach ()
|
||||
endif ()
|
||||
list(APPEND ICON_SEARCH_PATHS "${CMAKE_INSTALL_FULL_DATAROOTDIR}/icons")
|
||||
list(APPEND ICON_SEARCH_PATHS "/usr/${CMAKE_INSTALL_DATAROOTDIR}/icons") # find icons from regular prefix when cross-
|
||||
# compiling
|
||||
list(APPEND ICON_SEARCH_PATHS "/usr/${CMAKE_INSTALL_DATAROOTDIR}/icons") # find icons from regular prefix when
|
||||
# cross- compiling
|
||||
list(REMOVE_DUPLICATES ICON_SEARCH_PATHS)
|
||||
set(BUILTIN_ICONS_DIR "${CMAKE_CURRENT_BINARY_DIR}/icons")
|
||||
set(DEFAULT_THEME_INDEX_FILE "${BUILTIN_ICONS_DIR}/default/index.theme")
|
||||
|
@ -588,7 +596,8 @@ if (REQUIRED_ICONS)
|
|||
else ()
|
||||
unset(ICON_THEME_FILE_ALIAS)
|
||||
endif ()
|
||||
string(REGEX REPLACE "^${ICON_SEARCH_PATH}/" "" ICON_THEME_FILE_RELATIVE_PATH "${ICON_THEME_FILE}")
|
||||
string(REGEX REPLACE "^${ICON_SEARCH_PATH}/" "" ICON_THEME_FILE_RELATIVE_PATH
|
||||
"${ICON_THEME_FILE}")
|
||||
string(REGEX REPLACE "(^[^/\\]+)" "${NEW_ICON_THEME_NAME}" NEW_ICON_THEME_FILE_RELATIVE_PATH
|
||||
"${ICON_THEME_FILE_RELATIVE_PATH}")
|
||||
get_filename_component(ICON_THEME_FILE_DIR "${ICON_THEME_FILE_RELATIVE_PATH}" DIRECTORY)
|
||||
|
@ -607,11 +616,14 @@ if (REQUIRED_ICONS)
|
|||
message(FATAL_ERROR "The specified icon theme \"${ICON_THEME}\" could not be found.")
|
||||
endif ()
|
||||
endforeach ()
|
||||
set(BUILTIN_ICON_THEMES_QRC_FILE "${CMAKE_CURRENT_BINARY_DIR}/icons/${META_PROJECT_NAME}_builtinicons.qrc")
|
||||
list(REMOVE_DUPLICATES ICON_THEME_FILES)
|
||||
string(CONCAT BUILTIN_ICON_THEMES_QRC_FILE_CONTENT "<RCC><qresource prefix=\"/icons\">" ${ICON_THEME_FILES}
|
||||
"</qresource></RCC>")
|
||||
file(WRITE "${BUILTIN_ICON_THEMES_QRC_FILE}" "${BUILTIN_ICON_THEMES_QRC_FILE_CONTENT}")
|
||||
set(BUILTIN_ICON_THEMES_CONFIGURED
|
||||
YES
|
||||
CACHE BOOLEAN "whether built-in icons have been configured" FORCE)
|
||||
endif ()
|
||||
list(APPEND RES_FILES "${BUILTIN_ICON_THEMES_QRC_FILE}")
|
||||
endif ()
|
||||
endif ()
|
||||
|
|
Loading…
Reference in New Issue