LINK_DIRECTORIES( ${GLIB2_LIBRARY_DIRS} ${LIBXML2_LIBRARY_DIRS} ${SQLITE3_LIBRARY_DIRS} )

INCLUDE( ${SWIG_USE_FILE} )

SET(CMAKE_SWIG_FLAGS -Werror -Wall -modern)

FILE(GLOB SWIG_MODULE_opensync_EXTRA_DEPS opensync-*.i)


IF ( OPENSYNC_PYTHONBINDINGS AND PYTHON_LIBRARY ) 

	INCLUDE_DIRECTORIES( ${PYTHON_INCLUDE_PATH} )
# SWIG 1.3.31 is broken - SVN version of SWIG got fixed by andrewb (ticket #498)
	IF (CMAKE_COMPILER_IS_GNUCC)
		ADD_DEFINITIONS( -fno-strict-aliasing )
	ENDIF (CMAKE_COMPILER_IS_GNUCC)

	SWIG_ADD_MODULE( opensync python opensync.i )
	SWIG_LINK_LIBRARIES( opensync opensync ${PYTHON_LIBRARIES} )

# this is a modified version of the python module generated by SWIG
# we edit the python source to make the opensync.Error class an exception, allowing it to be raised
# FIXME: find a way (if it exists) of getting SWIG to do this for us
	ADD_CUSTOM_COMMAND(TARGET ${SWIG_MODULE_opensync_REAL_NAME} POST_BUILD
	   COMMAND sed ARGS "s/^class Error(object):/class Error(Exception):/" opensync.py > opensync_hack.py
	   COMMENT "Munging SWIG-generated Python class"
	   VERBATIM)

	INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/_opensync${CMAKE_SHARED_MODULE_SUFFIX}
	   DESTINATION ${LIB_INSTALL_DIR}/python${PYTHON_VERSION}/site-packages/ )
	INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/opensync_hack.py
	   DESTINATION ${LIB_INSTALL_DIR}/python${PYTHON_VERSION}/site-packages/ RENAME opensync.py )
ENDIF ( OPENSYNC_PYTHONBINDINGS AND PYTHON_LIBRARY )
