PROJECT( libopensync C )

SET( OPENSYNC_VERSION_MAJOR "0" )
SET( OPENSYNC_VERSION_MINOR "36" )
SET( OPENSYNC_SVN_REVISION "$Rev: 3096 $")
STRING( REGEX REPLACE "Rev: " "" OPENSYNC_SVN_REVISION ${OPENSYNC_SVN_REVISION} )
STRING( REGEX REPLACE "^\\$" "" OPENSYNC_SVN_REVISION ${OPENSYNC_SVN_REVISION} )
STRING( REGEX REPLACE " \\$$" "" OPENSYNC_SVN_REVISION ${OPENSYNC_SVN_REVISION} )


SET( OPENSYNC_VERSION "${OPENSYNC_VERSION_MAJOR}.${OPENSYNC_VERSION_MINOR}" )	

SET( OPENSYNC_PLUGINVERSION 1 )

################################################	

SET( CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_SOURCE_DIR}/cmake/modules )

INCLUDE( Documentation )
INCLUDE( OpenSyncDefaults )
INCLUDE( OpenSyncPackaging )

INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/opensync" ${CMAKE_CURRENT_SOURCE_DIR} )

###############################################

FIND_PACKAGE( GLIB2 REQUIRED )
FIND_PACKAGE( Sqlite3 REQUIRED )
FIND_PACKAGE( LibXml2 REQUIRED )
FIND_PACKAGE( SWIG )	
FIND_PACKAGE( PythonLibs )
FIND_PACKAGE( Check )

ADD_SUBDIRECTORY( opensync )
ADD_SUBDIRECTORY( formats )
ADD_SUBDIRECTORY( tools )
ADD_SUBDIRECTORY( misc )
ADD_SUBDIRECTORY( cmake )

IF ( SWIG_FOUND )
	ADD_SUBDIRECTORY( wrapper )
ENDIF ( SWIG_FOUND )

IF ( CHECK_FOUND AND OPENSYNC_UNITTESTS )
	INCLUDE( OpenSyncTesting )
	ADD_SUBDIRECTORY( tests )
ENDIF ( CHECK_FOUND AND OPENSYNC_UNITTESTS )

############################################## 

IF ( BUILD_DOCUMENTATION)
	IF ( DOXYGEN_DOT_EXECUTABLE )
		SET( HAVE_DOT "YES" )
	ENDIF ( DOXYGEN_DOT_EXECUTABLE )
	CONFIGURE_FILE( "Doxyfile.in" "Doxyfile" )
	ADD_CUSTOM_TARGET( DoxygenDoc ${DOXYGEN_EXECUTABLE} )
ENDIF ( BUILD_DOCUMENTATION )

INCLUDE( CheckFunctionExists )
CHECK_FUNCTION_EXISTS( flock HAVE_FLOCK )

# add uninstall target
CONFIGURE_FILE(	"${CMAKE_SOURCE_DIR}/cmake/modules/cmake_uninstall.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" IMMEDIATE @ONLY)

ADD_CUSTOM_TARGET(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")

CONFIGURE_FILE( "config.h.cmake" "config.h" )
CONFIGURE_FILE( "opensync-1.0.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/opensync-1.0.pc" )

########## INSTALL ##############################
	
INSTALL( FILES "${CMAKE_CURRENT_BINARY_DIR}/opensync-1.0.pc" DESTINATION ${LIB_INSTALL_DIR}/pkgconfig/ )	

### CPack ########################################

OPENSYNC_PACKAGE( ${PROJECT_NAME} ${OPENSYNC_VERSION} )

