Support Seamless Effect
[platform/core/appfw/aul-1.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
2 SET(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
3 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
4 SET(EXEC_PREFIX "\${prefix}")
5 SET(VERSION ${FULLVER})
6
7 PROJECT(aul C)
8 AUX_SOURCE_DIRECTORY(src SOURCES)
9
10 ADD_DEFINITIONS("-DSHARE_PREFIX=\"${SHARE_INSTALL_PREFIX}/aul\"")
11
12 # Set required packages
13 INCLUDE(FindPkgConfig)
14 SET(AUL-1_LIB_PKG_CHECK_MODULES
15         dlog
16         bundle
17         xdgmime
18         libtzplatform-config
19         pkgmgr-info
20         capi-system-info
21         vconf
22         sqlite3
23         iniparser
24         gio-2.0
25         glib-2.0
26         libxml-2.0
27         ttrace
28         storage
29         uuid)
30 pkg_check_modules(libpkgs REQUIRED ${AUL-1_LIB_PKG_CHECK_MODULES})
31
32 FOREACH(flag ${libpkgs_CFLAGS})
33         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
34 ENDFOREACH(flag)
35
36 pkg_check_modules(APP_LAUNCHER_DEPS glib-2.0 pkgmgr-info bundle)
37 FOREACH(APP_LAUNCHER_FLAGS ${APP_LAUNCHER_DEPS_CFLAGS})
38         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${APP_LAUNCHER_FLAGS}")
39 ENDFOREACH(APP_LAUNCHER_FLAGS)
40
41 # Compiler flags
42 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
43 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/legacy)
44 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/feature)
45 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Wl,-zdefs" )
46 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
47 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fpic")
48 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Werror")
49 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
50 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
51 SET(CMAKE_C_FLAGS_RELEASE "-O2")
52 SET(CMAKE_SKIP_BUILD_RPATH true)
53 # Linker flags
54 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
55
56 # aul
57 add_library(aul SHARED ${SOURCES})
58 TARGET_LINK_LIBRARIES(aul ${libpkgs_LDFLAGS})
59 SET_TARGET_PROPERTIES(aul PROPERTIES SOVERSION ${MAJORVER})
60 SET_TARGET_PROPERTIES(aul PROPERTIES VERSION ${FULLVER})
61 INSTALL(TARGETS aul DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
62
63 # pkgconfig file
64 CONFIGURE_FILE(aul.pc.in aul.pc @ONLY)
65 CONFIGURE_FILE(feature/preexec_list.txt.in feature/preexec_list.txt @ONLY)
66
67 SET(HEADERS_LIB_AUL
68         aul.h
69         aul_sock.h
70         aul_proc.h
71         aul_rsc_mgr.h
72         aul_svc.h
73         aul_cmd.h
74         aul_app_com.h
75         aul_screen_connector.h
76         aul_window.h
77         aul_widget.h
78         aul_job_scheduler.h
79         aul_rpc_port.h
80         aul_complication.h
81         aul_debug_info.h
82         aul_watchdog.h
83         aul_svc_internal.h
84         aul_key.h
85         aul_comp_status.h
86         aul_app_group.h
87         aul_comp_info.h
88         aul_comp_context.h
89         aul_comp_info_internal.h
90         aul_watch_control.h
91         aul_comp_types.h
92         aul_launcher_service.h
93         aul_running_context.h
94         )
95
96 # Install headers, other files
97 FOREACH(hfile ${HEADERS_LIB_AUL})
98         INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/${hfile} DESTINATION include/aul)
99 ENDFOREACH(hfile)
100
101 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/aul.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
102 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/feature/preexec_list.txt DESTINATION ${SHARE_INSTALL_PREFIX}/aul )
103 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/miregex DESTINATION ${SHARE_INSTALL_PREFIX}/aul )
104 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/aul.conf DESTINATION /etc/dbus-1/system.d)
105
106 # tool
107 ADD_SUBDIRECTORY(tool)
108 ADD_SUBDIRECTORY(parser)