Make file & spec file generalization
[platform/core/appfw/librua.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(rua C)
3
4 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
5 SET(EXEC_PREFIX "\${prefix}")
6 SET(INCLUDEDIR "\${prefix}/include/${PROJECT_NAME}")
7 SET(VERSION 0.1.0)
8
9 AUX_SOURCE_DIRECTORY(src SRCS)
10
11 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
12
13 INCLUDE(FindPkgConfig)
14 pkg_check_modules(pkgs REQUIRED sqlite3 db-util libtzplatform-config bundle aul)
15
16 FOREACH(flag ${pkgs_CFLAGS})
17         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
18 ENDFOREACH(flag)
19
20 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
21
22 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
23
24 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
25 ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"")
26 ADD_DEFINITIONS("-DDATAFS=\"$ENV{DATADIR}\"")
27
28 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
29 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION 0)
30 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
31 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
32
33 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
34 #CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc @ONLY)
35
36 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
37 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
38 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/rua.h DESTINATION include/${PROJECT_NAME})
39 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/rua_internal.h DESTINATION include/${PROJECT_NAME})
40 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/rua_stat.h DESTINATION include/${PROJECT_NAME})
41 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/rua_stat_internal.h DESTINATION include/${PROJECT_NAME})
42 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/rua_util.h DESTINATION include/${PROJECT_NAME})
43
44
45 ADD_SUBDIRECTORY(test)