CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
IF(NOT CMAKE_MAJOR_VERSION EQUAL 2 OR NOT CMAKE_MINOR_VERSION EQUAL 4)
        CMAKE_POLICY(SET CMP0003 NEW)
        CMAKE_POLICY(SET CMP0005 NEW)
        CMAKE_POLICY(SET CMP0006 NEW) #MAC OSX BUNDLE
ENDIF(NOT CMAKE_MAJOR_VERSION EQUAL 2 OR NOT CMAKE_MINOR_VERSION EQUAL 4)

PROJECT(mmpong)

FIND_PACKAGE(Subversion)
IF(Subversion_FOUND AND EXISTS .svn)
	Subversion_WC_INFO( ${CMAKE_SOURCE_DIR} MMPONG )
	MESSAGE(STATUS "Compiling SVN revision ${MMPONG_WC_REVISION}")
ENDIF(Subversion_FOUND AND EXISTS .svn)

IF(CMAKE_SYSTEM_NAME STREQUAL "Windows")
	MESSAGE(STATUS "Compiling for capitalist Windows OS")
ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Windows")

STRING(COMPARE EQUAL "${CMAKE_BINARY_DIR}" "${CMAKE_SOURCE_DIR}" INSOURCE)
IF(INSOURCE)
        MESSAGE(FATAL_ERROR "Please do an out-of-source build:\ncd build\ncmake ..\nmake\n\nDon't forget to remove CMakeFiles and CMakeCache.txt before performing an out-of-source build!\n\n")
ENDIF(INSOURCE)

SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -Wall")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")

SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
SET(INC_DIR_LIB ${CMAKE_SOURCE_DIR}/lib)

ADD_SUBDIRECTORY(lib)
ADD_SUBDIRECTORY(server)
ADD_SUBDIRECTORY(client_caca)
ADD_SUBDIRECTORY(client_gl)
