Fix x86_64 build
[platform/core/appfw/app-checker.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 SET(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
3
4 PROJECT(app-checker C)
5 SET(VERSION_MAJOR 0)
6 SET(VERSION "${VERSION_MAJOR}.1.0")
7
8 ### Global setting ###
9
10 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
11 SET(EXEC_PREFIX "\${prefix}")
12 SET(INCLUDEDIR "\${prefix}/include/app-checker")
13
14 # Build type : Release
15 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
16         SET(CMAKE_BUILD_TYPE "Release")
17 ENDIF()
18 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
19
20
21 # Set required packages
22 INCLUDE(FindPkgConfig)
23
24 pkg_check_modules(pkgs REQUIRED dlog glib-2.0)
25 pkg_check_modules(libpkgs REQUIRED dlog glib-2.0)
26
27 FIND_LIBRARY(LIB_DL dl)
28
29 FOREACH(flag ${libpkgs_CFLAGS})
30         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
31 ENDFOREACH(flag)
32
33 FOREACH(flag ${pkgs_CFLAGS})
34         SET(TEST_CFLAGS "${TEST_CFLAGS} ${flag}")
35 ENDFOREACH(flag)
36
37 # Compiler flags
38 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
39 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/legacy)
40 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Wl,-zdefs" )
41 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
42 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
43 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
44 SET(CMAKE_C_FLAGS_RELEASE "-O2")
45
46 SET(CMAKE_SKIP_BUILD_RPATH true)
47
48 # Get uname value to set 'TARGET' definition 
49 # TODO: Is this needed?
50 FIND_PROGRAM(UNAME NAMES uname)
51 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
52 IF("${ARCH}" STREQUAL "arm")
53         ADD_DEFINITIONS("-DTARGET")
54         MESSAGE("add -DTARGET")
55 ENDIF("${ARCH}" STREQUAL "arm")
56
57 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
58 ADD_DEFINITIONS("-DRW_DATA_PREFIX=\"/opt/share\"")
59 ADD_DEFINITIONS("-DLIBPREFIX=\"${LIB_INSTALL_DIR}\"")
60 # Linker flags
61 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
62
63
64 ### Build ###
65
66
67 # app-checker
68 add_library(app-checker SHARED
69                 src/ac_lib.c
70                 src/ac_sock.c
71                 )
72 target_link_libraries(app-checker ${libpkgs_LDFLAGS})
73 SET_TARGET_PROPERTIES(app-checker PROPERTIES SOVERSION ${VERSION_MAJOR})
74 SET_TARGET_PROPERTIES(app-checker PROPERTIES VERSION ${VERSION})
75
76
77 SET(DAEMON_NAME "app-checker-server")
78 add_library(${DAEMON_NAME} SHARED
79         src/ac_server.c
80         src/ac_sock.c
81         )
82
83 target_link_libraries(${DAEMON_NAME} ${pkgs_LDFLAGS} ${LIB_DL})
84 SET_TARGET_PROPERTIES(${DAEMON_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
85 SET_TARGET_PROPERTIES(${DAEMON_NAME} PROPERTIES VERSION ${VERSION})
86
87 # pkgconfig file
88 CONFIGURE_FILE(app-checker.pc.in app-checker.pc @ONLY)
89 CONFIGURE_FILE(app-checker-server.pc.in app-checker-server.pc @ONLY)
90
91
92 MESSAGE("LIBDIR ${LIB_INSTALL_DIR}")
93 ### Install ###
94 INSTALL(TARGETS app-checker DESTINATION lib COMPONENT RuntimeLibraries)
95 INSTALL(TARGETS ${DAEMON_NAME} DESTINATION lib COMPONENT RuntimeLibraries)
96
97 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/app-checker.h DESTINATION include/app-checker)
98 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/app-checker.pc DESTINATION lib/pkgconfig)
99 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/app-checker-server.h DESTINATION include/app-checker)
100 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/app-checker-server.pc DESTINATION lib/pkgconfig)
101
102
103
104