find_package(SDL)

if(SDL_FOUND)
	include_directories(SDL_INCLUDE_DIR)
endif()

set(H_LIST
	SDLWrap.h
	SDLFb.h
	SDLFbLocal.h
	Local.h
	Keys.h
)

set(SRC_LIST
	Win.cpp
	Proc.cpp
)

add_library(rainbow_SDLFB ${SRC_LIST})

set(USES_LIST Framebuffer)

#library(MSC) "SDL SDLmain";
if(MSVC)
	list(APPEND LINK_LIST SDL SDLmain)
endif()
	
#library(GCC WIN32 !SHARED) "SDL.dll SDLmain mingw32";
#library(GCC WIN32 SHARED) "SDL SDLmain mingw32";
if(CMAKE_COMPILER_IS_GNUCC AND WIN32)
	if(BUILD_SHARED_LIBS)
		list(APPEND LINK_LIST SDL SDLmain mingw32)
	else()
		list(APPEND LINK_LIST SDL.dll SDLmain mingw32)
	endif()
endif()

#library(LINUX) "SDL SDLmain";
if(CMAKE_SYSTEM MATCHES Linux)
	list(APPEND LINK_LIST SDL SDLmain)
endif()

#library(FREEBSD) "SDL SDLmain X11 Xext Xrandr Xrender vga vgl aa usbhid ncurses";
if(CMAKE_SYSTEM MATCHES FreeBSD)
	list(APPEND LINK_LIST SDL SDLmain X11 Xext Xrandr Xrender vga vgl aa usbhid ncurses)
endif()

#link(MSC DEBUG) /NODEFAULTLIB:msvcrt.lib;
if(MSVC AND CMAKE_BUILD_TYPE MATCHES Debug)
	set_target_properties(rainbow_SDLFB PROPERTIES LINK_FLAGS /NODEFAULTLIB:msvcrt.lib)
endif()

add_dependencies(rainbow_SDLFB ${USES_LIST})
target_link_libraries(rainbow_SDLFB ${USES_LIST} ${LINK_LIST})
