find_program(ZIPTOOL_ZIP_EXECUTABLE zip)
find_program(ZIPTOOL_7Z_EXECUTABLE 7z "$ENV{ProgramFiles}/7-Zip")

if(WIN32 AND MSVC)
set(PK3_DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}) # Put it directly in dist/ on windows
else()
set(PK3_DESTINATION ${CMAKE_BINARY_DIR})
endif()

if(ZIPTOOL_7Z_EXECUTABLE)
	set(ZIP_COMMAND "${CMAKE_COMMAND}" "-DZIPTOOL_7Z_EXECUTABLE=${ZIPTOOL_7Z_EXECUTABLE}" "-DPK3_DESTINATION=${PK3_DESTINATION}" -P "${CMAKE_CURRENT_SOURCE_DIR}/7z_command.cmake")
elseif(ZIPTOOL_ZIP_EXECUTABLE)
	if(NOT APPLE)
		set(ZIP_COMMAND_CHARSET "-UN=UTF8")
	endif()
	set(ZIP_COMMAND "${ZIPTOOL_ZIP_EXECUTABLE}" -X ${ZIP_COMMAND_CHARSET} -9 -FS -r "${PK3_DESTINATION}/slade.pk3" .)
else()
	message(STATUS "no zip executable, slade.pk3 won't build")
endif()

if(ZIP_COMMAND)
	message(STATUS "run `pk3` target to build slade.pk3")
	add_custom_target(pk3 ALL
		COMMAND ${ZIP_COMMAND}
		WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/res
		VERBATIM)
endif()

if(APPLE)
	# To be able to put .pk3 into the application bundle
	add_dependencies(slade pk3)
endif(APPLE)
