1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
3 SET(project_prefix "capi")
6 SET(maintainer "Wootak Jung<wootak.jung@samsung.com>")
7 SET(description "Telephony Core API")
8 SET(service "telephony")
9 SET(dependents "dlog tapi glib-2.0 capi-base-common openssl capi-system-info")
10 SET(pc_dependents "capi-base-common tapi")
25 #FILE(STRINGS config.cfg configs REGEX "^ *[^#]")
26 FOREACH(lines ${configs})
28 IF(${lines} MATCHES "([^=]*)=['\"](.*)['\"]")
29 SET(key ${CMAKE_MATCH_1})
30 SET(value ${CMAKE_MATCH_2})
31 # MESSAGE("${key} -> ${value}")
32 SET(${key} "${value}")
34 ENDFOREACH(lines ${configs})
36 LIST(FIND Services ${service} sfind)
38 IF( ${sfind} EQUAL -1 )
39 MESSAGE(FATAL_ERROR "Service must be one of ")
40 FOREACH( s IN ${Services} )
41 MESSAGE(FATAL_ERROR "[${s}]")
42 ENDFOREACH( s IN ${Services} )
43 ENDIF( ${sfind} EQUAL -1 )
45 SET(fw_name "${project_prefix}-${service}")
49 SET(CMAKE_INSTALL_PREFIX ${prefix})
50 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
51 SET(LIBDIR ${LIB_INSTALL_DIR})
52 SET(VERSION ${version})
55 INCLUDE_DIRECTORIES(${INC_DIR})
57 INCLUDE(FindPkgConfig)
58 pkg_check_modules(${fw_name} REQUIRED ${dependents})
59 FOREACH(flag ${${fw_name}_CFLAGS})
60 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
63 SET(ADDITIONAL_CFLAGS "-Wdeclaration-after-statement -Wmissing-declarations -Wredundant-decls -Wcast-align -Wno-array-bounds -Wno-empty-body -Wno-ignored-qualifiers -Wshadow -Wwrite-strings -Wswitch-default -Wno-unused-but-set-parameter -Wno-unused-but-set-variable")
64 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Werror")
65 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ADDITIONAL_CFLAGS}")
66 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
68 IF("${ARCH}" STREQUAL "arm")
69 ADD_DEFINITIONS("-DTARGET")
70 ENDIF("${ARCH}" STREQUAL "arm")
72 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
73 ADD_DEFINITIONS("-DTIZEN_DEBUG")
75 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=${LIBDIR}")
77 aux_source_directory(src SOURCES)
78 ADD_LIBRARY(${fw_name} SHARED ${SOURCES})
80 TARGET_LINK_LIBRARIES(${fw_name} ${${fw_name}_LDFLAGS})
82 SET_TARGET_PROPERTIES(${fw_name}
89 INSTALL(TARGETS ${fw_name} DESTINATION ${LIBDIR})
91 DIRECTORY ${INC_DIR}/ DESTINATION include/${service}
93 PATTERN "*_private.h" EXCLUDE
94 PATTERN "${INC_DIR}/*.h"
97 SET(PC_NAME ${fw_name})
98 SET(PC_REQUIRED ${pc_dependents})
99 SET(PC_LDFLAGS -l${fw_name})
103 ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}.pc
106 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}.pc DESTINATION ${LIBDIR}/pkgconfig)
107 INSTALL(FILES ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME capi-telephony)
109 ADD_SUBDIRECTORY(test)
113 ADD_CUSTOM_TARGET (distclean @echo cleaning for source distribution)
116 COMMENT "distribution clean"
119 -not -name config.cmake -and \(
123 -name cmake.depends -or
124 -name cmake.check_depends -or
125 -name CMakeCache.txt -or
126 -name cmake.check_cache -or
132 -name install_manifest.txt -or
135 | grep -v TC | xargs rm -rf