Migrate to openssl3
[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(DRMTESTUTIL drm_test_tizen)
5 SET(DRMTAPPSINITIALIZE drm_tizen_initialize)
6
7 IF (CMAKE_BUILD_TYPE MATCHES "DEBUG")
8     ADD_DEFINITIONS("-DDLOG_DEBUG_ENABLE")
9 ENDIF (CMAKE_BUILD_TYPE MATCHES "DEBUG")
10
11 INCLUDE(FindPkgConfig)
12
13 ADD_DEFINITIONS("-DISSUER_ROOT_CERTS_DIR=\"${RO_DATA_DIR}/root_certs\"")
14 ADD_DEFINITIONS("-DDB_PATH=\"${DB_DIR}/.dtapps.db\"")
15
16 ############################# compiler flags ##################################
17 SET(CXX_SPECIFIC_FLAGS         "-std=c++0x")
18 SET(CMAKE_C_FLAGS_PROFILING    "-g -O0 -Wp,-U_FORTIFY_SOURCE -pg")
19 SET(CMAKE_CXX_FLAGS_PROFILING  "-g -O0 -Wp,-U_FORTIFY_SOURCE -pg ${CXX_SPECIFIC_FLAGS}")
20 SET(CMAKE_C_FLAGS_DEBUG        "-g -O0 -Wp,-U_FORTIFY_SOURCE -ggdb")
21 SET(CMAKE_CXX_FLAGS_DEBUG      "-g -O0 -Wp,-U_FORTIFY_SOURCE -ggdb ${CXX_SPECIFIC_FLAGS}")
22 SET(CMAKE_C_FLAGS_RELEASE      "-g -O2")
23 SET(CMAKE_CXX_FLAGS_RELEASE    "-g -O2 ${CXX_SPECIFIC_FLAGS}")
24 SET(CMAKE_C_FLAGS_CCOV         "${CMAKE_C_FLAGS_RELEASE} --coverage")
25 SET(CMAKE_CXX_FLAGS_CCOV       "${CMAKE_CXX_FLAGS_RELEASE} --coverage")
26
27 ADD_DEFINITIONS("-fPIC")
28
29 # Set compiler warning flags
30 ADD_DEFINITIONS("-Werror")                      # Make all warnings into errors.
31 ADD_DEFINITIONS("-Wall")                        # Generate all warnings
32 ADD_DEFINITIONS("-Wextra")                      # Generate even more extra warnings
33 ADD_DEFINITIONS("-Wno-deprecated-declarations")
34
35 PKG_CHECK_MODULES(DRM_SERVICE_CORE_DEP
36     REQUIRED
37     cryptsvc
38     sqlite3
39     glib-2.0
40     dlog
41     openssl3
42 )
43
44 INCLUDE_DIRECTORIES(
45     SYSTEM
46     ${DRM_SERVICE_CORE_DEP_INCLUDE_DIRS}
47     include
48     tadcore/include
49     tappsd/inc
50 )
51
52 SET(SRCS
53     service/drm-tapps.cpp
54     tadcore/DrmFileHandleMgr/DrmFileApi.cpp
55     tadcore/DrmFileHandleMgr/DrmFileHandler.cpp
56     tadcore/DrmFileHandleMgr/DrmFileMgr.cpp
57     tadcore/Svc/DrmTdcSvc.cpp
58     tadcore/TADCCore/TADC_Core.cpp
59     tadcore/TADCCore/TADC_Sub.cpp
60     tadcore/TADCCore/TADC_Util.cpp
61     tadcore/TADCInterface/DUIDGenerator.cpp
62     tadcore/TADCInterface/TADC_IF.cpp
63     tadcore/XMLParser/CPointerArray.cpp
64     tadcore/XMLParser/CXMLAttribute.cpp
65     tadcore/XMLParser/CXMLElement.cpp
66     tadcore/XMLParser/CXMLFile.cpp
67     tappsd/src/db/DTapps2SqlData.cpp
68     tappsd/src/db/DTapps2SqliteDB.cpp
69     tappsd/src/intf/drm_intf_tapps.cpp
70     tappsd/src/rights/DTapps2Rights.cpp
71     tappsd/src/util/DTapps2Base64.cpp
72     tappsd/src/util/DTapps2HMAC.cpp
73     tappsd/src/util/DTapps2Time.cpp
74 )
75
76 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
77
78 SET_TARGET_PROPERTIES(${PROJECT_NAME}
79     PROPERTIES
80         COMPILE_FLAGS " -fvisibility=hidden"
81         SOVERSION ${MAJORVER}
82         VERSION ${FULLVER}
83 )
84
85 TARGET_LINK_LIBRARIES(${PROJECT_NAME}
86     ${DRM_SERVICE_CORE_DEP_LIBRARIES}
87     -ldevice_info # libdevice_info.so in cryptsvc.
88 )
89
90 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR})
91
92 #################################################################
93
94 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
95 INSTALL(FILES ${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
96
97 INSTALL(FILES resource/ro_root_cert.pem DESTINATION ${RO_DATA_DIR}/root_certs)
98
99 INSTALL(FILES include/drm-tizen-apps.h include/drm-tizen-error.h
100     DESTINATION ${INCLUDE_INSTALL_DIR}/drm-tizen
101 )
102
103 #################################################################
104
105 ADD_SUBDIRECTORY(initializer)
106
107 IF(DEFINED BUILD_TEST_DRM_SERVICE_CORE_TIZEN)
108     ADD_DEFINITIONS("-DTEST_DATA_DIR=\"${TEST_DATA_DIR}\"")
109     ADD_SUBDIRECTORY(test)
110 ENDIF(DEFINED BUILD_TEST_DRM_SERVICE_CORE_TIZEN)