Update install.in
[framework/pim/calendar-service.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(calendar-service C)
3
4 #IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
5 #       SET(CMAKE_BUILD_TYPE "Release")
6 #ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
7 #MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
8
9 SET(DEST_INCLUDE_DIR "include/calendar-svc")
10 SET(SRC_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/include")
11
12 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
13 SET(EXEC_PREFIX "\${prefix}")
14 SET(LIBDIR "\${prefix}/lib")
15 SET(INCLUDEDIR "\${prefix}/${DEST_INCLUDE_DIR}")
16 SET(VERSION_MAJOR 0)
17 SET(VERSION "${VERSION_MAJOR}.1.12")
18
19 #INCLUDE_DIRECTORIES(${SRC_INCLUDE_DIR})
20 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -I${CMAKE_SOURCE_DIR}/include")
21
22 FILE(GLOB SRCS src/*.c)
23
24 INCLUDE(FindPkgConfig)
25 pkg_check_modules(pkgs REQUIRED glib-2.0 sqlite3 vconf dlog db-util alarm-service)
26
27 FOREACH(flag ${pkgs_CFLAGS})
28         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
29 ENDFOREACH(flag)
30
31 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
32
33 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
34 #SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
35 #SET(CMAKE_C_FLAGS_RELEASE "-mabi=aapcs-linux -march=armv7-a -msoft-float -O2")
36
37 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
38
39 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
40 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
41 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
42 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
43
44 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
45 SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${PROJECT_NAME}.pc;schema/schema.h")
46
47 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib)
48 INSTALL(FILES ${PROJECT_NAME}.pc DESTINATION lib/pkgconfig)
49
50 FILE(GLOB HEADER_FILES ${SRC_INCLUDE_DIR}/calendar-svc*.h)
51 INSTALL(FILES ${HEADER_FILES} DESTINATION ${DEST_INCLUDE_DIR})
52
53 FILE(GLOB NOTI_FILES ${CMAKE_SOURCE_DIR}/.CALENDAR_SVC_*_CHANGED)
54 INSTALL(FILES ${NOTI_FILES} DESTINATION /opt/data/calendar-svc)
55
56 # for immigration
57 SET(IMMIGRATION "calendar")
58 SET(OLD_DEST_INCLUDE_DIR "include/calendar")
59 INSTALL(FILES ${IMMIGRATION}.pc DESTINATION lib/pkgconfig)
60 INSTALL(FILES ${SRC_INCLUDE_DIR}/calendar-svc-provider.h DESTINATION ${OLD_DEST_INCLUDE_DIR})
61 INSTALL(FILES ${SRC_INCLUDE_DIR}/calendar-svc-struct.h DESTINATION ${OLD_DEST_INCLUDE_DIR})
62 INSTALL(FILES ${SRC_INCLUDE_DIR}/calendar-svc-errors.h DESTINATION ${OLD_DEST_INCLUDE_DIR})
63
64 ADD_SUBDIRECTORY(schema)