Add new functions for component-based application
[platform/core/appfw/aul-1.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
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 dlog bundle xdgmime libtzplatform-config pkgmgr-info capi-system-info vconf sqlite3 iniparser gio-2.0 glib-2.0 libxml-2.0 ttrace storage)
15 pkg_check_modules(libpkgs REQUIRED ${AUL-1_LIB_PKG_CHECK_MODULES})
16
17 FOREACH(flag ${libpkgs_CFLAGS})
18         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
19 ENDFOREACH(flag)
20
21 pkg_check_modules(APP_LAUNCHER_DEPS glib-2.0 pkgmgr-info bundle)
22 FOREACH(APP_LAUNCHER_FLAGS ${APP_LAUNCHER_DEPS_CFLAGS})
23         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${APP_LAUNCHER_FLAGS}")
24 ENDFOREACH(APP_LAUNCHER_FLAGS)
25
26 # Compiler flags
27 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
28 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/legacy)
29 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/feature)
30 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Wl,-zdefs" )
31 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
32 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fpic")
33 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Werror")
34 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
35 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
36 SET(CMAKE_C_FLAGS_RELEASE "-O2")
37 SET(CMAKE_SKIP_BUILD_RPATH true)
38 # Linker flags
39 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
40
41 # aul
42 add_library(aul SHARED ${SOURCES})
43 TARGET_LINK_LIBRARIES(aul ${libpkgs_LDFLAGS})
44 SET_TARGET_PROPERTIES(aul PROPERTIES SOVERSION ${MAJORVER})
45 SET_TARGET_PROPERTIES(aul PROPERTIES VERSION ${FULLVER})
46 INSTALL(TARGETS aul DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
47
48 # pkgconfig file
49 CONFIGURE_FILE(aul.pc.in aul.pc @ONLY)
50 CONFIGURE_FILE(feature/preexec_list.txt.in feature/preexec_list.txt @ONLY)
51
52 SET(HEADERS_LIB_AUL
53         aul.h
54         aul_sock.h
55         aul_proc.h
56         aul_rsc_mgr.h
57         aul_svc.h
58         aul_cmd.h
59         aul_app_com.h
60         aul_screen_connector.h
61         aul_window.h
62         aul_widget.h
63         aul_job_scheduler.h
64         aul_rpc_port.h
65         aul_complication.h
66         aul_debug_info.h
67         aul_watchdog.h
68         aul_svc_internal.h
69         aul_key.h
70         aul_comp_status.h
71         )
72
73 # Install headers, other files
74 FOREACH(hfile ${HEADERS_LIB_AUL})
75         INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/${hfile} DESTINATION include/aul)
76 ENDFOREACH(hfile)
77
78 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/aul.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
79 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/feature/preexec_list.txt DESTINATION ${SHARE_INSTALL_PREFIX}/aul )
80 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/miregex DESTINATION ${SHARE_INSTALL_PREFIX}/aul )
81 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/aul.conf DESTINATION /etc/dbus-1/system.d)
82
83 # tool
84 ADD_SUBDIRECTORY(tool)
85 ADD_SUBDIRECTORY(parser)