project "sdl2"
	kind "StaticLib"
	language "C++"

	links
	{
		"setupapi",
		"winmm",
		"imm32",
		"version",
	}

	includedirs
	{
		"include"
	}

	files
	{
		"include/**.h",
		"src/*.h",
		"src/*.c",
		"src/atomic/*.h",
		"src/atomic/*.c",
		"src/audio/*.h",
		"src/audio/*.c",
		"src/audio/disk/*.h",
		"src/audio/disk/*.c",
		"src/audio/dummy/*.h",
		"src/audio/dummy/*.c",
		"src/cpuinfo/*.h",
		"src/cpuinfo/*.c",
		"src/dynapi/*.h",
		"src/dynapi/*.c",
		"src/events/*.h",
		"src/events/*.c",
		"src/file/*.h",
		"src/file/*.c",
		"src/haptic/*.h",
		"src/haptic/*.c",
		"src/haptic/dummy/*.h",
		"src/haptic/dummy/*.c",
		"src/hidapi/*.h",
		"src/hidapi/*.c",
		"src/joystick/*.h",
		"src/joystick/*.c",
		"src/joystick/dummy/*.h",
		"src/joystick/dummy/*.c",
		"src/joystick/hidapi/*.h",
		"src/joystick/hidapi/*.c",
		"src/joystick/virtual/*.h",
		"src/joystick/virtual/*.c",
		"src/libm/*.h",
		"src/libm/*.c",
		"src/locale/*.h",
		"src/locale/*.c",
		"src/misc/*.h",
		"src/misc/*.c",
		"src/power/*.h",
		"src/power/*.c",
		"src/render/*.h",
		"src/render/*.c",
		"src/render/software/*.h",
		"src/render/software/*.c",
		"src/sensor/*.h",
		"src/sensor/*.c",
		"src/sensor/dummy/*.h",
		"src/sensor/dummy/*.c",
		"src/stdlib/*.h",
		"src/stdlib/*.c",
		"src/thread/*.h",
		"src/thread/*.c",
		"src/thread/generic/SDL_syscond.h",
		"src/thread/generic/SDL_syscond.c",
		"src/timer/*.h",
		"src/timer/*.c",
		"src/video/*.h",
		"src/video/*.c",
		"src/video/dummy/*.h",
		"src/video/dummy/*.c",
	}

	filter "system:Windows"
		links
		{
			"setupapi"
		}

		files
		{
			"src/main/windows/SDL_windows_main.c",
			"src/audio/directsound/*.h",
			"src/audio/directsound/*.c",
			"src/audio/winmm/*.h",
			"src/audio/winmm/*.c",
			"src/audio/wasapi/*.h",
			"src/audio/wasapi/*.c",
			"src/core/windows/*.h",
			"src/core/windows/*.c",
			"src/filesystem/windows/*.h",
			"src/filesystem/windows/*.c",
			"src/haptic/windows/*.h",
			"src/haptic/windows/*.c",
			"src/joystick/windows/*.h",
			"src/joystick/windows/*.c",
			"src/loadso/windows/*.h",
			"src/loadso/windows/*.c",
			"src/locale/windows/*.h",
			"src/locale/windows/*.c",
			"src/misc/windows/*.h",
			"src/misc/windows/*.c",
			"src/power/windows/*.h",
			"src/power/windows/*.c",
			"src/render/direct3d/*.h",
			"src/render/direct3d/*.c",
			"src/render/direct3d11/*.h",
			"src/render/direct3d11/*.c",
			"src/render/opengl/*.h",
			"src/render/opengl/*.c",
			"src/render/opengles2/*.h",
			"src/render/opengles2/*.c",
			"src/sensor/windows/*.h",
			"src/sensor/windows/*.c",
			"src/thread/windows/*.h",
			"src/thread/windows/*.c",
			"src/timer/windows/*.h",
			"src/timer/windows/*.c",
			"src/video/khronos/vulkan/*.h",
			"src/video/windows/*.h",
			"src/video/windows/*.c",
			"src/video/yuv2rgb/*.h",
			"src/video/yuv2rgb/*.c",
		}

		defines
		{
			"HAVE_LIBC"
		}