SET( CLIENT_GL TRUE)
SET( CLIENT_GL_SOURCES
	client.cpp
	game.cpp
	glhelper.cpp
	gui.cpp
	netgame.cpp
	renderer.cpp
	resource.cpp
)
SET( SVN_REV "${MMPONG_WC_REVISION}" )


FIND_PACKAGE(SDL)
IF(SDL_FOUND)
	MESSAGE(STATUS "found SDL!")
ELSE(SDL_FOUND)
	SET(CLIENT_GL FALSE)
ENDIF(SDL_FOUND)

FIND_PACKAGE(SDL_image)
IF(SDLIMAGE_FOUND)
	MESSAGE(STATUS "found SDLIMAGE!")
ELSE(SDLIMAGE_FOUND)
	SET(CLIENT_GL FALSE)
ENDIF(SDLIMAGE_FOUND)

FIND_PACKAGE(SDL_mixer)
IF(SDLMIXER_FOUND)
	MESSAGE(STATUS "found SDLMIXER!")
ELSE(SDLMIXER_FOUND)
	SET(CLIENT_GL FALSE)
ENDIF(SDLMIXER_FOUND)

FIND_PACKAGE(OpenGL)
IF(OPENGL_FOUND)
	MESSAGE(STATUS "found OpenGL!")
ELSE(OPENGL_FOUND)
	SET(CLIENT_GL FALSE)
ENDIF(OPENGL_FOUND)

FIND_PACKAGE(PkgConfig)
IF(PKG_CONFIG_FOUND)
	MESSAGE(STATUS "found pkg-config!")
	PKG_SEARCH_MODULE(CEGUI CEGUI-OPENGL)
	IF(CEGUI_FOUND)
		MESSAGE(STATUS "found CEGUI! ${CEGUI_LIBRARIES} ${CEGUI_INCLUDE_DIRS}")
	ENDIF(CEGUI_FOUND)
ENDIF(PKG_CONFIG_FOUND)

IF(NOT CEGUI_FOUND)
	SET(CEGUI_LIBRARIES "NOTFOUND" CACHE STRING "Path to library")
	SET(CEGUI_LINK_DIRS "" CACHE STRING "Path to libraries")
	SET(CEGUI_INCLUDE_DIRS "NOTFOUND" CACHE STRING "Path to includes")
	SET(CLIENT_GL FALSE CACHE BOOL "manually set flag")
ENDIF(NOT CEGUI_FOUND)

