tizen 2.4 release
[framework/base/syspopup.git] / syspopup / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 SET(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
3
4 PROJECT(syspopup C)
5 SET(VERSION 1.1)
6
7 ### Global setting ###
8
9 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
10 SET(EXEC_PREFIX "\${prefix}")
11 SET(LIBDIR "\${prefix}/lib")
12 SET(INCLUDEDIR "\${prefix}/include")
13
14 # Build type : Release
15 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
16         SET(CMAKE_BUILD_TYPE "Release")
17 ENDIF()
18 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
19
20 # Set required packages
21 INCLUDE(FindPkgConfig)
22
23 pkg_check_modules(sppkgs REQUIRED dlog bundle sqlite3 glib-2.0 evas elementary utilX ecore-x x11 ecore ecore-input gio-2.0)
24
25 FOREACH(flag ${sppkgs_CFLAGS})
26         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
27 ENDFOREACH(flag)
28
29 # Compiler flags
30 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Wl,-zdefs" )
31 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
32 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
33 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
34 SET(CMAKE_C_FLAGS_RELEASE "-O2")
35
36 SET(CMAKE_SKIP_BUILD_RPATH true)
37
38 # Get uname value to set 'TARGET' definition 
39 # TODO: Is this needed?
40 FIND_PROGRAM(UNAME NAMES uname)
41 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
42 IF("${ARCH}" STREQUAL "arm")
43         ADD_DEFINITIONS("-DTARGET")
44         MESSAGE("add -DTARGET")
45 ENDIF("${ARCH}" STREQUAL "arm")
46
47 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
48 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
49
50 # Linker flags
51 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
52
53
54 ### Build ###
55
56 add_library(syspopup SHARED syspopup.c syspopup_efl.c)
57 target_link_libraries(syspopup syspopup_mods ${sppkgs_LDFLAGS})
58 SET_TARGET_PROPERTIES(syspopup PROPERTIES SOVERSION 0.1.0)
59
60 # pkgconfig file
61 #CONFIGURE_FILE(syspopup.pc.in syspopup/syspopup.pc @ONLY)
62 CONFIGURE_FILE(syspopup.pc.in ${CMAKE_CURRENT_BINARY_DIR}/syspopup.pc @ONLY)
63
64 ### Install ###
65 INSTALL(TARGETS syspopup DESTINATION lib COMPONENT RuntimeLibraries)
66 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../include/syspopup.h DESTINATION include)
67 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/syspopup.pc DESTINATION lib/pkgconfig)
68