7cc97ff3feb9faa7c6a99b5be276f07becf5bf17
[platform/core/security/drm-service-core-tizen.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(drm-service-core-tizen CXX)
3
4 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
5 SET(EXEC_PREFIX "\${prefix}")
6 SET(LIBDIR "\${prefix}/lib")
7 SET(INCLUDEDIR "\${prefix}/include")
8
9 SET(DRMTESTUTIL drm_test_tizen)
10 SET(DRMTAPPSINITIALIZE drm_tizen_initialize)
11
12 IF (CMAKE_BUILD_TYPE MATCHES "DEBUG")
13     ADD_DEFINITIONS("-DTIZEN_DEBUG_ENABLE")
14     ADD_DEFINITIONS("-DBUILD_TYPE_DEBUG")
15 ENDIF (CMAKE_BUILD_TYPE MATCHES "DEBUG")
16
17 INCLUDE(FindPkgConfig)
18
19 ADD_DEFINITIONS("-DISSUER_ROOT_CERTS_DIR=\"${TZ_SYS_SHARE}/tizen_app_drm/root_certs\"")
20 ADD_DEFINITIONS("-DDB_PATH=\"${TZ_SYS_DB}/.dtapps.db\"")
21
22
23 ############################# compiler flags ##################################
24 SET(CMAKE_C_FLAGS_PROFILING    "-g -O0 -pg -Wp,-U_FORTIFY_SOURCE")
25 SET(CMAKE_CXX_FLAGS_PROFILING  "-g -std=c++0x -O0 -pg -Wp,-U_FORTIFY_SOURCE")
26 SET(CMAKE_C_FLAGS_DEBUG        "-g -O0 -ggdb -Wp,-U_FORTIFY_SOURCE")
27 SET(CMAKE_CXX_FLAGS_DEBUG      "-g -std=c++0x -O0 -ggdb -Wp,-U_FORTIFY_SOURCE")
28 SET(CMAKE_C_FLAGS_RELEASE      "-g -O2")
29 SET(CMAKE_CXX_FLAGS_RELEASE    "-g -std=c++0x -O2")
30 SET(CMAKE_C_FLAGS_CCOV         "-g -O2 --coverage")
31 SET(CMAKE_CXX_FLAGS_CCOV       "-g -std=c++0x -O2 --coverage")
32
33 ADD_DEFINITIONS("-fPIC")
34
35 INCLUDE_DIRECTORIES(
36     SYSTEM
37     ${CMAKE_CURRENT_SOURCE_DIR}/tadcore/include
38     ${CMAKE_CURRENT_SOURCE_DIR}/tappsd/inc
39     ${CMAKE_CURRENT_SOURCE_DIR}/include
40 )
41
42 pkg_check_modules(DRM_SERVICE_CORE_DEP
43     REQUIRED
44         dlog
45         db-util
46         openssl
47     cryptsvc
48     libtzplatform-config
49 )
50
51 INCLUDE_DIRECTORIES(${DRM_SERVICE_CORE_DEP_INCLUDE_DIRS})
52
53 SET(SRCS
54         tadcore/TADCCore/TADC_Core.cpp
55         tadcore/TADCCore/TADC_Sub.cpp
56         tadcore/TADCCore/TADC_Util.cpp
57         tadcore/TADCInterface/TADC_IF.cpp
58         tadcore/Svc/DrmTdcSvc.cpp
59         tappsd/src/intf/drm_intf_tapps.cpp
60         tadcore/XMLParser/CPointerArray.cpp
61         tadcore/XMLParser/CXMLAttribute.cpp
62         tadcore/XMLParser/CXMLElement.cpp
63         tadcore/XMLParser/CXMLFile.cpp
64         tappsd/src/rights/DTapps2Rights.cpp
65         tappsd/src/db/DTapps2SqlData.cpp
66         tappsd/src/db/DTapps2SqliteDB.cpp
67         tappsd/src/util/DTapps2Base64.cpp
68         tappsd/src/util/DTapps2HMAC.cpp
69         tappsd/src/util/DTapps2Time.cpp
70         service/drm-tapps.cpp
71         tadcore/DrmFileHandleMgr/DrmFileHandler.cpp
72         tadcore/DrmFileHandleMgr/DrmFileMgr.cpp
73         tadcore/DrmFileHandleMgr/DrmFileApi.cpp
74
75         #for deviceId
76         tadcore/TADCInterface/DUIDGenerator.cpp
77 )
78
79 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
80
81 SET_TARGET_PROPERTIES(
82     ${PROJECT_NAME}
83     PROPERTIES
84         COMPILE_FLAGS " -fvisibility=hidden"
85         SOVERSION ${MAJORVER}
86         VERSION ${FULLVER}
87 )
88
89 TARGET_LINK_LIBRARIES(${PROJECT_NAME}
90     ${DRM_SERVICE_CORE_DEP_LIBRARIES}
91     -ldevice_info # libdevice_info.so in cryptsvc.
92 )
93
94 #################################################################
95 pkg_check_modules(DRM_INITIALIZE_DEP
96     REQUIRED
97         dlog
98         db-util
99         openssl
100 #    cryptsvc
101 )
102
103 INCLUDE_DIRECTORIES(${DRM_INITIALIZE_DEP_INCLUDE_DIRS})
104
105 SET(DRMTAPPSINITIALIZE_SRCS
106         service/drm-tapps-initialize.cpp
107         tappsd/src/intf/drm_intf_tapps.cpp
108         tappsd/src/db/DTapps2SqliteDB.cpp
109         tappsd/src/db/DTapps2SqlData.cpp
110 )
111
112 FIND_PROGRAM(UNAME NAMES uname)
113 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
114
115 IF("${ARCH}" STREQUAL "arm")
116         ADD_DEFINITIONS("-DTARGET")
117         MESSAGE("add -DTARGET")
118 ENDIF("${ARCH}" STREQUAL "arm")
119
120 # -fPIE and -pie flag is added for ASLR
121 SET_SOURCE_FILES_PROPERTIES(
122     ${DRMTAPPSINITIALIZE_SRCS}
123     PROPERTIES
124         COMPILE_FLAGS "-fPIE")
125
126 ADD_EXECUTABLE(${DRMTAPPSINITIALIZE} ${DRMTAPPSINITIALIZE_SRCS})
127
128 TARGET_LINK_LIBRARIES(${DRMTAPPSINITIALIZE}
129     ${DRM_INITIALIZE_DEP_LIBRARIES}
130     -pie)
131
132 #################################################################
133
134 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
135
136 INSTALL(FILES ${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
137
138 INSTALL(FILES resource/ro_root_cert.pem
139     DESTINATION ${TZ_SYS_SHARE}/tizen_app_drm/root_certs)
140
141 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR})
142 INSTALL(TARGETS ${DRMTAPPSINITIALIZE} DESTINATION bin)
143
144 INSTALL(DIRECTORY include/ DESTINATION ${INCLUDEDIR}/drm-tizen/)
145
146 #################################################################
147
148 IF(DEFINED BUILD_TEST_DRM_SERVICE_CORE_TIZEN)
149 ADD_SUBDIRECTORY(test)
150 ENDIF(DEFINED BUILD_TEST_DRM_SERVICE_CORE_TIZEN)