IF(CLIENT_GL)
	MESSAGE(STATUS "activating mmpong-gl.")
	LINK_DIRECTORIES(${CEGUI_LINK_DIRS})
	IF(APPLE)
		SET(CLIENT_GL_SOURCES ${CLIENT_GL_SOURCES} macosx/SDLMain.m)
		SET(MACOSX_BUNDLE_ICON_FILE mmpong.icns)
		ADD_EXECUTABLE( mmpong-gl MACOSX_BUNDLE ${CLIENT_GL_SOURCES})

		SET (DMG_FILE "${CMAKE_BINARY_DIR}/mmpong.dmg")
		#populate bundle
		ADD_CUSTOM_COMMAND(TARGET mmpong-gl POST_BUILD

			COMMAND mkdir
			ARGS -p 
			${CMAKE_BINARY_DIR}/mmpong-gl.app/Contents/Resources/images
			${CMAKE_BINARY_DIR}/mmpong-gl.app/Contents/Resources/icon
			${CMAKE_BINARY_DIR}/mmpong-gl.app/Contents/Frameworks
		
			COMMAND cp
			ARGS ${CMAKE_SOURCE_DIR}/resources/icon/mmpong.png
			${CMAKE_BINARY_DIR}/mmpong-gl.app/Contents/Resources/icon/

			COMMAND cp
			ARGS ${CMAKE_SOURCE_DIR}/resources/icon/mmpong.png
			${CMAKE_SOURCE_DIR}/resources/images/*.png
			${CMAKE_BINARY_DIR}/mmpong-gl.app/Contents/Resources/images/

			COMMAND cp
			ARGS -R
			${CMAKE_BINARY_DIR}/mmpong.framework
			/Library/Frameworks/SDL.framework
			/Library/Frameworks/SDL_image.framework
			/Library/Frameworks/SDL_mixer.framework
			${CMAKE_BINARY_DIR}/mmpong-gl.app/Contents/Frameworks/
			
			COMMAND cp
			ARGS -R
			${CMAKE_SOURCE_DIR}/resources/icon/mmpong.icns
			${CMAKE_SOURCE_DIR}/resources/sounds
			${CMAKE_SOURCE_DIR}/resources/CEGUI
			/Library/Frameworks/CEGUI.framework
			/Library/Frameworks/CEGUIOpenGLRenderer.framework
			${CMAKE_BINARY_DIR}/mmpong-gl.app/Contents/Resources/
			
			COMMAND find
			ARGS 
			${CMAKE_BINARY_DIR}/mmpong-gl.app -name .svn | xargs rm -r

			COMMAND hdiutil
			ARGS create -srcfolder ${CMAKE_BINARY_DIR}/mmpong-gl.app ${DMG_FILE}
			-format UDBZ -volname mmpong -ov
		)
	
		SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES
			${CMAKE_BINARY_DIR}/mmpong-gl.app
		)

	ELSEIF(WIN32)
		IF(MINGW)
			ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/mmpong_rc.o
				COMMAND windres.exe -i resources/win32/mmpong.rc
				-o ${CMAKE_CURRENT_BINARY_DIR}/mmpong_rc.o
				WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
		SET(CLIENT_GL_SOURCES ${CLIENT_GL_SOURCES}
			${CMAKE_CURRENT_BINARY_DIR}/mmpong_rc.o)
		ENDIF(MINGW)
		ADD_EXECUTABLE( mmpong-gl WIN32 ${CLIENT_GL_SOURCES})
	ELSE(APPLE)
		ADD_EXECUTABLE( mmpong-gl ${CLIENT_GL_SOURCES})
		SET( CLIENT_GL_RES_PATH
"${CMAKE_INSTALL_PREFIX}/share/games/mmpong-gl/" )
	ENDIF(APPLE)

	SET( CONFIGURE_DIR "${CMAKE_CURRENT_BINARY_DIR}")
	CONFIGURE_FILE ( config.h.in ${CONFIGURE_DIR}/config.h )

	INCLUDE_DIRECTORIES( mmpong-gl ${INC_DIR_LIB} ${SDL_INCLUDE_DIR}
${SDLIMAGE_INCLUDE_DIR} ${SDLMIXER_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR}
${CEGUI_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR} ${CONFIGURE_DIR})
	TARGET_LINK_LIBRARIES( mmpong-gl libmmpong ${CEGUI_LIBRARIES} ${SDL_LIBRARY}
${SDLIMAGE_LIBRARY} ${SDLMIXER_LIBRARY} ${OPENGL_LIBRARIES})

	
	IF(NOT CMAKE_MAJOR_VERSION EQUAL 2 OR NOT CMAKE_MINOR_VERSION EQUAL 4)
		INSTALL(TARGETS mmpong-gl 
			RUNTIME DESTINATION games
			BUNDLE DESTINATION games
		)
	ELSEIF(NOT CMAKE_MAJOR_VERSION EQUAL 2 OR NOT CMAKE_MINOR_VERSION EQUAL 4)
		INSTALL(TARGETS mmpong-gl 
			RUNTIME DESTINATION games
		)
	ENDIF(NOT CMAKE_MAJOR_VERSION EQUAL 2 OR NOT CMAKE_MINOR_VERSION EQUAL 4)

	INSTALL(DIRECTORY 
		${PROJECT_SOURCE_DIR}/resources/CEGUI 
		${PROJECT_SOURCE_DIR}/resources/icon
		${PROJECT_SOURCE_DIR}/resources/images 
		${PROJECT_SOURCE_DIR}/resources/sounds

		DESTINATION share/games/mmpong-gl 

		PATTERN ".svn" EXCLUDE
		PATTERN "mmpong.ico" EXCLUDE
		PATTERN "mmpong.icns" EXCLUDE
	)

	INSTALL(DIRECTORY 
		${PROJECT_SOURCE_DIR}/resources/applications
		${PROJECT_SOURCE_DIR}/resources/icons

		DESTINATION share

		PATTERN ".svn" EXCLUDE
	)


ELSE(CLIENT_GL)
	MESSAGE(STATUS "disabling mmpong-gl because of missing dependencies.")
ENDIF(CLIENT_GL)
