apply some APIs from aul
[platform/core/appfw/launchpad.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 SET (this_target_pool launchpad_pool)
3 SET (this_target_loader launchpad_loader)
4
5 INCLUDE(FindPkgConfig)
6 PKG_CHECK_MODULES(${this_target_pool} REQUIRED
7         dlog
8         libsystemd-daemon
9         dbus-glib-1
10         vconf
11         security-manager
12         bundle
13         )
14
15 FOREACH(flag ${${this_target_pool}_CFLAGS})
16         SET(EXTRA_CFLAGS_pool "${EXTRA_CFLAGS_pool} ${flag}")
17 ENDFOREACH(flag)
18
19 PKG_CHECK_MODULES(${this_target_loader} REQUIRED
20         dlog
21         ecore
22         elementary
23         security-manager
24         bundle
25         aul
26         )
27
28 FOREACH(flag ${${this_target_loader}_CFLAGS})
29         SET(EXTRA_CFLAGS_loader "${EXTRA_CFLAGS_loader} ${flag}")
30 ENDFOREACH(flag)
31
32 SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -Wl,-zdefs" )
33 SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -fvisibility=hidden")
34 SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -fPIE")
35 SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -fdata-sections -ffunction-sections -Wl,--gc-sections")
36 SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -D_FILE_OFFSET_BITS=64")
37
38 SET(EXTRA_CFLAGS_pool "${EXTRA_CFLAGS_pool} ${EXTRA_CFLAGS_common}")
39 SET(EXTRA_CFLAGS_loader "${EXTRA_CFLAGS_loader} ${EXTRA_CFLAGS_common}")
40
41 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
42 SET(CMAKE_C_FLAGS_RELEASE "-O2")
43 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
44 SET(CMAKE_SKIP_BUILD_RPATH TRUE)
45
46 ADD_DEFINITIONS("-DSHARE_PREFIX=\"/usr/share/aul\"")
47 IF(_APPFW_FEATURE_PRIORITY_CHANGE)
48         ADD_DEFINITIONS("-D_APPFW_FEATURE_PRIORITY_CHANGE")
49 ENDIF(_APPFW_FEATURE_PRIORITY_CHANGE)
50
51 ADD_DEFINITIONS("-DLAUNCHPAD_LOG")
52 ADD_DEFINITIONS("-DPRELOAD_ACTIVATE")
53 ADD_DEFINITIONS("-DPREEXEC_ACTIVATE")
54 #ADD_DEFINITIONS("-DPERF_ACTIVATE")
55
56 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/inc)
57
58 SET(LAUNCHPAD_LOADER "launchpad-loader")
59 SET(${LAUNCHPAD_LOADER}_SOURCE_FILES
60         src/launchpad_loader.c
61         src/launchpad_common.c
62         )
63 ADD_EXECUTABLE(${LAUNCHPAD_LOADER} ${${LAUNCHPAD_LOADER}_SOURCE_FILES})
64
65 TARGET_LINK_LIBRARIES(${LAUNCHPAD_LOADER} "-ldl")
66 TARGET_LINK_LIBRARIES(${LAUNCHPAD_LOADER} ${${this_target_loader}_LDFLAGS} "-pie")
67 SET_TARGET_PROPERTIES(${LAUNCHPAD_LOADER} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS_loader})
68 SET_TARGET_PROPERTIES(${LAUNCHPAD_LOADER}
69         PROPERTIES SKIP_BUILD_RPATH TRUE
70         ) # remove rpath option that is automatically generated by cmake.
71 INSTALL(TARGETS ${LAUNCHPAD_LOADER} DESTINATION bin)
72
73 SET(LAUNCHPAD_PROCESS_POOL "launchpad-process-pool")
74
75 SET(${LAUNCHPAD_PROCESS_POOL}_SOURCE_FILES
76         src/launchpad.c
77         src/launchpad_common.c
78         )
79 ADD_EXECUTABLE(${LAUNCHPAD_PROCESS_POOL} ${${LAUNCHPAD_PROCESS_POOL}_SOURCE_FILES})
80
81 TARGET_LINK_LIBRARIES(${LAUNCHPAD_PROCESS_POOL} ${${this_target_pool}_LDFLAGS} "-pie")
82 SET_TARGET_PROPERTIES(${LAUNCHPAD_PROCESS_POOL} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS_pool})
83 SET_TARGET_PROPERTIES(${LAUNCHPAD_PROCESS_POOL}
84         PROPERTIES SKIP_BUILD_RPATH TRUE
85         ) # remove rpath option that is automatically generated by cmake.
86
87 INSTALL(TARGETS ${LAUNCHPAD_PROCESS_POOL} DESTINATION bin)
88 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/packaging/launchpad-process-pool-preload-list.txt DESTINATION share/aul)
89