Merge branch 'main' into ci/gilbok-lee/update_public
[platform/core/multimedia/esplusplayer.git] / src / esplusplayer / CMakeLists.txt
1 PROJECT(esplusplayer)
2
3 SET(fw_name "${PROJECT_NAME}")
4 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
5 SET(${fw_name}_LDFLAGS)
6
7 IF(${USE_MIXER} STREQUAL "yes")
8 SET(ADD_LIBS
9   "espplayer-core"
10   "trackrenderer"
11   "mixer"
12 )
13 ELSE(${USE_MIXER} STREQUAL "yes")
14 SET(ADD_LIBS
15   "espplayer-core"
16   "trackrenderer"
17 )
18 ENDIF(${USE_MIXER} STREQUAL "yes")
19
20 SET(${fw_name}_CXXFLAGS "-Wall -Werror -std=c++17 -fPIC -fno-lto -Wl,-z,relro -fstack-protector -DEFL_BETA_API_SUPPORT")
21
22 SET(dependents "gstreamer-1.0 glib-2.0 dlog"
23                "boost"
24                "elementary ecore ecore-wl2"
25                "jsoncpp"
26                "drmdecrypt")
27
28 IF(${TIZEN_PUBLIC} STREQUAL "OFF")
29 SET(dependents ${dependents} "tv-resource-manager")
30 ELSE(${TIZEN_PUBLIC} STREQUAL "OFF")
31 SET(dependents ${dependents} "capi-media-sound-manager")
32 ENDIF(${TIZEN_PUBLIC} STREQUAL "OFF")
33
34 INCLUDE(FindPkgConfig)
35
36 IF(CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l)
37 pkg_check_modules(${fw_name} REQUIRED ${dependents})
38 ELSE(CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l)
39 pkg_check_modules(${fw_name} REQUIRED ${dependents})
40 ENDIF(CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l)
41
42 FOREACH(flag ${${fw_name}_CFLAGS})
43 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}")
44 ENDFOREACH(flag)
45
46 FOREACH(flag ${${fw_name}_CXXFLAGS})
47 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_C_FLAGS} ${flag}")
48 ENDFOREACH(flag)
49 GET_FILENAME_COMPONENT(PARENT_DIR ${PROJECT_SOURCE_DIR} DIRECTORY)
50 INCLUDE_DIRECTORIES(
51   ${PROJECT_SOURCE_DIR}/include_internal
52   ${PARENT_DIR}/plusplayer-core/include_internal
53 )
54
55 SET(CC_SRCS
56   ${PROJECT_SOURCE_DIR}/src/espacket_logger.cpp
57   ${PROJECT_SOURCE_DIR}/src/esplayer_drm.cpp
58   ${PROJECT_SOURCE_DIR}/src/esplusplayer.cpp
59   ${PROJECT_SOURCE_DIR}/src/esplayer.cpp
60   ${PROJECT_SOURCE_DIR}/src/elementary_stream.cpp
61   ${PROJECT_SOURCE_DIR}/src/espacket.cpp
62   ${PROJECT_SOURCE_DIR}/src/esplusplayer_capi.cpp
63 )
64
65 ADD_LIBRARY(${fw_name} SHARED ${CC_SRCS})
66
67 SET_TARGET_PROPERTIES(${fw_name} PROPERTIES LINKER_LANGUAGE CXX)
68 TARGET_LINK_LIBRARIES(${fw_name} ${CMAKE_THREAD_LIBS_INIT} ${${fw_name}_LDFLAGS} ${ADD_LIBS})
69
70 INSTALL(TARGETS ${fw_name} DESTINATION ${LIB_INSTALL_DIR})
71 INSTALL(
72         DIRECTORY ${INC_DIR}/ DESTINATION include/
73 )