merge tizen 2.4
[platform/core/appfw/libeventsystem.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 PROJECT(eventsystem C)
4
5 SET(VERSION 0.0.1)
6 SET(VERSION_MAJOR 0)
7
8 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
9 SET(EXEC_PREFIX "\${prefix}")
10 SET(LIBDIR "\${prefix}/lib")
11 SET(INCLUDEDIR "\${prefix}/include")
12
13 set(CMAKE_SKIP_BUILD_RPATH true)
14
15 ### Local include directories
16 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/src)
17
18 ### Required packages
19 INCLUDE(FindPkgConfig)
20
21 pkg_check_modules(libpkgs REQUIRED dlog bundle openssl glib-2.0 capi-base-common)
22
23 #FIND_LIBRARY(LIB_DL dl)
24
25 FOREACH(flag ${libpkgs_CFLAGS})
26         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
27 ENDFOREACH(flag)
28
29 ## Additional flag
30 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
31 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -Wall")
32 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
33
34 ## Linker flags
35 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
36
37 ## build eventsystem library
38 add_library(eventsystem SHARED
39                 src/eventsystem.c
40                 )
41
42 #TARGET_LINK_LIBRARIES(eventsystem "-ldl")
43 TARGET_LINK_LIBRARIES(eventsystem ${libpkgs_LDFLAGS})
44 SET_TARGET_PROPERTIES(eventsystem PROPERTIES SOVERSION ${VERSION_MAJOR})
45 SET_TARGET_PROPERTIES(eventsystem PROPERTIES VERSION ${VERSION})
46
47 # pkgconfig file
48 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/eventsystem.pc.in ${CMAKE_BINARY_DIR}/eventsystem.pc @ONLY)
49 configure_file(eventsystem.manifest.in eventsystem.manifest @ONLY)
50
51 INSTALL(TARGETS eventsystem DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
52 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/eventsystem.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
53 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/eventsystem.h DESTINATION include)
54 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/eventsystem_internal.h DESTINATION include)