# AIL build script

CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(ail C)

SET(LIBNAME "lib${PROJECT_NAME}")
SET(PREFIX ${CMAKE_INSTALL_PREFIX})
SET(BINDIR "${PREFIX}/bin")
SET(LIBDIR "${PREFIX}/lib")
SET(INCLUDEDIR "${PREFIX}/include")
SET(VERSION_MAJOR 0)
SET(VERSION "${VERSION_MAJOR}.1.0")

# Add definitions
ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
ADD_DEFINITIONS("-DPKGTYPE=\"${BUILD_PKGTYPE}\"")

EXECUTE_PROCESS(COMMAND ../build_util/code_gen.sh)

SET(SRCS
	src/ail_db.c
	src/ail_filter.c
	src/ail_sql.c
	src/ail_package.c
	src/ail_desktop.c
	src/ail_convert.c
)

INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)

INCLUDE(FindPkgConfig)

pkg_check_modules(LPKGS REQUIRED glib-2.0 sqlite3 dlog db-util xdgmime vconf)
STRING(REPLACE ";" " " EXTRA_CFLAGS "${LPKGS_CFLAGS}")
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")

# Make libraries
ADD_LIBRARY(${LIBNAME} SHARED ${SRCS})
TARGET_LINK_LIBRARIES(${LIBNAME} ${LPKGS_LIBRARIES})
SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES COMPILE_FLAGS "${EXTRA_CFLAGS}")
SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES PREFIX "")
SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES VERSION ${VERSION})
SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES SOVERSION ${VERSION_MAJOR})

# PC file
CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pc @ONLY)

# Install
INSTALL(TARGETS ${LIBNAME} DESTINATION lib)
INSTALL(FILES ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION lib/pkgconfig)
INSTALL(FILES ${CMAKE_SOURCE_DIR}/include/ail.h DESTINATION include)
INSTALL(FILES ${CMAKE_SOURCE_DIR}/desktop.conf DESTINATION share/install-info)

# AIL init database
ADD_SUBDIRECTORY(initdb)

