Check the generated icons into the build tree.  This solves a couple of issues:  (1) it eliminates the build dependency on ImageMagick, which was not documented and which creates a hard-to-diagnose build failure on platforms on which it isn't available, and (2) the build was completely broken on Windows, because Windows has a convert.exe program that is part of the operating system, and the TigerVNC build system was finding this and attempting to use it to generate the icons.


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5024 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/media/CMakeLists.txt b/media/CMakeLists.txt
index d2cb912..0e70ab6 100644
--- a/media/CMakeLists.txt
+++ b/media/CMakeLists.txt
@@ -1,18 +1,18 @@
 set(ICON_FILES
-  icons/tigervnc_16.png
-  icons/tigervnc_22.png
-  icons/tigervnc_24.png
-  icons/tigervnc_32.png
-  icons/tigervnc_48.png)
+  ${CMAKE_CURRENT_SOURCE_DIR}/icons/tigervnc_16.png
+  ${CMAKE_CURRENT_SOURCE_DIR}/icons/tigervnc_22.png
+  ${CMAKE_CURRENT_SOURCE_DIR}/icons/tigervnc_24.png
+  ${CMAKE_CURRENT_SOURCE_DIR}/icons/tigervnc_32.png
+  ${CMAKE_CURRENT_SOURCE_DIR}/icons/tigervnc_48.png)
 
 find_program(CONVERT_EXECUTABLE convert)
 
 if(CONVERT_EXECUTABLE)
-  add_custom_target(icons-target ALL DEPENDS ${ICON_FILES})
+  add_custom_target(icons DEPENDS ${ICON_FILES})
 
   if(UNIX AND NOT APPLE)
     foreach(SIZE 16 22 24 32 48)
-      install(FILES ${CMAKE_CURRENT_BINARY_DIR}/icons/tigervnc_${SIZE}.png
+      install(FILES icons/tigervnc_${SIZE}.png
         DESTINATION ${DATA_DIR}/icons/hicolor/${SIZE}x${SIZE}/apps
         RENAME tigervnc.png)
     endforeach()
@@ -21,34 +21,37 @@
   endif()
 endif()
 
-add_custom_command(OUTPUT icons COMMAND mkdir icons)
-
-add_custom_command(OUTPUT icons/tigervnc_16.png
+add_custom_command(OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/icons/tigervnc_16.png
   COMMAND ${CONVERT_EXECUTABLE} -background transparent
-    ${CMAKE_CURRENT_SOURCE_DIR}/tigervnc_16.svg icons/tigervnc_16.png
+    ${CMAKE_CURRENT_SOURCE_DIR}/tigervnc_16.svg
+    ${CMAKE_CURRENT_SOURCE_DIR}/icons/tigervnc_16.png
   DEPENDS icons ${CMAKE_CURRENT_SOURCE_DIR}/tigervnc_16.svg
   COMMENT "Generating icons/tigervnc_16.png")
 
-add_custom_command(OUTPUT icons/tigervnc_22.png
+add_custom_command(OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/icons/tigervnc_22.png
   COMMAND ${CONVERT_EXECUTABLE} -size 22x22 xc:none -gravity center -background transparent
-    ${CMAKE_CURRENT_SOURCE_DIR}/tigervnc_20.svg -composite icons/tigervnc_22.png
+    ${CMAKE_CURRENT_SOURCE_DIR}/tigervnc_20.svg -composite
+    ${CMAKE_CURRENT_SOURCE_DIR}/icons/tigervnc_22.png
   DEPENDS icons ${CMAKE_CURRENT_SOURCE_DIR}/tigervnc_20.svg
   COMMENT "Generating icons/tigervnc_22.png")
 
-add_custom_command(OUTPUT icons/tigervnc_24.png
+add_custom_command(OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/icons/tigervnc_24.png
   COMMAND ${CONVERT_EXECUTABLE} -size 24x24 xc:none -gravity center -background transparent
-    ${CMAKE_CURRENT_SOURCE_DIR}/tigervnc_20.svg -composite icons/tigervnc_24.png
+    ${CMAKE_CURRENT_SOURCE_DIR}/tigervnc_20.svg -composite
+    ${CMAKE_CURRENT_SOURCE_DIR}/icons/tigervnc_24.png
   DEPENDS icons ${CMAKE_CURRENT_SOURCE_DIR}/tigervnc_20.svg
   COMMENT "Generating icons/tigervnc_24.png")
 
-add_custom_command(OUTPUT icons/tigervnc_32.png
+add_custom_command(OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/icons/tigervnc_32.png
   COMMAND ${CONVERT_EXECUTABLE} -size 32x32 xc:none -gravity center -background transparent
-    ${CMAKE_CURRENT_SOURCE_DIR}/tigervnc_28.svg -composite icons/tigervnc_32.png
+    ${CMAKE_CURRENT_SOURCE_DIR}/tigervnc_28.svg -composite
+    ${CMAKE_CURRENT_SOURCE_DIR}/icons/tigervnc_32.png
   DEPENDS icons ${CMAKE_CURRENT_SOURCE_DIR}/tigervnc_28.svg
   COMMENT "Generating icons/tigervnc_32.png")
 
-add_custom_command(OUTPUT icons/tigervnc_48.png
+add_custom_command(OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/icons/tigervnc_48.png
   COMMAND ${CONVERT_EXECUTABLE} -size 48x48 xc:none -gravity center -background transparent
-    ${CMAKE_CURRENT_SOURCE_DIR}/tigervnc_42.svg -composite icons/tigervnc_48.png
+    ${CMAKE_CURRENT_SOURCE_DIR}/tigervnc_42.svg -composite
+    ${CMAKE_CURRENT_SOURCE_DIR}/icons/tigervnc_48.png
   DEPENDS icons ${CMAKE_CURRENT_SOURCE_DIR}/tigervnc_42.svg
   COMMENT "Generating icons/tigervnc_48.png")