tests: Use strict string length for xml input
[platform/hal/api/common.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(hal-api-common)
3
4 SET(VERSION_MAJOR 0)
5 SET(VERSION "${VERSION_MAJOR}.1.0")
6
7 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
8 SET(EXEC_PREFIX "${PREFIX}/bin")
9 SET(INCLUDEDIR "${PREFIX}/include")
10 SET(LIBDIR ${CMAKE_LIBDIR_PREFIX})
11
12 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
13 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src)
14
15 if (${ENABLE_DLOG})
16 ADD_DEFINITIONS("-DENABLE_DLOG=1")
17 ADD_DEFINITIONS("-DLOG_TAG=\"HALAPI_COMMON\"")
18 SET(PKG_MODULES
19         dlog
20         gio-2.0
21         glib-2.0
22 )
23 else()
24 SET(PKG_MODULES
25         gio-2.0
26         glib-2.0
27 )
28 endif()
29
30 INCLUDE(FindPkgConfig)
31 pkg_check_modules(pkgs REQUIRED ${PKG_MODULES})
32
33 FOREACH(flag ${pkgs_CFLAGS})
34         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
35 ENDFOREACH(flag)
36
37 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -fPIC")
38 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -fno-omit-frame-pointer -finstrument-functions")
39 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fstack-protector-strong -D_FORTIFY_SOURCE=2 -O2 -Wl,-z,relro")
40 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -lrt")
41 SET(CMAKE_EXE_LINKER_FLAGS "-pie")
42
43 SET(SRCS
44         src/hal-api-common.c
45         src/hal-api-conf.c)
46
47 ADD_LIBRARY( ${PROJECT_NAME} SHARED ${SRCS})
48 TARGET_LINK_LIBRARIES( ${PROJECT_NAME} ${pkgs_LDFLAGS} -ldl -Wl,-z,nodelete,--no-undefined)
49 SET_TARGET_PROPERTIES( ${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
50 SET_TARGET_PROPERTIES( ${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
51
52 CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/packaging/${PROJECT_NAME}.pc.in
53         ${CMAKE_CURRENT_SOURCE_DIR}/packaging/${PROJECT_NAME}.pc
54         @ONLY)
55 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIBDIR}/hal)
56 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/
57         DESTINATION ${INCLUDEDIR}/hal
58         FILES_MATCHING PATTERN "*.h")
59 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/packaging/${PROJECT_NAME}.pc
60         DESTINATION ${LIBDIR}/pkgconfig)
61 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/packaging/hal-rpmdb-checker.conf
62         DESTINATION /usr/lib/tmpfiles.d)
63
64 ADD_SUBDIRECTORY(halcc)
65
66 ADD_SUBDIRECTORY(tests)
67
68 ADD_SUBDIRECTORY(tools/lshal)
69 ADD_SUBDIRECTORY(tools/hal-compatibility-checker)