diff options
Diffstat (limited to 'modules/KDE4Macros.cmake')
| -rw-r--r-- | modules/KDE4Macros.cmake | 54 | 
1 files changed, 34 insertions, 20 deletions
| diff --git a/modules/KDE4Macros.cmake b/modules/KDE4Macros.cmake index 3c785edc..fe08faa2 100644 --- a/modules/KDE4Macros.cmake +++ b/modules/KDE4Macros.cmake @@ -270,7 +270,9 @@ macro (KDE4_CREATE_HANDBOOK _docbook)        DEPENDS ${_docs} ${_KDE4_MEINPROC_EXECUTABLE_DEP} ${_ssheet}        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}     ) -   add_custom_target(handbook ALL DEPENDS ${_doc}) +   get_filename_component(_targ ${CMAKE_CURRENT_SOURCE_DIR} NAME) +   set(_targ "${_targ}-handbook") +   add_custom_target(${_targ} ALL DEPENDS ${_doc})     if(KDE4_ENABLE_HTMLHANDBOOK)        set(_htmlDoc ${CMAKE_CURRENT_SOURCE_DIR}/index.html) @@ -336,7 +338,9 @@ macro (KDE4_CREATE_MANPAGE _docbook _section)        COMMAND ${KDE4_MEINPROC_EXECUTABLE} --stylesheet ${_ssheet} --check ${_bootstrapOption} ${_input}        DEPENDS ${_input} ${_KDE4_MEINPROC_EXECUTABLE_DEP} ${_ssheet}     ) -   add_custom_target(manpage ALL DEPENDS "${_outdoc}") +   get_filename_component(_targ ${CMAKE_CURRENT_SOURCE_DIR} NAME) +   set(_targ "${_targ}-manpage") +   add_custom_target(${_targ} ALL DEPENDS "${_outdoc}")     set(_args ${ARGN}) @@ -406,7 +410,7 @@ set(_KDE4_ICON_THEME_hi "hicolor")  # only used internally by KDE4_INSTALL_ICONS -macro (_KDE4_ADD_ICON_INSTALL_RULE _install_SCRIPT _install_PATH _group _orig_NAME _install_NAME) +macro (_KDE4_ADD_ICON_INSTALL_RULE _install_SCRIPT _install_PATH _group _orig_NAME _install_NAME _l10n_SUBDIR)     # if the string doesn't match the pattern, the result is the full string, so all three have the same content     if (NOT ${_group} STREQUAL ${_install_NAME} ) @@ -414,8 +418,8 @@ macro (_KDE4_ADD_ICON_INSTALL_RULE _install_SCRIPT _install_PATH _group _orig_NA        if(NOT _icon_GROUP)           set(_icon_GROUP "actions")        endif(NOT _icon_GROUP) -#      message(STATUS "icon: ${_current_ICON} size: ${_size} group: ${_group} name: ${_name}" ) -      install(FILES ${_orig_NAME} DESTINATION ${_install_PATH}/${_icon_GROUP}/ RENAME ${_install_NAME} ) +#      message(STATUS "icon: ${_current_ICON} size: ${_size} group: ${_group} name: ${_name} l10n: ${_l10n_SUBDIR}") +      install(FILES ${_orig_NAME} DESTINATION ${_install_PATH}/${_icon_GROUP}/${_l10n_SUBDIR}/ RENAME ${_install_NAME} )     endif (NOT ${_group} STREQUAL ${_install_NAME} )  endmacro (_KDE4_ADD_ICON_INSTALL_RULE) @@ -423,6 +427,14 @@ endmacro (_KDE4_ADD_ICON_INSTALL_RULE)  macro (KDE4_INSTALL_ICONS _defaultpath ) +   # the l10n-subdir if language given as second argument (localized icon) +   set(_lang ${ARGV1}) +   if(_lang) +      set(_l10n_SUBDIR l10n/${_lang}) +   else(_lang) +      set(_l10n_SUBDIR ".") +   endif(_lang) +     # first the png icons     file(GLOB _icons *.png)     foreach (_current_ICON ${_icons} ) @@ -435,7 +447,7 @@ macro (KDE4_INSTALL_ICONS _defaultpath )        if( _theme_GROUP)           _KDE4_ADD_ICON_INSTALL_RULE(${CMAKE_CURRENT_BINARY_DIR}/install_icons.cmake                      ${_defaultpath}/${_theme_GROUP}/${_size}x${_size} -                    ${_group} ${_current_ICON} ${_name}) +                    ${_group} ${_current_ICON} ${_name} ${_l10n_SUBDIR})        endif( _theme_GROUP)     endforeach (_current_ICON) @@ -451,7 +463,7 @@ macro (KDE4_INSTALL_ICONS _defaultpath )        if( _theme_GROUP)           _KDE4_ADD_ICON_INSTALL_RULE(${CMAKE_CURRENT_BINARY_DIR}/install_icons.cmake                  ${_defaultpath}/${_theme_GROUP}/${_size}x${_size} -                ${_group} ${_current_ICON} ${_name}) +                ${_group} ${_current_ICON} ${_name} ${_l10n_SUBDIR})        endif( _theme_GROUP)     endforeach (_current_ICON) @@ -466,7 +478,7 @@ macro (KDE4_INSTALL_ICONS _defaultpath )        if( _theme_GROUP)            _KDE4_ADD_ICON_INSTALL_RULE(${CMAKE_CURRENT_BINARY_DIR}/install_icons.cmake                              ${_defaultpath}/${_theme_GROUP}/scalable -                            ${_group} ${_current_ICON} ${_name}) +                            ${_group} ${_current_ICON} ${_name} ${_l10n_SUBDIR})        endif( _theme_GROUP)     endforeach (_current_ICON) @@ -1023,24 +1035,26 @@ macro (KDE4_ADD_APP_ICON appsources pattern)              set(WINDRES_EXECUTABLE TRUE)          endif(MSVC)          if (PNG2ICO_EXECUTABLE AND WINDRES_EXECUTABLE) +            string(REPLACE "*" "(.*)" pattern_rx "${pattern}")              file(GLOB_RECURSE files  "${pattern}") -            FOREACH (it ${files}) -                if (it MATCHES ".*16.*" ) +            foreach (it ${files}) +                string(REGEX REPLACE "${pattern_rx}" "\\1" fn "${it}") +                if (fn MATCHES ".*16.*" )                      list (APPEND _icons ${it}) -                endif (it MATCHES ".*16.*") -                if (it MATCHES ".*32.*" ) +                endif (fn MATCHES ".*16.*") +                if (fn MATCHES ".*32.*" )                      list (APPEND _icons ${it}) -                endif (it MATCHES ".*32.*") -                if (it MATCHES ".*48.*" ) +                endif (fn MATCHES ".*32.*") +                if (fn MATCHES ".*48.*" )                      list (APPEND _icons ${it}) -                endif (it MATCHES ".*48.*") -                if (it MATCHES ".*64.*" ) +                endif (fn MATCHES ".*48.*") +                if (fn MATCHES ".*64.*" )                      list (APPEND _icons ${it}) -                endif (it MATCHES ".*64.*") -                if (it MATCHES ".*128.*" ) +                endif (fn MATCHES ".*64.*") +                if (fn MATCHES ".*128.*" )                      list (APPEND _icons ${it}) -                endif (it MATCHES ".*128.*") -            ENDFOREACH (it) +                endif (fn MATCHES ".*128.*") +            endforeach (it)              if (_icons)                  set (_outfilename ${CMAKE_CURRENT_BINARY_DIR}/${target})                  add_custom_command(OUTPUT ${_outfilename}.ico ${_outfilename}.rc | 
