IF(CMAKE_CROSSCOMPILING)
	SET(IMPORT_EXECUTABLES "IMPORTFILE-NOTFOUND" CACHE FILEPATH "Point it to the export file from a native build")
	INCLUDE(${IMPORT_EXECUTABLES})
	SET(PNG2ICO_COMMAND png2ico)
ELSE(CMAKE_CROSSCOMPILING)
	INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR})
	ADD_EXECUTABLE(png2ico EXCLUDE_FROM_ALL png2ico.cpp)
	TARGET_LINK_LIBRARIES(png2ico ${PNG_LIBRARIES})
	SET(PNG2ICO_COMMAND ./png2ico)
	IF(CMAKE_MAJOR_VERSION GREATER 2 OR CMAKE_MINOR_VERSION GREATER 4)
  		EXPORT(TARGETS png2ico FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake )
	ENDIF(CMAKE_MAJOR_VERSION GREATER 2 OR CMAKE_MINOR_VERSION GREATER 4)
ENDIF(CMAKE_CROSSCOMPILING)

SET(ICO_FILES)
FILE(GLOB PNG_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.png)
FOREACH(PNG_FILE ${PNG_FILES})
	GET_FILENAME_COMPONENT(ICO_FILE ${PNG_FILE} NAME_WE)
	SET(ICO_FILE ${ICO_FILE}.ico)
	ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${ICO_FILE}
					   COMMAND ${PNG2ICO_COMMAND} ${CMAKE_CURRENT_BINARY_DIR}/${ICO_FILE}
												  ${CMAKE_CURRENT_SOURCE_DIR}/${PNG_FILE}
					   DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${PNG_FILE}
					  )
	LIST(APPEND ICO_FILES ${CMAKE_CURRENT_BINARY_DIR}/${ICO_FILE})
ENDFOREACH(PNG_FILE ${PNG_FILES})
ADD_CUSTOM_TARGET(icons DEPENDS ${ICO_FILES})
ADD_DEPENDENCIES(icons png2ico)

IF(NOT WINDRESS_COMMAND)
	SET(WINDRESS_COMMAND "${_CMAKE_TOOLCHAIN_PREFIX}windres" CACHE INTERNAL "The MinGW resource compiler.")
ENDIF(NOT WINDRESS_COMMAND)

SET(COFF_FILES)
FILE(GLOB RC_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.rc)
FOREACH(RC_FILE ${RC_FILES})
	GET_FILENAME_COMPONENT(COFF_FILE ${RC_FILE} NAME_WE)
	SET(COFF_FILE ${COFF_FILE}.coff)
	ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${COFF_FILE}
					   COMMAND ${WINDRESS_COMMAND} -o ${CMAKE_CURRENT_BINARY_DIR}/${COFF_FILE}
												   -i ${CMAKE_CURRENT_SOURCE_DIR}/${RC_FILE}
					   DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${RC_FILE}
					  )
	LIST(APPEND COFF_FILES ${CMAKE_CURRENT_BINARY_DIR}/${COFF_FILE})
ENDFOREACH(RC_FILE ${RC_FILES})
ADD_CUSTOM_TARGET(resources DEPENDS ${COFF_FILES})
ADD_DEPENDENCIES(resources icons)
