Fix directory hierarchy & cmake configuration files
[platform/core/appfw/launchpad.git] / src / launchpad-loader / CMakeLists.txt
1 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src LAUNCHPAD_LOADER_SRCS)
2 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/../lib/common/src
3   LIB_COMMON_SRCS)
4
5 ADD_EXECUTABLE(${TARGET_LAUNCHPAD_LOADER}
6   ${LAUNCHPAD_LOADER_SRCS}
7   ${LIB_COMMON_SRCS})
8 SET_TARGET_PROPERTIES(${TARGET_LAUNCHPAD_LOADER} PROPERTIES
9   SKIP_BUILD_RPATH TRUE)
10
11 TARGET_INCLUDE_DIRECTORIES(${TARGET_LAUNCHPAD_LOADER} PUBLIC
12   ${CMAKE_CURRENT_SOURCE_DIR}/../lib/launchpad/inc)
13 TARGET_INCLUDE_DIRECTORIES(${TARGET_LAUNCHPAD_LOADER} PUBLIC
14   ${CMAKE_CURRENT_SOURCE_DIR}/../lib/common/inc)
15
16 IF(_TIZEN_FEATURE_PRELINK)
17 MESSAGE(STATUS "prelink enable")
18 ELSE(_TIZEN_FEATURE_PRELINK)
19 MESSAGE(STATUS "prelink disable")
20 SET_TARGET_PROPERTIES(${TARGET_LAUNCHPAD_LOADER} PROPERTIES
21   COMPILE_FLAGS "-fPIE")
22 TARGET_LINK_LIBRARIES(${TARGET_LAUNCHPAD_LOADER} PUBLIC "-pie")
23 ENDIF(_TIZEN_FEATURE_PRELINK)
24
25 APPLY_PKG_CONFIG(${TARGET_LAUNCHPAD_LOADER} PUBLIC
26   DLOG_DEPS
27   ECORE_DEPS
28   ELEMENTARY_DEPS
29   SECURITY_MANAGER_DEPS
30   LIBTZPLATFORM_CONFIG_DEPS
31   TANCHOR_DEPS
32   AUL_DEPS
33   VCONF_DEPS
34   BUXTON2_DEPS
35   LIBSYSTEMD_DEPS
36   GIO_DEPS
37   DBUS_DEPS
38   LIBCAP_DEPS
39 )
40
41 TARGET_LINK_LIBRARIES(${TARGET_LAUNCHPAD_LOADER} PRIVATE ${TARGET_LAUNCHPAD})
42
43 # To support 2.x applications which use their own shared libraries.
44 # Since we cannot set LD_LIBRARY_PATH directly by security issue, we make the
45 # dynamic linker looks in the CWD forcely.
46 TARGET_LINK_LIBRARIES(${TARGET_LAUNCHPAD_LOADER} PUBLIC
47   "-ldl -Wl,-rpath,: -Wl,--disable-new-dtags")
48
49 INSTALL(TARGETS ${TARGET_LAUNCHPAD_LOADER} DESTINATION bin)
50
51 EXEC_PROGRAM(pkg-config
52     ARGS --variable=module_arch ecore
53     OUTPUT_VARIABLE EFL_MODULE_VERSION
54 )
55
56 IF(_TIZEN_FEATURE_LOADER_ARCH64)
57 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/conf/default_arch64.loader.in
58   ${CMAKE_CURRENT_SOURCE_DIR}/conf/default.loader @ONLY)
59 ELSE(_TIZEN_FEATURE_LOADER_ARCH64)
60 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/conf/default_arch32.loader.in
61   ${CMAKE_CURRENT_SOURCE_DIR}/conf/default.loader @ONLY)
62 ENDIF(_TIZEN_FEATURE_LOADER_ARCH64)
63
64 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/conf/default.loader DESTINATION
65   share/aul)