SET( LIB_SOURCES
	badminton.c
	game.c
	helpers.c
	linear.c
	message.c
	padflat.c
	padround.c
)
SET( LIB_HEADERS
	badminton.h
	dllhelper.h
	game.h
	helpers.h
	linear.h
	message.h
	padflat.h
	padround.h
)
SET( LIB_LIBRARIES
	m
)

SET( LIB_VER_MAJ 0 )
SET( LIB_VER_MIN 9 )
SET( SVN_REV "${MMPONG_WC_REVISION}" )


IF(CMAKE_SYSTEM_NAME STREQUAL "Windows")
	SET( LIB_LIBRARIES ${LIB_LIBRARIES} ws2_32)
	ADD_DEFINITIONS( -DMMPONG_BUILD_DLL)
ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Windows")

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

CONFIGURE_FILE ( mmpong.pc.in ${CONFIGURE_DIR}/mmpong.pc @ONLY )

#shared
ADD_LIBRARY( libmmpong SHARED ${LIB_SOURCES} )
SET_TARGET_PROPERTIES( libmmpong PROPERTIES 
	OUTPUT_NAME "mmpong"
	CLEAN_DIRECT_OUTPUT 1
	SOVERSION "${LIB_VER_MAJ}.${LIB_VER_MIN}"
	VERSION "${LIB_VER_MAJ}.${LIB_VER_MIN}"
	PUBLIC_HEADER "${LIB_HEADERS}"
)
TARGET_LINK_LIBRARIES( libmmpong ${LIB_LIBRARIES})

#static
ADD_LIBRARY( libmmpong-static STATIC ${LIB_SOURCES} )
SET_TARGET_PROPERTIES( libmmpong-static PROPERTIES 
	OUTPUT_NAME "mmpong"
	CLEAN_DIRECT_OUTPUT 1
	SOVERSION "${LIB_VER_MAJ}.${LIB_VER_MIN}"
	VERSION "${LIB_VER_MAJ}.${LIB_VER_MIN}"
)
TARGET_LINK_LIBRARIES( libmmpong-static ${LIB_LIBRARIES})

IF(NOT CMAKE_MAJOR_VERSION EQUAL 2 OR NOT CMAKE_MINOR_VERSION EQUAL 4)
	INSTALL(TARGETS libmmpong libmmpong-static
  	LIBRARY DESTINATION lib
	  ARCHIVE DESTINATION lib
		PUBLIC_HEADER DESTINATION include/mmpong
	)
ELSEIF(NOT CMAKE_MAJOR_VERSION EQUAL 2 OR NOT CMAKE_MINOR_VERSION EQUAL 4)
	INSTALL(TARGETS libmmpong libmmpong-static
  	LIBRARY DESTINATION lib
	  ARCHIVE DESTINATION lib
	)
ENDIF(NOT CMAKE_MAJOR_VERSION EQUAL 2 OR NOT CMAKE_MINOR_VERSION EQUAL 4)

INSTALL(FILES ${CONFIGURE_DIR}/mmpong.pc 
	DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig
)

IF(APPLE)
	SET_TARGET_PROPERTIES( libmmpong PROPERTIES FRAMEWORK TRUE)
	
	ADD_CUSTOM_COMMAND(TARGET libmmpong POST_BUILD

		COMMAND install_name_tool
		-id @executable_path/../Frameworks/mmpong.framework/Versions/${LIB_VER_MAJ}.${LIB_VER_MIN}/mmpong
		${CMAKE_BINARY_DIR}/mmpong.framework/mmpong
	)
	SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES
		${CMAKE_BINARY_DIR}/mmpong.framework
	)
ENDIF(APPLE) 
		
