Revert "boost muse-server for PNP mode at tv profile"
[platform/core/multimedia/mmsvc-core.git] / CMakeLists.txt
1
2 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
3 SET(MUSE_CORE "muse-core")
4
5 PROJECT(${MUSE_CORE})
6
7 SET(CMAKE_INSTALL_PREFIX /usr)
8 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
9
10 SET(BINDIR "${PREFIX}/bin")
11 SET(INC_DIR core/include)
12 INCLUDE_DIRECTORIES(${INC_DIR})
13
14 SET(dependents
15     dlog
16     glib-2.0
17     json-c
18     mm-common)
19
20 SET(pc_dependents
21     mm-common)
22
23 IF(${MUSE_REGISTER_VIP})
24 SET(dependents ${dependents} " libresourced")
25 ENDIF(${MUSE_REGISTER_VIP})
26
27 IF(${MUSE_USE_LWIPC})
28 SET(dependents ${dependents} " lwipc")
29 ENDIF(${MUSE_USE_LWIPC})
30
31 IF(${MUSE_TTRACE_LOG})
32 SET(dependents ${dependents} " ttrace")
33 ENDIF(${MUSE_TTRACE_LOG})
34
35 INCLUDE(FindPkgConfig)
36 pkg_check_modules(${MUSE_CORE} REQUIRED ${dependents})
37 FOREACH(flag ${${MUSE_CORE}_CFLAGS})
38     SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
39 ENDFOREACH(flag)
40
41 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall -fPIE -fno-strict-aliasing -Werror -Wformat -Wextra")
42 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-array-bounds -Wno-empty-body -Wno-ignored-qualifiers")
43 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-parameter -Wshadow -Wwrite-strings -Wswitch-default")
44 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-but-set-parameter -Wno-unused-but-set-variable -Wno-unused-result")
45
46 IF(MUSE_GTESTS_BUILD)
47 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fprofile-arcs -ftest-coverage")
48 ENDIF(MUSE_GTESTS_BUILD)
49
50 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
51
52 IF("${ARCH}" STREQUAL "arm")
53     ADD_DEFINITIONS("-DTARGET")
54 ENDIF("${ARCH}" STREQUAL "arm")
55
56 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
57 ADD_DEFINITIONS("-DTIZEN_DEBUG")
58 ADD_DEFINITIONS(-DTZ_SYS_DATA_PATH="${TZ_SYS_DATA}")
59
60 aux_source_directory(core/src SOURCES)
61 ADD_LIBRARY(${MUSE_CORE} SHARED ${SOURCES})
62
63 TARGET_LINK_LIBRARIES(${MUSE_CORE} ${${MUSE_CORE}_LDFLAGS})
64
65 SET_TARGET_PROPERTIES(${MUSE_CORE}
66      PROPERTIES
67      VERSION ${FULLVER}
68      SOVERSION ${MAJORVER}
69      CLEAN_DIRECT_OUTPUT 1
70 )
71
72 INSTALL(TARGETS ${MUSE_CORE} DESTINATION ${LIBDIR})
73 INSTALL(
74         DIRECTORY ${INC_DIR}/ DESTINATION include/media
75         FILES_MATCHING
76         PATTERN "*_private.h" EXCLUDE
77         PATTERN "${INC_DIR}/muse_core.h"
78         )
79
80 SET(PC_NAME ${MUSE_CORE})
81 SET(PC_REQUIRED ${pc_dependents})
82 SET(PC_LDFLAGS -l${MUSE_CORE})
83 SET(PC_CFLAGS -I\${includedir}/media)
84
85 CONFIGURE_FILE(
86     ${MUSE_CORE}.pc.in
87     ${CMAKE_CURRENT_SOURCE_DIR}/${MUSE_CORE}.pc
88     @ONLY
89 )
90 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${MUSE_CORE}.pc DESTINATION ${LIBDIR}/pkgconfig)
91
92 ADD_SUBDIRECTORY(server)
93 ADD_SUBDIRECTORY(client)
94 IF(MUSE_GTESTS_BUILD)
95 ADD_SUBDIRECTORY(unittest)
96 ENDIF(MUSE_GTESTS_BUILD)
97
98 IF(UNIX)
99
100 ADD_CUSTOM_TARGET (distclean @echo cleaning for source distribution)
101 ADD_CUSTOM_COMMAND(
102         DEPENDS clean
103         COMMENT "distribution clean"
104         COMMAND find
105         ARGS    .
106         -not -name config.cmake -and \(
107         -name tester.c -or
108         -name Testing -or
109         -name CMakeFiles -or
110         -name cmake.depends -or
111         -name cmake.check_depends -or
112         -name CMakeCache.txt -or
113         -name cmake.check_cache -or
114         -name *.cmake -or
115         -name Makefile -or
116         -name core -or
117         -name core.* -or
118         -name gmon.out -or
119         -name install_manifest.txt -or
120         -name *.pc -or
121         -name *~ \)
122         | grep -v TC | xargs rm -rf
123         TARGET  distclean
124         VERBATIM
125 )
126
127 ENDIF(UNIX)
128