diff options
Diffstat (limited to 'cmake/modules/TDEMacros.cmake')
-rw-r--r-- | cmake/modules/TDEMacros.cmake | 77 |
1 files changed, 42 insertions, 35 deletions
diff --git a/cmake/modules/TDEMacros.cmake b/cmake/modules/TDEMacros.cmake index b0d359b..4363f36 100644 --- a/cmake/modules/TDEMacros.cmake +++ b/cmake/modules/TDEMacros.cmake @@ -65,41 +65,48 @@ macro( tde_install_icons ) set( _group "${CMAKE_MATCH_3}" ) set( _name "${CMAKE_MATCH_4}" ) - # autodetect theme - if( NOT _req_theme ) - if( "${_type}" STREQUAL "cr" ) - set( _theme crystalsvg ) - endif( "${_type}" STREQUAL "cr" ) - # defaulting - if( NOT _theme ) - set( _theme hicolor ) - endif( NOT _theme ) - else( NOT _req_theme ) - set( _theme ${_req_theme} ) - endif( NOT _req_theme ) - - # fix "group" name - if( "${_group}" STREQUAL "mime" ) - set( _group "mimetypes" ) - endif( "${_group}" STREQUAL "mime" ) - if( "${_group}" STREQUAL "filesys" ) - set( _group "filesystems" ) - endif( "${_group}" STREQUAL "filesys" ) - if( "${_group}" STREQUAL "device" ) - set( _group "devices" ) - endif( "${_group}" STREQUAL "device" ) - if( "${_group}" STREQUAL "app" ) - set( _group "apps" ) - endif( "${_group}" STREQUAL "app" ) - if( "${_group}" STREQUAL "action" ) - set( _group "actions" ) - endif( "${_group}" STREQUAL "action" ) - - if( "${_size}" STREQUAL "sc" ) - install( FILES ${_icon_file} DESTINATION ${_dest}/${_theme}/scalable/${_group}/ RENAME ${_name} ) - else( "${_size}" STREQUAL "sc" ) - install( FILES ${_icon_file} DESTINATION ${_dest}/${_theme}/${_size}x${_size}/${_group}/ RENAME ${_name} ) - endif( "${_size}" STREQUAL "sc" ) + # we must ignore invalid icon names + if( _type AND _size AND _group AND _name ) + + # autodetect theme + if( NOT _req_theme ) + if( "${_type}" STREQUAL "cr" ) + set( _theme crystalsvg ) + elseif( "${_type}" STREQUAL "lo" ) + set( _theme locolor ) + endif( "${_type}" STREQUAL "cr" ) + # defaulting + if( NOT _theme ) + set( _theme hicolor ) + endif( NOT _theme ) + else( NOT _req_theme ) + set( _theme ${_req_theme} ) + endif( NOT _req_theme ) + + # fix "group" name + if( "${_group}" STREQUAL "mime" ) + set( _group "mimetypes" ) + endif( "${_group}" STREQUAL "mime" ) + if( "${_group}" STREQUAL "filesys" ) + set( _group "filesystems" ) + endif( "${_group}" STREQUAL "filesys" ) + if( "${_group}" STREQUAL "device" ) + set( _group "devices" ) + endif( "${_group}" STREQUAL "device" ) + if( "${_group}" STREQUAL "app" ) + set( _group "apps" ) + endif( "${_group}" STREQUAL "app" ) + if( "${_group}" STREQUAL "action" ) + set( _group "actions" ) + endif( "${_group}" STREQUAL "action" ) + + if( "${_size}" STREQUAL "sc" ) + install( FILES ${_icon_file} DESTINATION ${_dest}/${_theme}/scalable/${_group}/ RENAME ${_name} ) + else( "${_size}" STREQUAL "sc" ) + install( FILES ${_icon_file} DESTINATION ${_dest}/${_theme}/${_size}x${_size}/${_group}/ RENAME ${_name} ) + endif( "${_size}" STREQUAL "sc" ) + + endif( _type AND _size AND _group AND _name ) endforeach( _icon_file ) endforeach( _icon ) |