cmake_minimum_required(VERSION 2.6)

#This will build various binary packages (useful?).
#include(CPack)

project(EXCOSCBase)

#This is so CMake can find our Find...cmake files for GLEW, libogg & libvorbis,
#and PortAudio.
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")

find_package(SDL REQUIRED)
find_package(SDL_image REQUIRED)
find_package(Freetype REQUIRED)
find_package(OpenGL REQUIRED)
find_package(GLEW REQUIRED)
find_package(OggVorbis REQUIRED)
find_package(PortAudio)

set(Boost_USE_STATIC_LIBS OFF)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
find_package(Boost REQUIRED)

include_directories(${SDL_INCLUDE_DIR}
					${SDLIMAGE_INCLUDE_DIR}
					${FREETYPE_INCLUDE_DIRS}
					${OPENGL_INCLUDE_DIR}
					${GLEW_INCLUDE_PATH}
					${OGGVORBIS_INCLUDE_DIR}
					${BOOST_INCLUDE_DIR})
	

set(CORE_LIBS ${SDL_LIBRARY}
			  ${SDLIMAGE_LIBRARY} 
			  ${FREETYPE_LIBRARIES} 
			  ${OPENGL_LIBRARIES}
			  ${GLEW_LIBRARY}
			  ${OGGVORBIS_LIBRARIES}
			  ${BOOST_LIBRARIES})

if(PORTAUDIO_FOUND)
	include_directories(${PORTAUDIO_INCLUDE_DIRS})
	set(CORE_LIBS ${CORE_LIBS} ${PORTAUDIO_LIBRARIES})
endif(PORTAUDIO_FOUND)

#We use APP_NAME and INSTALL_DIR in NiallsAVLib (mainly for FilePath methods).
#LINUX is used in NiallsAVLib to mean "not Windows or OSX". Because all the
#other OSes out there are clearly identical to Linux... ;)
add_definitions(-std=c++0x
				-Wall
				-DLINUX
				-DAPP_NAME=\"${CMAKE_PROJECT_NAME}\" 
				-DINSTALL_DIR=\"${CMAKE_INSTALL_PREFIX}\")

add_subdirectory(NiallsAVLib)
add_subdirectory(src)
#add_subdirectory(UTF8Test)

#Any resource folders need to get listed here, or they won't end up in the
#correct place on install.
install(DIRECTORY
		fonts
		images
		scripts
		sounds
		DESTINATION
		share/${CMAKE_PROJECT_NAME})

#CMake doesn't provide an uninstall target by default, so I grabbed this from:
#http://www.cmake.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
			   "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
			   IMMEDIATE
			    @ONLY)
add_custom_target(uninstall
				  COMMAND ${CMAKE_COMMAND} 
				  -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)

