Merge branch 'tizen_2.2' into tizen
[platform/core/appfw/ail.git] / CMakeLists.txt
1 # AIL build script
2
3 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
4 PROJECT(ail C)
5
6 SET(LIBNAME "lib${PROJECT_NAME}")
7 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
8 SET(BINDIR "${PREFIX}/bin")
9 SET(LIBDIR "${LIB_INSTALL_DIR}")
10 SET(INCLUDEDIR "${PREFIX}/include")
11 SET(VERSION_MAJOR 0)
12 SET(VERSION "${VERSION_MAJOR}.1.0")
13
14 # Add definitions
15 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
16 ADD_DEFINITIONS("-DPKGTYPE=\"${BUILD_PKGTYPE}\"")
17
18 EXECUTE_PROCESS(COMMAND ../build_util/code_gen.sh)
19
20 SET(SRCS
21         src/ail_db.c
22         src/ail_filter.c
23         src/ail_sql.c
24         src/ail_package.c
25         src/ail_desktop.c
26         src/ail_convert.c
27 )
28
29 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
30
31 INCLUDE(FindPkgConfig)
32
33 pkg_check_modules(LPKGS REQUIRED glib-2.0 sqlite3 dlog db-util xdgmime vconf)
34 STRING(REPLACE ";" " " EXTRA_CFLAGS "${LPKGS_CFLAGS}")
35 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
36
37 # Make libraries
38 ADD_LIBRARY(${LIBNAME} SHARED ${SRCS})
39 TARGET_LINK_LIBRARIES(${LIBNAME} ${LPKGS_LIBRARIES})
40 SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES COMPILE_FLAGS "${EXTRA_CFLAGS}")
41 SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES PREFIX "")
42 SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES VERSION ${VERSION})
43 SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
44
45 # PC file
46 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pc @ONLY)
47
48 # Install
49 INSTALL(TARGETS ${LIBNAME} DESTINATION ${LIB_INSTALL_DIR})
50 INSTALL(FILES ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
51 INSTALL(FILES ${CMAKE_SOURCE_DIR}/include/ail.h DESTINATION include)
52 INSTALL(FILES ${CMAKE_SOURCE_DIR}/desktop.conf DESTINATION share/install-info)
53
54 # AIL init database
55 ADD_SUBDIRECTORY(initdb)
56