1 macro(add_cursor cursor color theme dpi)
2 add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/oxy-${theme}/svg/${cursor}.svg
3 DEPENDS ${MAKE_SVG} ${CMAKE_CURRENT_SOURCE_DIR}/colors.in ${SVGDIR}/${cursor}.svg
4 COMMAND ${CMAKE_COMMAND} -Dconfig=${CMAKE_CURRENT_SOURCE_DIR}/colors.in
5 -Dinput=${SVGDIR}/${cursor}.svg
6 -Doutput=${CMAKE_BINARY_DIR}/oxy-${theme}/svg/${cursor}.svg
9 add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/oxy-${theme}/png/${cursor}.png
10 DEPENDS ${CMAKE_BINARY_DIR}/oxy-${theme}/svg/${cursor}.svg
11 COMMAND ${INKSCAPE} --without-gui --export-dpi=${dpi}
12 --export-png=${CMAKE_BINARY_DIR}/oxy-${theme}/png/${cursor}.png
13 ${CMAKE_BINARY_DIR}/oxy-${theme}/svg/${cursor}.svg
17 macro(add_x_cursor theme cursor dpi)
19 foreach(png ${${cursor}_inputs})
20 list(APPEND inputs ${CMAKE_BINARY_DIR}/oxy-${theme}/png/${png})
22 add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/oxy-${theme}/config/${cursor}.in
23 DEPENDS ${MAKE_CONFIG} ${CONFIGDIR}/${cursor}.in
24 COMMAND ${CMAKE_COMMAND} -Dconfig=${CONFIGDIR}/${cursor}.in
25 -Doutput=${CMAKE_BINARY_DIR}/oxy-${theme}/config/${cursor}.in
29 add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/oxy-${theme}/cursors/${cursor}
30 DEPENDS ${inputs} ${CMAKE_BINARY_DIR}/oxy-${theme}/config/${cursor}.in
31 COMMAND ${XCURSORGEN} -p ${CMAKE_BINARY_DIR}/oxy-${theme}/png
32 ${CMAKE_BINARY_DIR}/oxy-${theme}/config/${cursor}.in
33 ${CMAKE_BINARY_DIR}/oxy-${theme}/cursors/${cursor}
35 endmacro(add_x_cursor)
37 file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/packages)
38 macro(add_theme color theme dpi)
39 file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/oxy-${theme}/png)
40 file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/oxy-${theme}/svg)
41 file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/oxy-${theme}/config)
42 file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/oxy-${theme}/cursors)
45 string(REGEX REPLACE ".*/" "" cursor ${svg})
46 string(REGEX REPLACE "[.]svg" "" cursor ${cursor})
47 add_cursor(${cursor} ${color} ${theme} ${dpi})
49 foreach(cursor ${CURSORS})
50 add_x_cursor(${theme} ${cursor} ${dpi})
51 list(APPEND ${theme}_cursors ${CMAKE_BINARY_DIR}/oxy-${theme}/cursors/${cursor})
53 add_custom_target(theme-${theme} ALL DEPENDS ${${theme}_cursors})
54 add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/oxy-${theme}/index.theme
55 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/index.theme
56 COMMAND ${CMAKE_COMMAND} -E copy_if_different
57 ${CMAKE_CURRENT_SOURCE_DIR}/index.theme
58 ${CMAKE_BINARY_DIR}/oxy-${theme}/index.theme
60 add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/packages/oxy-${theme}.tar.bz2
61 DEPENDS ${${theme}_cursors} ${CMAKE_BINARY_DIR}/oxy-${theme}/index.theme
62 COMMAND ${TAR} cjf ${CMAKE_BINARY_DIR}/packages/oxy-${theme}.tar.bz2
64 oxy-${theme}/index.theme
65 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
67 add_custom_target(package-${theme} DEPENDS ${CMAKE_BINARY_DIR}/packages/oxy-${theme}.tar.bz2)