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