cmake_minimum_required (VERSION 2.6)
project(dba)

option ( DBA_ENABLE_MYSQL  "Enable or disable the MySQL interface" 1 )
option ( DBA_ENABLE_SQLITE "Enable or disable the SQLite interface" 0 )

add_definitions(-std=gnu++0x)

if ( DBA_ENABLE_MYSQL )
	include ( cmakeincludes/FindMySQL.cmake )
	if ( NOT MYSQL_FOUND )
		message(FATAL_ERROR "Unable to find MySQL")
	endif ( NOT MYSQL_FOUND )
	include_directories(${MYSQL_INCLUDE_DIR})
	add_definitions(-DDBA_ENABLE_MYSQL)
else ( DBA_ENABLE_MYSQL )
	set ( MYSQL_LIBRARIES "" )
endif ( DBA_ENABLE_MYSQL ) 

if ( DBA_ENABLE_SQLITE )
	include ( cmakeincludes/FindSQLite.cmake )
	include_directories(${SQLITE3_INCLUDE_DIR})
	add_definitions(-DDBA_ENABLE_SQLITE)
else ( DBA_ENABLE_SQLITE)
	set ( SQLITE3_LIBRARIES "" )
endif ( DBA_ENABLE_SQLITE )

add_library ( libdba
				dbaConn.cpp
				dbaConnMySQL.cpp
				dbaConnSQLite.cpp
				)

add_executable (dba
				main.cpp
				)
target_link_libraries(dba libdba ${MYSQL_LIBRARIES} ${SQLITE3_LIBRARIES})

if ( NOT MSVC )
	set_target_properties(libdba dba PROPERTIES COMPILE_FLAGS "-Wall -Werror")
endif ( NOT MSVC )

install(TARGETS libdba LIBRARY DESTINATION lib ARCHIVE DESTINATION lib)
install(FILES dbaConn.h dbaConnMySQL.h dbaConnSQLite.h DESTINATION include PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)

