xref: /aosp_15_r20/external/intel-media-driver/media_driver/media_top_cmake.cmake (revision ba62d9d3abf0e404f2022b4cd7a85e107f48596f)
1*ba62d9d3SAndroid Build Coastguard Worker# Copyright (c) 2017-2023, Intel Corporation
2*ba62d9d3SAndroid Build Coastguard Worker#
3*ba62d9d3SAndroid Build Coastguard Worker# Permission is hereby granted, free of charge, to any person obtaining a
4*ba62d9d3SAndroid Build Coastguard Worker# copy of this software and associated documentation files (the "Software"),
5*ba62d9d3SAndroid Build Coastguard Worker# to deal in the Software without restriction, including without limitation
6*ba62d9d3SAndroid Build Coastguard Worker# the rights to use, copy, modify, merge, publish, distribute, sublicense,
7*ba62d9d3SAndroid Build Coastguard Worker# and/or sell copies of the Software, and to permit persons to whom the
8*ba62d9d3SAndroid Build Coastguard Worker# Software is furnished to do so, subject to the following conditions:
9*ba62d9d3SAndroid Build Coastguard Worker#
10*ba62d9d3SAndroid Build Coastguard Worker# The above copyright notice and this permission notice shall be included
11*ba62d9d3SAndroid Build Coastguard Worker# in all copies or substantial portions of the Software.
12*ba62d9d3SAndroid Build Coastguard Worker#
13*ba62d9d3SAndroid Build Coastguard Worker# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
14*ba62d9d3SAndroid Build Coastguard Worker# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15*ba62d9d3SAndroid Build Coastguard Worker# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
16*ba62d9d3SAndroid Build Coastguard Worker# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
17*ba62d9d3SAndroid Build Coastguard Worker# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
18*ba62d9d3SAndroid Build Coastguard Worker# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
19*ba62d9d3SAndroid Build Coastguard Worker# OTHER DEALINGS IN THE SOFTWARE.
20*ba62d9d3SAndroid Build Coastguard Worker
21*ba62d9d3SAndroid Build Coastguard Workerproject( media )
22*ba62d9d3SAndroid Build Coastguard Worker
23*ba62d9d3SAndroid Build Coastguard Workerfind_package(PkgConfig)
24*ba62d9d3SAndroid Build Coastguard Workerfind_package(X11)
25*ba62d9d3SAndroid Build Coastguard Workerfind_package(Backtrace)
26*ba62d9d3SAndroid Build Coastguard Worker
27*ba62d9d3SAndroid Build Coastguard Worker# to get access to generated header files
28*ba62d9d3SAndroid Build Coastguard Workerinclude_directories(${CMAKE_BINARY_DIR})
29*ba62d9d3SAndroid Build Coastguard Worker
30*ba62d9d3SAndroid Build Coastguard Workerbs_set_if_undefined(LIB_NAME iHD_drv_video)
31*ba62d9d3SAndroid Build Coastguard Worker
32*ba62d9d3SAndroid Build Coastguard Workeroption (MEDIA_RUN_TEST_SUITE "run google test module after install" ON)
33*ba62d9d3SAndroid Build Coastguard Workerinclude(${MEDIA_DRIVER_CMAKE}/media_gen_flags.cmake)
34*ba62d9d3SAndroid Build Coastguard Workerinclude(${MEDIA_DRIVER_CMAKE}/media_feature_flags.cmake)
35*ba62d9d3SAndroid Build Coastguard Worker
36*ba62d9d3SAndroid Build Coastguard Worker
37*ba62d9d3SAndroid Build Coastguard Workerif(NOT DEFINED SKIP_GMM_CHECK)
38*ba62d9d3SAndroid Build Coastguard Worker    # checking dependencies
39*ba62d9d3SAndroid Build Coastguard Worker    pkg_check_modules(LIBGMM REQUIRED igdgmm>=12.0.0)
40*ba62d9d3SAndroid Build Coastguard Worker
41*ba62d9d3SAndroid Build Coastguard Worker    if(LIBGMM_FOUND)
42*ba62d9d3SAndroid Build Coastguard Worker        include_directories(BEFORE ${LIBGMM_INCLUDE_DIRS})
43*ba62d9d3SAndroid Build Coastguard Worker        # link_directories() should appear before add_library and the like
44*ba62d9d3SAndroid Build Coastguard Worker        # otherwise it will not take effect
45*ba62d9d3SAndroid Build Coastguard Worker        link_directories(${LIBGMM_LIBRARY_DIRS})
46*ba62d9d3SAndroid Build Coastguard Worker    endif()
47*ba62d9d3SAndroid Build Coastguard Workerendif(NOT DEFINED SKIP_GMM_CHECK)
48*ba62d9d3SAndroid Build Coastguard Worker
49*ba62d9d3SAndroid Build Coastguard Workermessage("-- media -- PLATFORM = ${PLATFORM}")
50*ba62d9d3SAndroid Build Coastguard Workermessage("-- media -- ARCH = ${ARCH}")
51*ba62d9d3SAndroid Build Coastguard Workermessage("-- media -- CMAKE_CURRENT_LIST_DIR = ${CMAKE_CURRENT_LIST_DIR}")
52*ba62d9d3SAndroid Build Coastguard Workermessage("-- media -- INCLUDED_LIBS = ${INCLUDED_LIBS}")
53*ba62d9d3SAndroid Build Coastguard Workermessage("-- media -- LIB_NAME = ${LIB_NAME}")
54*ba62d9d3SAndroid Build Coastguard Workermessage("-- media -- OUTPUT_NAME = ${OUTPUT_NAME}")
55*ba62d9d3SAndroid Build Coastguard Workermessage("-- media -- BUILD_TYPE/UFO_BUILD_TYPE/CMAKE_BUILD_TYPE = ${BUILD_TYPE}/${UFO_BUILD_TYPE}/${CMAKE_BUILD_TYPE}")
56*ba62d9d3SAndroid Build Coastguard Workermessage("-- media -- LIBVA_INSTALL_PATH = ${LIBVA_INSTALL_PATH}")
57*ba62d9d3SAndroid Build Coastguard Workermessage("-- media -- MEDIA_VERSION = ${MEDIA_VERSION}")
58*ba62d9d3SAndroid Build Coastguard Workerif(X11_FOUND)
59*ba62d9d3SAndroid Build Coastguard Worker    message("-- media -- X11 Found")
60*ba62d9d3SAndroid Build Coastguard Worker    pkg_check_modules(LIBVAX11 libva-x11)
61*ba62d9d3SAndroid Build Coastguard Worker    if(LIBVAX11_FOUND)
62*ba62d9d3SAndroid Build Coastguard Worker        message("-- media -- LIBVAX11 Found")
63*ba62d9d3SAndroid Build Coastguard Worker    else()
64*ba62d9d3SAndroid Build Coastguard Worker        set(X11_FOUND FALSE)
65*ba62d9d3SAndroid Build Coastguard Worker    endif()
66*ba62d9d3SAndroid Build Coastguard Workerendif()
67*ba62d9d3SAndroid Build Coastguard Worker
68*ba62d9d3SAndroid Build Coastguard Workerset(LIB_NAME_STATIC "${LIB_NAME}_STATIC")
69*ba62d9d3SAndroid Build Coastguard Workerset(SOURCES_ "")
70*ba62d9d3SAndroid Build Coastguard Workerset(COMMON_SOURCES_ "")
71*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_COMMON_SOURCES_ "")
72*ba62d9d3SAndroid Build Coastguard Workerset(COMMON_PRIVATE_INCLUDE_DIRS_ "")
73*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_COMMON_PRIVATE_INCLUDE_DIRS_ "")
74*ba62d9d3SAndroid Build Coastguard Workerset(VP_SOURCES_ "")
75*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_VP_SOURCES_ "")       # softlet source group
76*ba62d9d3SAndroid Build Coastguard Worker
77*ba62d9d3SAndroid Build Coastguard Workerset(VP_PRIVATE_INCLUDE_DIRS_ "")
78*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_VP_PRIVATE_INCLUDE_DIRS_ "")
79*ba62d9d3SAndroid Build Coastguard Workerset(SHARED_SOURCES_ "")
80*ba62d9d3SAndroid Build Coastguard Workerset(UPDATED_SOURCES_ "")
81*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DDI_SOURCES_ "")
82*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DDI_PRIVATE_INCLUDE_DIRS_ "")
83*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DDI_PUBLIC_INCLUDE_DIRS_ "")
84*ba62d9d3SAndroid Build Coastguard Worker
85*ba62d9d3SAndroid Build Coastguard Worker################################################################################
86*ba62d9d3SAndroid Build Coastguard Worker# codec
87*ba62d9d3SAndroid Build Coastguard Worker################################################################################
88*ba62d9d3SAndroid Build Coastguard Workerset(CODEC_SOURCES_ "")                  # legacy source group
89*ba62d9d3SAndroid Build Coastguard Workerset(CODEC_HEADERS_ "")
90*ba62d9d3SAndroid Build Coastguard Workerset(CODEC_PRIVATE_INCLUDE_DIRS_ "")
91*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_CODEC_SOURCES_ "")          # softlet source group
92*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_CODEC_HEADERS_ "")
93*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_CODEC_PRIVATE_INCLUDE_DIRS_ "")
94*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_CODEC_COMMON_SOURCES_ "")   # softlet codec common source group
95*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_CODEC_COMMON_HEADERS_ "")
96*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_CODEC_COMMON_PRIVATE_INCLUDE_DIRS_ "")
97*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_ENCODE_SOURCES_ "")          # softlet encode source group
98*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_ENCODE_HEADERS_ "")
99*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_ENCODE_PRIVATE_INCLUDE_DIRS_ "")
100*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_ENCODE_COMMON_SOURCES_ "")
101*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_ENCODE_COMMON_HEADERS_ "")
102*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_ENCODE_COMMON_PRIVATE_INCLUDE_DIRS_ "")
103*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_ENCODE_AV1_SOURCES_ "")
104*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_ENCODE_AV1_HEADERS_ "")
105*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_ENCODE_AV1_PRIVATE_INCLUDE_DIRS_ "")
106*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_ENCODE_HEVC_SOURCES_ "")
107*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_ENCODE_HEVC_HEADERS_ "")
108*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_ENCODE_HEVC_PRIVATE_INCLUDE_DIRS_ "")
109*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_ENCODE_AVC_SOURCES_ "")
110*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_ENCODE_AVC_HEADERS_ "")
111*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_ENCODE_AVC_PRIVATE_INCLUDE_DIRS_ "")
112*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_ENCODE_VP9_SOURCES_ "")
113*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_ENCODE_VP9_HEADERS_ "")
114*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_ENCODE_VP9_PRIVATE_INCLUDE_DIRS_ "")
115*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_ENCODE_JPEG_SOURCES_ "")
116*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_ENCODE_JPEG_HEADERS_ "")
117*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_ENCODE_JPEG_PRIVATE_INCLUDE_DIRS_ "")
118*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_SOURCES_ "")          # softlet decode source group
119*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_HEADERS_ "")
120*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_PRIVATE_INCLUDE_DIRS_ "")
121*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_COMMON_SOURCES_ "")
122*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_COMMON_HEADERS_ "")
123*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_COMMON_PRIVATE_INCLUDE_DIRS_ "")
124*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_AVC_SOURCES_ "")
125*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_AVC_HEADERS_ "")
126*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_AVC_PRIVATE_INCLUDE_DIRS_ "")
127*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_HEVC_SOURCES_ "")
128*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_HEVC_HEADERS_ "")
129*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_HEVC_PRIVATE_INCLUDE_DIRS_ "")
130*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_JPEG_SOURCES_ "")
131*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_JPEG_HEADERS_ "")
132*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_JPEG_PRIVATE_INCLUDE_DIRS_ "")
133*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_MPEG2_SOURCES_ "")
134*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_MPEG2_HEADERS_ "")
135*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_MPEG2_PRIVATE_INCLUDE_DIRS_ "")
136*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_VP9_SOURCES_ "")
137*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_VP9_HEADERS_ "")
138*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_VP9_PRIVATE_INCLUDE_DIRS_ "")
139*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_AV1_SOURCES_ "")
140*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_AV1_HEADERS_ "")
141*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_AV1_PRIVATE_INCLUDE_DIRS_ "")
142*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_VP8_SOURCES_ "")
143*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_VP8_HEADERS_ "")
144*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_VP8_PRIVATE_INCLUDE_DIRS_ "")
145*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_VVC_SOURCES_ "")
146*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_VVC_HEADERS_ "")
147*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_VVC_PRIVATE_INCLUDE_DIRS_ "")
148*ba62d9d3SAndroid Build Coastguard Worker
149*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_CODEC_EXT_SOURCES_ "")
150*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_CODEC_EXT_HEADERS_ "")
151*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_CODEC_EXT_PRIVATE_INCLUDE_DIRS_ "")
152*ba62d9d3SAndroid Build Coastguard Worker
153*ba62d9d3SAndroid Build Coastguard Worker######################################################
154*ba62d9d3SAndroid Build Coastguard Worker#MOS LIB
155*ba62d9d3SAndroid Build Coastguard Workerset (MOS_COMMON_SOURCES_ "")
156*ba62d9d3SAndroid Build Coastguard Workerset (MOS_COMMON_HEADERS_ "")
157*ba62d9d3SAndroid Build Coastguard Workerset (MOS_PRIVATE_SOURCES_ "")
158*ba62d9d3SAndroid Build Coastguard Workerset (MOS_PUBLIC_INCLUDE_DIRS_ "")
159*ba62d9d3SAndroid Build Coastguard Workerset (MOS_PRIVATE_INCLUDE_DIRS_ "")
160*ba62d9d3SAndroid Build Coastguard Workerset (MOS_PREPEND_INCLUDE_DIRS_ "")
161*ba62d9d3SAndroid Build Coastguard Workerset (MOS_EXT_INCLUDE_DIRS_ "")
162*ba62d9d3SAndroid Build Coastguard Worker
163*ba62d9d3SAndroid Build Coastguard Workerset (SOFTLET_MOS_COMMON_SOURCES_ "")
164*ba62d9d3SAndroid Build Coastguard Workerset (SOFTLET_MOS_COMMON_HEADERS_ "")
165*ba62d9d3SAndroid Build Coastguard Workerset (SOFTLET_MOS_PRIVATE_SOURCES_ "")
166*ba62d9d3SAndroid Build Coastguard Workerset (SOFTLET_MOS_PUBLIC_INCLUDE_DIRS_ "")
167*ba62d9d3SAndroid Build Coastguard Workerset (SOFTLET_MOS_PRIVATE_INCLUDE_DIRS_ "")
168*ba62d9d3SAndroid Build Coastguard Workerset (SOFTLET_MOS_PREPEND_INCLUDE_DIRS_ "")
169*ba62d9d3SAndroid Build Coastguard Workerset (SOFTLET_MOS_EXT_INCLUDE_DIRS_ "")
170*ba62d9d3SAndroid Build Coastguard Worker######################################################
171*ba62d9d3SAndroid Build Coastguard Worker
172*ba62d9d3SAndroid Build Coastguard Worker######################################################
173*ba62d9d3SAndroid Build Coastguard Worker#CP LIB
174*ba62d9d3SAndroid Build Coastguard Workerset(CP_COMMON_HEADERS_ "")        # legacy source group
175*ba62d9d3SAndroid Build Coastguard Workerset(CP_COMMON_SOURCES_ "")
176*ba62d9d3SAndroid Build Coastguard Workerset(CP_COMMON_SHARED_HEADERS_ "") # legacy and softlet shared source group
177*ba62d9d3SAndroid Build Coastguard Workerset(CP_COMMON_SHARED_SOURCES_ "")
178*ba62d9d3SAndroid Build Coastguard Workerset(CP_COMMON_NEXT_HEADERS_ "")   # softlet source group
179*ba62d9d3SAndroid Build Coastguard Workerset(CP_COMMON_NEXT_SOURCES_ "")
180*ba62d9d3SAndroid Build Coastguard Workerset(CP_SOURCES_ "")               # common + os part
181*ba62d9d3SAndroid Build Coastguard Worker######################################################
182*ba62d9d3SAndroid Build Coastguard Worker# MHW
183*ba62d9d3SAndroid Build Coastguard Worker################################################################################
184*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_SOURCES_ "")
185*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_PRIVATE_INCLUDE_DIRS_ "")
186*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_VDBOX_SOURCES_ "")
187*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_VDBOX_PRIVATE_INCLUDE_DIRS_ "")
188*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_VDBOX_COMMON_SOURCES_ "")
189*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_VDBOX_HCP_SOURCES_ "")
190*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_VDBOX_HUC_SOURCES_ "")
191*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_VDBOX_VDENC_SOURCES_ "")
192*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_VDBOX_AVP_SOURCES_ "")
193*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_VDBOX_MFX_SOURCES_ "")
194*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_VDBOX_VVCP_SOURCES_ "")
195*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_VDBOX_AQM_SOURCES_ "")
196*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_EXT_SOURCES_ "")
197*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_COMMON_SOURCES_ "")
198*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_COMMON_PRIVATE_INCLUDE_DIRS_ "")
199*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_BLT_SOURCES_ "")
200*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_BLT_PRIVATE_INCLUDE_DIRS_ "")
201*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_RENDER_SOURCES_ "")
202*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_RENDER_PRIVATE_INCLUDE_DIRS_ "")
203*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_SFC_SOURCES_ "")
204*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_SFC_PRIVATE_INCLUDE_DIRS_ "")
205*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_VEBOX_SOURCES_ "")
206*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_VEBOX_PRIVATE_INCLUDE_DIRS_ "")
207*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_MI_SOURCES_ "")
208*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_MI_PRIVATE_INCLUDE_DIRS_ "")
209*ba62d9d3SAndroid Build Coastguard Worker
210*ba62d9d3SAndroid Build Coastguard Worker# add source
211*ba62d9d3SAndroid Build Coastguard Worker# first
212*ba62d9d3SAndroid Build Coastguard Workermedia_include_subdirectory(../media_common/agnostic)
213*ba62d9d3SAndroid Build Coastguard Workermedia_include_subdirectory(../media_common/linux)
214*ba62d9d3SAndroid Build Coastguard Worker
215*ba62d9d3SAndroid Build Coastguard Worker# second
216*ba62d9d3SAndroid Build Coastguard Workermedia_include_subdirectory(agnostic)
217*ba62d9d3SAndroid Build Coastguard Workermedia_include_subdirectory(linux)
218*ba62d9d3SAndroid Build Coastguard Workermedia_include_subdirectory(media_softlet)
219*ba62d9d3SAndroid Build Coastguard Workermedia_include_subdirectory(media_interface)
220*ba62d9d3SAndroid Build Coastguard Workermedia_include_subdirectory(../media_softlet/agnostic)
221*ba62d9d3SAndroid Build Coastguard Workermedia_include_subdirectory(../media_softlet/linux)
222*ba62d9d3SAndroid Build Coastguard Workermedia_include_subdirectory(../media_softlet/media_interface)
223*ba62d9d3SAndroid Build Coastguard Worker
224*ba62d9d3SAndroid Build Coastguard Workerinclude(${MEDIA_EXT}/media_srcs_ext.cmake OPTIONAL)
225*ba62d9d3SAndroid Build Coastguard Workerinclude(${MEDIA_COMMON_EXT}/media_srcs_ext.cmake OPTIONAL)
226*ba62d9d3SAndroid Build Coastguard Workerinclude(${MEDIA_SOFTLET_EXT}/media_srcs_ext.cmake OPTIONAL)
227*ba62d9d3SAndroid Build Coastguard Worker
228*ba62d9d3SAndroid Build Coastguard Workerinclude(${MEDIA_DRIVER_CMAKE}/media_include_paths.cmake)
229*ba62d9d3SAndroid Build Coastguard Worker
230*ba62d9d3SAndroid Build Coastguard Workerinclude(${MEDIA_DRIVER_CMAKE}/media_compile_flags.cmake)
231*ba62d9d3SAndroid Build Coastguard Worker
232*ba62d9d3SAndroid Build Coastguard Worker#
233*ba62d9d3SAndroid Build Coastguard Worker# set platform specific defines
234*ba62d9d3SAndroid Build Coastguard Worker#
235*ba62d9d3SAndroid Build Coastguard Workerbs_set_defines()
236*ba62d9d3SAndroid Build Coastguard Worker
237*ba62d9d3SAndroid Build Coastguard Workerset_source_files_properties(${SOURCES_} PROPERTIES LANGUAGE "CXX")
238*ba62d9d3SAndroid Build Coastguard Workerset_source_files_properties(${COMMON_SOURCES_} PROPERTIES LANGUAGE "CXX")
239*ba62d9d3SAndroid Build Coastguard Workerset_source_files_properties(${SOFTLET_COMMON_SOURCES_} PROPERTIES LANGUAGE "CXX")
240*ba62d9d3SAndroid Build Coastguard Workerset_source_files_properties(${CODEC_SOURCES_} PROPERTIES LANGUAGE "CXX")
241*ba62d9d3SAndroid Build Coastguard Workerset_source_files_properties(${SOFTLET_CODEC_SOURCES_} PROPERTIES LANGUAGE "CXX")
242*ba62d9d3SAndroid Build Coastguard Workerset_source_files_properties(${SOFTLET_ENCODE_SOURCES_} PROPERTIES LANGUAGE "CXX")
243*ba62d9d3SAndroid Build Coastguard Workerset_source_files_properties(${SOFTLET_DECODE_SOURCES_} PROPERTIES LANGUAGE "CXX")
244*ba62d9d3SAndroid Build Coastguard Workerset_source_files_properties(${VP_SOURCES_} PROPERTIES LANGUAGE "CXX")
245*ba62d9d3SAndroid Build Coastguard Workerset_source_files_properties(${SOFTLET_VP_SOURCES_} PROPERTIES LANGUAGE "CXX")
246*ba62d9d3SAndroid Build Coastguard Workerset_source_files_properties(${CP_COMMON_SOURCES_} PROPERTIES LANGUAGE "CXX")
247*ba62d9d3SAndroid Build Coastguard Workerset_source_files_properties(${CP_COMMON_SHARED_SOURCES_} PROPERTIES LANGUAGE "CXX")
248*ba62d9d3SAndroid Build Coastguard Workerset_source_files_properties(${CP_COMMON_NEXT_SOURCES_} PROPERTIES LANGUAGE "CXX")
249*ba62d9d3SAndroid Build Coastguard Workerset_source_files_properties(${CP_SOURCES_} PROPERTIES LANGUAGE "CXX")
250*ba62d9d3SAndroid Build Coastguard Workerset_source_files_properties(${SOFTLET_DDI_SOURCES_} PROPERTIES LANGUAGE "CXX")
251*ba62d9d3SAndroid Build Coastguard Workerset_source_files_properties(${SOURCES_SSE2} PROPERTIES LANGUAGE "CXX")
252*ba62d9d3SAndroid Build Coastguard Workerset_source_files_properties(${SOURCES_SSE4} PROPERTIES LANGUAGE "CXX")
253*ba62d9d3SAndroid Build Coastguard Worker
254*ba62d9d3SAndroid Build Coastguard Worker# MHW settings
255*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_PRIVATE_INCLUDE_DIRS_
256*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_PRIVATE_INCLUDE_DIRS_}
257*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_VDBOX_PRIVATE_INCLUDE_DIRS_}
258*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_COMMON_PRIVATE_INCLUDE_DIRS_}
259*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_BLT_PRIVATE_INCLUDE_DIRS_}
260*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_RENDER_PRIVATE_INCLUDE_DIRS_}
261*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_SFC_PRIVATE_INCLUDE_DIRS_}
262*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_VEBOX_PRIVATE_INCLUDE_DIRS_}
263*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_MI_PRIVATE_INCLUDE_DIRS_}
264*ba62d9d3SAndroid Build Coastguard Worker)
265*ba62d9d3SAndroid Build Coastguard Worker
266*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_VDBOX_SOURCES_
267*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_VDBOX_SOURCES_}
268*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_VDBOX_COMMON_SOURCES_}
269*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_VDBOX_HCP_SOURCES_}
270*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_VDBOX_HUC_SOURCES_}
271*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_VDBOX_VDENC_SOURCES_}
272*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_VDBOX_AVP_SOURCES_}
273*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_VDBOX_MFX_SOURCES_}
274*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_VDBOX_VVCP_SOURCES_}
275*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_VDBOX_AQM_SOURCES_}
276*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_EXT_SOURCES_}
277*ba62d9d3SAndroid Build Coastguard Worker)
278*ba62d9d3SAndroid Build Coastguard Worker
279*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_MHW_SOURCES_
280*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_SOURCES_}
281*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_VDBOX_SOURCES_}
282*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_COMMON_SOURCES_}
283*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_BLT_SOURCES_}
284*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_RENDER_SOURCES_}
285*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_SFC_SOURCES_}
286*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_VEBOX_SOURCES_}
287*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MHW_MI_SOURCES_}
288*ba62d9d3SAndroid Build Coastguard Worker)
289*ba62d9d3SAndroid Build Coastguard Worker
290*ba62d9d3SAndroid Build Coastguard Worker#CODEC SETTINGS
291*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_ENCODE_SOURCES_
292*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_ENCODE_SOURCES_}
293*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_ENCODE_COMMON_SOURCES_}
294*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_ENCODE_AV1_SOURCES_}
295*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_ENCODE_HEVC_SOURCES_}
296*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_ENCODE_AVC_SOURCES_}
297*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_ENCODE_VP9_SOURCES_}
298*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_ENCODE_JPEG_SOURCES_}
299*ba62d9d3SAndroid Build Coastguard Worker)
300*ba62d9d3SAndroid Build Coastguard Worker
301*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_SOURCES_
302*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_SOURCES_}
303*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_COMMON_SOURCES_}
304*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_AVC_SOURCES_}
305*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_HEVC_SOURCES_}
306*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_JPEG_SOURCES_}
307*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_MPEG2_SOURCES_}
308*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_VP9_SOURCES_}
309*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_AV1_SOURCES_}
310*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_VP8_SOURCES_}
311*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_VVC_SOURCES_}
312*ba62d9d3SAndroid Build Coastguard Worker)
313*ba62d9d3SAndroid Build Coastguard Worker
314*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_CODEC_SOURCES_
315*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_CODEC_SOURCES_}
316*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_CODEC_COMMON_SOURCES_}
317*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_ENCODE_SOURCES_}
318*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_SOURCES_}
319*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_CODEC_EXT_SOURCES_}
320*ba62d9d3SAndroid Build Coastguard Worker)
321*ba62d9d3SAndroid Build Coastguard Worker
322*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_ENCODE_HEADERS_
323*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_ENCODE_HEADERS_}
324*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_ENCODE_COMMON_HEADERS_}
325*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_ENCODE_AV1_HEADERS_}
326*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_ENCODE_HEVC_HEADERS_}
327*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_ENCODE_AVC_HEADERS_}
328*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_ENCODE_VP9_HEADERS_}
329*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_ENCODE_JPEG_HEADERS_}
330*ba62d9d3SAndroid Build Coastguard Worker)
331*ba62d9d3SAndroid Build Coastguard Worker
332*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_HEADERS_
333*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_HEADERS_}
334*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_COMMON_HEADERS_}
335*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_AVC_HEADERS_}
336*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_HEVC_HEADERS_}
337*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_JPEG_HEADERS_}
338*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_MPEG2_HEADERS_}
339*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_VP9_HEADERS_}
340*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_AV1_HEADERS_}
341*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_VP8_HEADERS_}
342*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_VVC_HEADERS_}
343*ba62d9d3SAndroid Build Coastguard Worker)
344*ba62d9d3SAndroid Build Coastguard Worker
345*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_CODEC_HEADERS_
346*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_CODEC_HEADERS_}
347*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_CODEC_COMMON_HEADERS_}
348*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_ENCODE_HEADERS_}
349*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_HEADERS_}
350*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_CODEC_EXT_HEADERS_}
351*ba62d9d3SAndroid Build Coastguard Worker)
352*ba62d9d3SAndroid Build Coastguard Worker
353*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_ENCODE_PRIVATE_INCLUDE_DIRS_
354*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_ENCODE_PRIVATE_INCLUDE_DIRS_}
355*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_ENCODE_COMMON_PRIVATE_INCLUDE_DIRS_}
356*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_ENCODE_AV1_PRIVATE_INCLUDE_DIRS_}
357*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_ENCODE_HEVC_PRIVATE_INCLUDE_DIRS_}
358*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_ENCODE_AVC_PRIVATE_INCLUDE_DIRS_}
359*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_ENCODE_VP9_PRIVATE_INCLUDE_DIRS_}
360*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_ENCODE_JPEG_PRIVATE_INCLUDE_DIRS_}
361*ba62d9d3SAndroid Build Coastguard Worker)
362*ba62d9d3SAndroid Build Coastguard Worker
363*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_DECODE_PRIVATE_INCLUDE_DIRS_
364*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_PRIVATE_INCLUDE_DIRS_}
365*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_COMMON_PRIVATE_INCLUDE_DIRS_}
366*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_AVC_PRIVATE_INCLUDE_DIRS_}
367*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_HEVC_PRIVATE_INCLUDE_DIRS_}
368*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_JPEG_PRIVATE_INCLUDE_DIRS_}
369*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_MPEG2_PRIVATE_INCLUDE_DIRS_}
370*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_VP9_PRIVATE_INCLUDE_DIRS_}
371*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_AV1_PRIVATE_INCLUDE_DIRS_}
372*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_VP8_PRIVATE_INCLUDE_DIRS_}
373*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_VVC_PRIVATE_INCLUDE_DIRS_}
374*ba62d9d3SAndroid Build Coastguard Worker)
375*ba62d9d3SAndroid Build Coastguard Worker
376*ba62d9d3SAndroid Build Coastguard Workerset(SOFTLET_CODEC_PRIVATE_INCLUDE_DIRS_
377*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_CODEC_PRIVATE_INCLUDE_DIRS_}
378*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_CODEC_COMMON_PRIVATE_INCLUDE_DIRS_}
379*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_ENCODE_PRIVATE_INCLUDE_DIRS_}
380*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_DECODE_PRIVATE_INCLUDE_DIRS_}
381*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_CODEC_EXT_PRIVATE_INCLUDE_DIRS_}
382*ba62d9d3SAndroid Build Coastguard Worker)
383*ba62d9d3SAndroid Build Coastguard Worker
384*ba62d9d3SAndroid Build Coastguard Workerset (CP_SOURCES_
385*ba62d9d3SAndroid Build Coastguard Worker    ${CP_SOURCES_}
386*ba62d9d3SAndroid Build Coastguard Worker    ${CP_COMMON_SOURCES_}
387*ba62d9d3SAndroid Build Coastguard Worker    ${CP_COMMON_SHARED_SOURCES_}
388*ba62d9d3SAndroid Build Coastguard Worker    ${CP_COMMON_NEXT_SOURCES_})
389*ba62d9d3SAndroid Build Coastguard Worker
390*ba62d9d3SAndroid Build Coastguard Workerset (SHARED_SOURCES_
391*ba62d9d3SAndroid Build Coastguard Worker    ${SHARED_SOURCES_}
392*ba62d9d3SAndroid Build Coastguard Worker    ${COMMON_SOURCES_}
393*ba62d9d3SAndroid Build Coastguard Worker    ${CODEC_SOURCES_}
394*ba62d9d3SAndroid Build Coastguard Worker    ${VP_SOURCES_}
395*ba62d9d3SAndroid Build Coastguard Worker    ${CP_SOURCES_})
396*ba62d9d3SAndroid Build Coastguard Worker
397*ba62d9d3SAndroid Build Coastguard WorkerFOREACH(SRC1 ${SOURCES_})
398*ba62d9d3SAndroid Build Coastguard Worker    set (FOUND 0)
399*ba62d9d3SAndroid Build Coastguard Worker    FOREACH(SRC2 ${SHARED_SOURCES_})
400*ba62d9d3SAndroid Build Coastguard Worker        if (${SRC1} STREQUAL ${SRC2})
401*ba62d9d3SAndroid Build Coastguard Worker            set (FOUND 1)
402*ba62d9d3SAndroid Build Coastguard Worker            break()
403*ba62d9d3SAndroid Build Coastguard Worker        endif()
404*ba62d9d3SAndroid Build Coastguard Worker    ENDFOREACH()
405*ba62d9d3SAndroid Build Coastguard Worker    if (NOT ${FOUND} EQUAL 1)
406*ba62d9d3SAndroid Build Coastguard Worker        set (UPDATED_SOURCES_
407*ba62d9d3SAndroid Build Coastguard Worker            ${UPDATED_SOURCES_}
408*ba62d9d3SAndroid Build Coastguard Worker            ${SRC1})
409*ba62d9d3SAndroid Build Coastguard Worker    endif()
410*ba62d9d3SAndroid Build Coastguard WorkerENDFOREACH()
411*ba62d9d3SAndroid Build Coastguard Worker
412*ba62d9d3SAndroid Build Coastguard Workerset (COMMON_SOURCES_
413*ba62d9d3SAndroid Build Coastguard Worker    ${COMMON_SOURCES_}
414*ba62d9d3SAndroid Build Coastguard Worker    ${UPDATED_SOURCES_})
415*ba62d9d3SAndroid Build Coastguard Worker
416*ba62d9d3SAndroid Build Coastguard Workerset(COMMON_PRIVATE_INCLUDE_DIRS_
417*ba62d9d3SAndroid Build Coastguard Worker    ${COMMON_PRIVATE_INCLUDE_DIRS_}
418*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_COMMON_PRIVATE_INCLUDE_DIRS_})
419*ba62d9d3SAndroid Build Coastguard Worker
420*ba62d9d3SAndroid Build Coastguard Workerset (VP_PRIVATE_INCLUDE_DIRS_
421*ba62d9d3SAndroid Build Coastguard Worker    ${VP_PRIVATE_INCLUDE_DIRS_}
422*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_VP_PRIVATE_INCLUDE_DIRS_})
423*ba62d9d3SAndroid Build Coastguard Worker
424*ba62d9d3SAndroid Build Coastguard Workeradd_library(${LIB_NAME}_SSE2 OBJECT ${SOURCES_SSE2})
425*ba62d9d3SAndroid Build Coastguard Workertarget_compile_options(${LIB_NAME}_SSE2 PRIVATE -msse2)
426*ba62d9d3SAndroid Build Coastguard Workertarget_include_directories(${LIB_NAME}_SSE2 BEFORE PRIVATE ${SOFTLET_MOS_PREPEND_INCLUDE_DIRS_} ${MOS_PUBLIC_INCLUDE_DIRS_} ${SOFTLET_MOS_PUBLIC_INCLUDE_DIRS_} ${COMMON_PRIVATE_INCLUDE_DIRS_} ${SOFTLET_MHW_PRIVATE_INCLUDE_DIRS_} ${SOFTLET_DDI_PUBLIC_INCLUDE_DIRS_})
427*ba62d9d3SAndroid Build Coastguard Worker
428*ba62d9d3SAndroid Build Coastguard Workeradd_library(${LIB_NAME}_SSE4 OBJECT ${SOURCES_SSE4})
429*ba62d9d3SAndroid Build Coastguard Workertarget_compile_options(${LIB_NAME}_SSE4 PRIVATE -msse4.1)
430*ba62d9d3SAndroid Build Coastguard Workertarget_include_directories(${LIB_NAME}_SSE4 BEFORE PRIVATE ${SOFTLET_MOS_PREPEND_INCLUDE_DIRS_} ${MOS_PUBLIC_INCLUDE_DIRS_} ${SOFTLET_MOS_PUBLIC_INCLUDE_DIRS_} ${COMMON_PRIVATE_INCLUDE_DIRS_} ${SOFTLET_MHW_PRIVATE_INCLUDE_DIRS_} ${SOFTLET_DDI_PUBLIC_INCLUDE_DIRS_})
431*ba62d9d3SAndroid Build Coastguard Worker
432*ba62d9d3SAndroid Build Coastguard Workeradd_library(${LIB_NAME}_COMMON OBJECT ${COMMON_SOURCES_} ${SOFTLET_DDI_SOURCES_})
433*ba62d9d3SAndroid Build Coastguard Workerset_property(TARGET ${LIB_NAME}_COMMON PROPERTY POSITION_INDEPENDENT_CODE 1)
434*ba62d9d3SAndroid Build Coastguard WorkerMediaAddCommonTargetDefines(${LIB_NAME}_COMMON)
435*ba62d9d3SAndroid Build Coastguard Workertarget_include_directories(${LIB_NAME}_COMMON  BEFORE PRIVATE ${SOFTLET_MOS_PREPEND_INCLUDE_DIRS_} ${MOS_PUBLIC_INCLUDE_DIRS_} ${SOFTLET_MOS_PUBLIC_INCLUDE_DIRS_}  ${COMMON_PRIVATE_INCLUDE_DIRS_} ${SOFTLET_MHW_PRIVATE_INCLUDE_DIRS_} ${SOFTLET_CODEC_PRIVATE_INCLUDE_DIRS_} ${VP_PRIVATE_INCLUDE_DIRS_} ${COMMON_CP_DIRECTORIES_} ${SOFTLET_DDI_PUBLIC_INCLUDE_DIRS_})
436*ba62d9d3SAndroid Build Coastguard WorkerFOREACH(SRC ${COMMON_SOURCES_})
437*ba62d9d3SAndroid Build Coastguard Worker    if ("${SRC}" MATCHES "media/media_softlet" OR (NOT "${SOFTLET_EXT_PATH}" STREQUAL "" AND "${SRC}" MATCHES "${SOFTLET_EXT_PATH}"))
438*ba62d9d3SAndroid Build Coastguard Worker        message(FATAL_ERROR "common legacy lib include softlet files ${SRC} - exiting!")
439*ba62d9d3SAndroid Build Coastguard Worker        exit(1)
440*ba62d9d3SAndroid Build Coastguard Worker    endif()
441*ba62d9d3SAndroid Build Coastguard WorkerENDFOREACH()
442*ba62d9d3SAndroid Build Coastguard Worker
443*ba62d9d3SAndroid Build Coastguard Workerset_source_files_properties(${SOFTLET_MHW_SOURCES_} PROPERTIES LANGUAGE "CXX")
444*ba62d9d3SAndroid Build Coastguard Workeradd_library(${LIB_NAME}_SOFTLET_COMMON OBJECT ${SOFTLET_COMMON_SOURCES_} ${SOFTLET_MHW_SOURCES_})
445*ba62d9d3SAndroid Build Coastguard Workerset_property(TARGET ${LIB_NAME}_SOFTLET_COMMON PROPERTY POSITION_INDEPENDENT_CODE 1)
446*ba62d9d3SAndroid Build Coastguard WorkerMediaAddCommonTargetDefines(${LIB_NAME}_SOFTLET_COMMON)
447*ba62d9d3SAndroid Build Coastguard Workertarget_include_directories(${LIB_NAME}_SOFTLET_COMMON BEFORE PRIVATE
448*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_MOS_PREPEND_INCLUDE_DIRS_}
449*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_MOS_PUBLIC_INCLUDE_DIRS_}
450*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_COMMON_PRIVATE_INCLUDE_DIRS_}
451*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_MHW_PRIVATE_INCLUDE_DIRS_}
452*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_CODEC_PRIVATE_INCLUDE_DIRS_}
453*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_VP_PRIVATE_INCLUDE_DIRS_}
454*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_DDI_PUBLIC_INCLUDE_DIRS_}
455*ba62d9d3SAndroid Build Coastguard Worker    ${CP_INTERFACE_DIRECTORIES_}
456*ba62d9d3SAndroid Build Coastguard Worker)
457*ba62d9d3SAndroid Build Coastguard WorkerFOREACH(SRC ${SOFTLET_COMMON_SOURCES_})
458*ba62d9d3SAndroid Build Coastguard Worker    if ("${SRC}" MATCHES "media/media_driver" OR (NOT "${LEGACY_EXT_PATH}" STREQUAL "" AND "${SRC}" MATCHES "${LEGACY_EXT_PATH}"))
459*ba62d9d3SAndroid Build Coastguard Worker        message(FATAL_ERROR "softlet lib include legacy files ${SRC} - exiting!")
460*ba62d9d3SAndroid Build Coastguard Worker        exit(1)
461*ba62d9d3SAndroid Build Coastguard Worker    endif()
462*ba62d9d3SAndroid Build Coastguard WorkerENDFOREACH()
463*ba62d9d3SAndroid Build Coastguard Worker
464*ba62d9d3SAndroid Build Coastguard Workeradd_library(${LIB_NAME}_CODEC OBJECT ${CODEC_SOURCES_})
465*ba62d9d3SAndroid Build Coastguard Workerset_property(TARGET ${LIB_NAME}_CODEC PROPERTY POSITION_INDEPENDENT_CODE 1)
466*ba62d9d3SAndroid Build Coastguard WorkerMediaAddCommonTargetDefines(${LIB_NAME}_CODEC)
467*ba62d9d3SAndroid Build Coastguard Workertarget_include_directories(${LIB_NAME}_CODEC BEFORE PRIVATE ${SOFTLET_MOS_PREPEND_INCLUDE_DIRS_} ${MOS_PUBLIC_INCLUDE_DIRS_} ${SOFTLET_MOS_PUBLIC_INCLUDE_DIRS_} ${COMMON_PRIVATE_INCLUDE_DIRS_} ${SOFTLET_MHW_PRIVATE_INCLUDE_DIRS_} ${SOFTLET_CODEC_PRIVATE_INCLUDE_DIRS_} ${VP_PRIVATE_INCLUDE_DIRS_} ${COMMON_CP_DIRECTORIES_} ${SOFTLET_DDI_PUBLIC_INCLUDE_DIRS_})
468*ba62d9d3SAndroid Build Coastguard WorkerFOREACH(SRC ${CODEC_SOURCES_})
469*ba62d9d3SAndroid Build Coastguard Worker    if ("${SRC}" MATCHES "media/media_softlet" OR (NOT "${SOFTLET_EXT_PATH}" STREQUAL "" AND "${SRC}" MATCHES "${SOFTLET_EXT_PATH}"))
470*ba62d9d3SAndroid Build Coastguard Worker        message(FATAL_ERROR "codec legacy lib include softlet files ${SRC} - exiting!")
471*ba62d9d3SAndroid Build Coastguard Worker        exit(1)
472*ba62d9d3SAndroid Build Coastguard Worker    endif()
473*ba62d9d3SAndroid Build Coastguard WorkerENDFOREACH()
474*ba62d9d3SAndroid Build Coastguard Worker
475*ba62d9d3SAndroid Build Coastguard Workeradd_library(${LIB_NAME}_SOFTLET_CODEC OBJECT ${SOFTLET_CODEC_SOURCES_})
476*ba62d9d3SAndroid Build Coastguard Workerset_property(TARGET ${LIB_NAME}_SOFTLET_CODEC PROPERTY POSITION_INDEPENDENT_CODE 1)
477*ba62d9d3SAndroid Build Coastguard WorkerMediaAddCommonTargetDefines(${LIB_NAME}_SOFTLET_CODEC)
478*ba62d9d3SAndroid Build Coastguard Workertarget_include_directories(${LIB_NAME}_SOFTLET_CODEC BEFORE PRIVATE
479*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_MOS_PREPEND_INCLUDE_DIRS_}
480*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_MOS_PUBLIC_INCLUDE_DIRS_}
481*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_COMMON_PRIVATE_INCLUDE_DIRS_}
482*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_MHW_PRIVATE_INCLUDE_DIRS_}
483*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_DDI_PUBLIC_INCLUDE_DIRS_}
484*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_CODEC_PRIVATE_INCLUDE_DIRS_}
485*ba62d9d3SAndroid Build Coastguard Worker    ${CP_INTERFACE_DIRECTORIES_}
486*ba62d9d3SAndroid Build Coastguard Worker)
487*ba62d9d3SAndroid Build Coastguard WorkerFOREACH(SRC ${SOFTLET_CODEC_SOURCES_})
488*ba62d9d3SAndroid Build Coastguard Worker    if ("${SRC}" MATCHES "media/media_driver" OR (NOT "${LEGACY_EXT_PATH}" STREQUAL "" AND "${SRC}" MATCHES "${LEGACY_EXT_PATH}"))
489*ba62d9d3SAndroid Build Coastguard Worker        message(FATAL_ERROR "softlet lib include legacy files ${SRC} - exiting!")
490*ba62d9d3SAndroid Build Coastguard Worker        exit(1)
491*ba62d9d3SAndroid Build Coastguard Worker    endif()
492*ba62d9d3SAndroid Build Coastguard WorkerENDFOREACH()
493*ba62d9d3SAndroid Build Coastguard Worker
494*ba62d9d3SAndroid Build Coastguard Workeradd_library(${LIB_NAME}_VP OBJECT ${VP_SOURCES_})
495*ba62d9d3SAndroid Build Coastguard Workerset_property(TARGET ${LIB_NAME}_VP PROPERTY POSITION_INDEPENDENT_CODE 1)
496*ba62d9d3SAndroid Build Coastguard WorkerMediaAddCommonTargetDefines(${LIB_NAME}_VP)
497*ba62d9d3SAndroid Build Coastguard Workertarget_include_directories(${LIB_NAME}_VP BEFORE PRIVATE ${SOFTLET_MOS_PREPEND_INCLUDE_DIRS_} ${MOS_PUBLIC_INCLUDE_DIRS_} ${SOFTLET_MOS_PUBLIC_INCLUDE_DIRS_} ${COMMON_PRIVATE_INCLUDE_DIRS_} ${SOFTLET_MHW_PRIVATE_INCLUDE_DIRS_} ${VP_PRIVATE_INCLUDE_DIRS_} ${COMMON_CP_DIRECTORIES_} ${SOFTLET_DDI_PUBLIC_INCLUDE_DIRS_} ${SOFTLET_CODEC_PRIVATE_INCLUDE_DIRS_})
498*ba62d9d3SAndroid Build Coastguard WorkerFOREACH(SRC ${VP_SOURCES_})
499*ba62d9d3SAndroid Build Coastguard Worker    if ("${SRC}" MATCHES "media/media_softlet" OR (NOT "${SOFTLET_EXT_PATH}" STREQUAL "" AND "${SRC}" MATCHES "${SOFTLET_EXT_PATH}"))
500*ba62d9d3SAndroid Build Coastguard Worker        message(FATAL_ERROR "vp legacy lib include softlet files ${SRC} - exiting!")
501*ba62d9d3SAndroid Build Coastguard Worker        exit(1)
502*ba62d9d3SAndroid Build Coastguard Worker    endif()
503*ba62d9d3SAndroid Build Coastguard WorkerENDFOREACH()
504*ba62d9d3SAndroid Build Coastguard Worker
505*ba62d9d3SAndroid Build Coastguard Workeradd_library(${LIB_NAME}_SOFTLET_VP OBJECT ${SOFTLET_VP_SOURCES_})
506*ba62d9d3SAndroid Build Coastguard Workerset_property(TARGET ${LIB_NAME}_SOFTLET_VP PROPERTY POSITION_INDEPENDENT_CODE 1)
507*ba62d9d3SAndroid Build Coastguard WorkerMediaAddCommonTargetDefines(${LIB_NAME}_SOFTLET_VP)
508*ba62d9d3SAndroid Build Coastguard Workertarget_include_directories(${LIB_NAME}_SOFTLET_VP BEFORE PRIVATE
509*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_MOS_PREPEND_INCLUDE_DIRS_}
510*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_MOS_PUBLIC_INCLUDE_DIRS_}
511*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_COMMON_PRIVATE_INCLUDE_DIRS_}
512*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_MHW_PRIVATE_INCLUDE_DIRS_}
513*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_VP_PRIVATE_INCLUDE_DIRS_}
514*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_DDI_PUBLIC_INCLUDE_DIRS_}
515*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_CODEC_PRIVATE_INCLUDE_DIRS_}
516*ba62d9d3SAndroid Build Coastguard Worker    ${CP_INTERFACE_DIRECTORIES_}
517*ba62d9d3SAndroid Build Coastguard Worker)
518*ba62d9d3SAndroid Build Coastguard WorkerFOREACH(SRC ${SOFTLET_VP_SOURCES_})
519*ba62d9d3SAndroid Build Coastguard Worker    if ("${SRC}" MATCHES "media/media_driver" OR (NOT "${LEGACY_EXT_PATH}" STREQUAL "" AND "${SRC}" MATCHES "${LEGACY_EXT_PATH}"))
520*ba62d9d3SAndroid Build Coastguard Worker        message(FATAL_ERROR "softlet lib include legacy files ${SRC} - exiting!")
521*ba62d9d3SAndroid Build Coastguard Worker        exit(1)
522*ba62d9d3SAndroid Build Coastguard Worker    endif()
523*ba62d9d3SAndroid Build Coastguard WorkerENDFOREACH()
524*ba62d9d3SAndroid Build Coastguard Worker
525*ba62d9d3SAndroid Build Coastguard Workeradd_library(${LIB_NAME}_CP OBJECT ${CP_SOURCES_})
526*ba62d9d3SAndroid Build Coastguard Workerset_property(TARGET ${LIB_NAME}_CP PROPERTY POSITION_INDEPENDENT_CODE 1)
527*ba62d9d3SAndroid Build Coastguard WorkerMediaAddCommonTargetDefines(${LIB_NAME}_CP)
528*ba62d9d3SAndroid Build Coastguard Workertarget_include_directories(${LIB_NAME}_CP BEFORE PRIVATE ${SOFTLET_MOS_PREPEND_INCLUDE_DIRS_} ${MOS_PUBLIC_INCLUDE_DIRS_} ${SOFTLET_MOS_PUBLIC_INCLUDE_DIRS_} ${COMMON_PRIVATE_INCLUDE_DIRS_} ${SOFTLET_MHW_PRIVATE_INCLUDE_DIRS_} ${SOFTLET_CODEC_PRIVATE_INCLUDE_DIRS_} ${VP_PRIVATE_INCLUDE_DIRS_} ${COMMON_CP_DIRECTORIES_} ${SOFTLET_DDI_PUBLIC_INCLUDE_DIRS_})
529*ba62d9d3SAndroid Build Coastguard Worker
530*ba62d9d3SAndroid Build Coastguard Worker#DDI LIB
531*ba62d9d3SAndroid Build Coastguard Workerif(NOT "${SOFTLET_DDI_SOURCES_}" STREQUAL "")
532*ba62d9d3SAndroid Build Coastguard Worker    add_library(${LIB_NAME}_SOFTLET_DDI OBJECT ${SOFTLET_DDI_SOURCES_})
533*ba62d9d3SAndroid Build Coastguard Worker    set_property(TARGET ${LIB_NAME}_SOFTLET_DDI PROPERTY POSITION_INDEPENDENT_CODE 1)
534*ba62d9d3SAndroid Build Coastguard Worker    set_property(TARGET ${LIB_NAME}_SOFTLET_DDI APPEND PROPERTY COMPILE_DEFINITIONS MEDIA_SOFTLET)
535*ba62d9d3SAndroid Build Coastguard Worker    MediaAddCommonTargetDefines(${LIB_NAME}_SOFTLET_DDI)
536*ba62d9d3SAndroid Build Coastguard Worker    target_include_directories(${LIB_NAME}_SOFTLET_DDI BEFORE PRIVATE
537*ba62d9d3SAndroid Build Coastguard Worker        ${SOFTLET_DDI_PUBLIC_INCLUDE_DIRS_}
538*ba62d9d3SAndroid Build Coastguard Worker        ${SOFTLET_DDI_PRIVATE_INCLUDE_DIRS_}
539*ba62d9d3SAndroid Build Coastguard Worker        ${SOFTLET_MOS_PREPEND_INCLUDE_DIRS_}
540*ba62d9d3SAndroid Build Coastguard Worker        ${MOS_PUBLIC_INCLUDE_DIRS_}
541*ba62d9d3SAndroid Build Coastguard Worker        ${SOFTLET_MOS_PUBLIC_INCLUDE_DIRS_}
542*ba62d9d3SAndroid Build Coastguard Worker        ${COMMON_PRIVATE_INCLUDE_DIRS_}
543*ba62d9d3SAndroid Build Coastguard Worker        ${SOFTLET_MHW_PRIVATE_INCLUDE_DIRS_}
544*ba62d9d3SAndroid Build Coastguard Worker        ${VP_PRIVATE_INCLUDE_DIRS_}
545*ba62d9d3SAndroid Build Coastguard Worker        ${COMMON_CP_DIRECTORIES_}
546*ba62d9d3SAndroid Build Coastguard Worker        ${SOFTLET_CODEC_PRIVATE_INCLUDE_DIRS_})
547*ba62d9d3SAndroid Build Coastguard Workerendif()
548*ba62d9d3SAndroid Build Coastguard WorkerFOREACH(SRC ${SOFTLET_DDI_SOURCES_})
549*ba62d9d3SAndroid Build Coastguard Worker    if ("${SRC}" MATCHES "media/media_driver" OR (NOT "${LEGACY_EXT_PATH}" STREQUAL "" AND "${SRC}" MATCHES "${LEGACY_EXT_PATH}"))
550*ba62d9d3SAndroid Build Coastguard Worker        message(FATAL_ERROR "softlet lib include legacy files ${SRC} - exiting!")
551*ba62d9d3SAndroid Build Coastguard Worker        exit(1)
552*ba62d9d3SAndroid Build Coastguard Worker    endif()
553*ba62d9d3SAndroid Build Coastguard WorkerENDFOREACH()
554*ba62d9d3SAndroid Build Coastguard Worker
555*ba62d9d3SAndroid Build Coastguard Worker######################################################
556*ba62d9d3SAndroid Build Coastguard Worker#MOS LIB
557*ba62d9d3SAndroid Build Coastguard Worker############## MOS ########################################
558*ba62d9d3SAndroid Build Coastguard Workerset_source_files_properties(${MOS_COMMON_SOURCES_} PROPERTIES LANGUAGE "CXX")
559*ba62d9d3SAndroid Build Coastguard Workerset_source_files_properties(${SOFTLET_MOS_COMMON_SOURCES_} PROPERTIES LANGUAGE "CXX")
560*ba62d9d3SAndroid Build Coastguard Worker
561*ba62d9d3SAndroid Build Coastguard Worker#1 non softlet mos lib
562*ba62d9d3SAndroid Build Coastguard Worker
563*ba62d9d3SAndroid Build Coastguard Workerset (MOS_EXT_INCLUDE_DIRS_
564*ba62d9d3SAndroid Build Coastguard Worker${BS_DIR_MEDIA}/cmrtlib/linux/hardware  # This is to include drm_device.h in cmrtlib, no cpp file needed.
565*ba62d9d3SAndroid Build Coastguard Worker)
566*ba62d9d3SAndroid Build Coastguard Worker
567*ba62d9d3SAndroid Build Coastguard Workeradd_library(${LIB_NAME}_mos OBJECT ${MOS_COMMON_SOURCES_} ${SOFTLET_MOS_COMMON_SOURCES_})
568*ba62d9d3SAndroid Build Coastguard Workerset_property(TARGET ${LIB_NAME}_mos PROPERTY POSITION_INDEPENDENT_CODE 1)
569*ba62d9d3SAndroid Build Coastguard WorkerMediaAddCommonTargetDefines(${LIB_NAME}_mos)
570*ba62d9d3SAndroid Build Coastguard Workertarget_include_directories(${LIB_NAME}_mos BEFORE PRIVATE
571*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_MOS_PREPEND_INCLUDE_DIRS_}
572*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_MOS_PUBLIC_INCLUDE_DIRS_}
573*ba62d9d3SAndroid Build Coastguard Worker    ${MOS_PUBLIC_INCLUDE_DIRS_}
574*ba62d9d3SAndroid Build Coastguard Worker    ${MOS_EXT_INCLUDE_DIRS_}
575*ba62d9d3SAndroid Build Coastguard Worker    ${COMMON_PRIVATE_INCLUDE_DIRS_}
576*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_MHW_PRIVATE_INCLUDE_DIRS_}
577*ba62d9d3SAndroid Build Coastguard Worker    ${VP_PRIVATE_INCLUDE_DIRS_}
578*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_DDI_PUBLIC_INCLUDE_DIRS_}
579*ba62d9d3SAndroid Build Coastguard Worker)
580*ba62d9d3SAndroid Build Coastguard Worker
581*ba62d9d3SAndroid Build Coastguard Worker#2 softlet mos lib
582*ba62d9d3SAndroid Build Coastguard Worker
583*ba62d9d3SAndroid Build Coastguard Workerset (SOFTLET_MOS_EXT_INCLUDE_DIRS_
584*ba62d9d3SAndroid Build Coastguard Worker${SOFTLET_MOS_EXT_INCLUDE_DIRS_}
585*ba62d9d3SAndroid Build Coastguard Worker${BS_DIR_MEDIA}/cmrtlib/linux/hardware # This is to include drm_device.h in cmrtlib, no cpp file needed.
586*ba62d9d3SAndroid Build Coastguard Worker${MEDIA_COMMON}/agnostic/common/media_interfaces
587*ba62d9d3SAndroid Build Coastguard Worker${MEDIA_COMMON}/agnostic/common/shared
588*ba62d9d3SAndroid Build Coastguard Worker${MEDIA_COMMON}/linux/common/cp/os
589*ba62d9d3SAndroid Build Coastguard Worker${MEDIA_SOFTLET}/agnostic/common/media_interfaces
590*ba62d9d3SAndroid Build Coastguard Worker${MEDIA_SOFTLET}/agnostic/common/shared
591*ba62d9d3SAndroid Build Coastguard Worker${MEDIA_SOFTLET}/agnostic/common/shared/mediacopy
592*ba62d9d3SAndroid Build Coastguard Worker${MEDIA_SOFTLET}/linux/common/ddi
593*ba62d9d3SAndroid Build Coastguard Worker)
594*ba62d9d3SAndroid Build Coastguard Worker
595*ba62d9d3SAndroid Build Coastguard Workeradd_library(${LIB_NAME}_mos_softlet OBJECT ${SOFTLET_MOS_COMMON_SOURCES_} ${SOFTLET_MOS_PRIVATE_SOURCES_})
596*ba62d9d3SAndroid Build Coastguard Workerset_property(TARGET ${LIB_NAME}_mos_softlet PROPERTY POSITION_INDEPENDENT_CODE 1)
597*ba62d9d3SAndroid Build Coastguard WorkerMediaAddCommonTargetDefines(${LIB_NAME}_mos_softlet)
598*ba62d9d3SAndroid Build Coastguard Workertarget_include_directories(${LIB_NAME}_mos_softlet BEFORE PRIVATE
599*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_MOS_PREPEND_INCLUDE_DIRS_}
600*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_MOS_PUBLIC_INCLUDE_DIRS_}
601*ba62d9d3SAndroid Build Coastguard Worker    ${SOFTLET_MOS_EXT_INCLUDE_DIRS_}
602*ba62d9d3SAndroid Build Coastguard Worker)
603*ba62d9d3SAndroid Build Coastguard Worker############## MOS LIB END ########################################
604*ba62d9d3SAndroid Build Coastguard Worker
605*ba62d9d3SAndroid Build Coastguard Worker############## Media Driver Static and Shared Lib #################
606*ba62d9d3SAndroid Build Coastguard Workeradd_library(${LIB_NAME} SHARED
607*ba62d9d3SAndroid Build Coastguard Worker    $<TARGET_OBJECTS:${LIB_NAME}_mos>
608*ba62d9d3SAndroid Build Coastguard Worker    $<TARGET_OBJECTS:${LIB_NAME}_COMMON>
609*ba62d9d3SAndroid Build Coastguard Worker    $<TARGET_OBJECTS:${LIB_NAME}_CODEC>
610*ba62d9d3SAndroid Build Coastguard Worker    $<TARGET_OBJECTS:${LIB_NAME}_VP>
611*ba62d9d3SAndroid Build Coastguard Worker    $<TARGET_OBJECTS:${LIB_NAME}_CP>
612*ba62d9d3SAndroid Build Coastguard Worker    $<TARGET_OBJECTS:${LIB_NAME}_SSE2>
613*ba62d9d3SAndroid Build Coastguard Worker    $<TARGET_OBJECTS:${LIB_NAME}_SSE4>
614*ba62d9d3SAndroid Build Coastguard Worker    $<TARGET_OBJECTS:${LIB_NAME}_SOFTLET_VP>
615*ba62d9d3SAndroid Build Coastguard Worker    $<TARGET_OBJECTS:${LIB_NAME}_SOFTLET_CODEC>
616*ba62d9d3SAndroid Build Coastguard Worker    $<TARGET_OBJECTS:${LIB_NAME}_SOFTLET_COMMON>)
617*ba62d9d3SAndroid Build Coastguard Worker
618*ba62d9d3SAndroid Build Coastguard Worker
619*ba62d9d3SAndroid Build Coastguard Workeradd_library(${LIB_NAME_STATIC} STATIC
620*ba62d9d3SAndroid Build Coastguard Worker    $<TARGET_OBJECTS:${LIB_NAME}_mos>
621*ba62d9d3SAndroid Build Coastguard Worker    $<TARGET_OBJECTS:${LIB_NAME}_COMMON>
622*ba62d9d3SAndroid Build Coastguard Worker    $<TARGET_OBJECTS:${LIB_NAME}_CODEC>
623*ba62d9d3SAndroid Build Coastguard Worker    $<TARGET_OBJECTS:${LIB_NAME}_VP>
624*ba62d9d3SAndroid Build Coastguard Worker    $<TARGET_OBJECTS:${LIB_NAME}_CP>
625*ba62d9d3SAndroid Build Coastguard Worker    $<TARGET_OBJECTS:${LIB_NAME}_SSE2>
626*ba62d9d3SAndroid Build Coastguard Worker    $<TARGET_OBJECTS:${LIB_NAME}_SSE4>
627*ba62d9d3SAndroid Build Coastguard Worker    $<TARGET_OBJECTS:${LIB_NAME}_SOFTLET_VP>
628*ba62d9d3SAndroid Build Coastguard Worker    $<TARGET_OBJECTS:${LIB_NAME}_SOFTLET_CODEC>
629*ba62d9d3SAndroid Build Coastguard Worker    $<TARGET_OBJECTS:${LIB_NAME}_SOFTLET_COMMON>)
630*ba62d9d3SAndroid Build Coastguard Worker
631*ba62d9d3SAndroid Build Coastguard Workerset_target_properties(${LIB_NAME_STATIC} PROPERTIES OUTPUT_NAME ${LIB_NAME})
632*ba62d9d3SAndroid Build Coastguard Worker
633*ba62d9d3SAndroid Build Coastguard Workeroption(MEDIA_BUILD_FATAL_WARNINGS "Turn compiler warnings into fatal errors" ON)
634*ba62d9d3SAndroid Build Coastguard Workerif(MEDIA_BUILD_FATAL_WARNINGS)
635*ba62d9d3SAndroid Build Coastguard Worker    set_target_properties(${LIB_NAME}_COMMON PROPERTIES COMPILE_FLAGS "-Werror")
636*ba62d9d3SAndroid Build Coastguard Worker    set_target_properties(${LIB_NAME}_CODEC PROPERTIES COMPILE_FLAGS "-Werror")
637*ba62d9d3SAndroid Build Coastguard Worker    set_target_properties(${LIB_NAME}_VP PROPERTIES COMPILE_FLAGS "-Werror")
638*ba62d9d3SAndroid Build Coastguard Worker    set_target_properties(${LIB_NAME}_CP PROPERTIES COMPILE_FLAGS "-Werror")
639*ba62d9d3SAndroid Build Coastguard Worker    set_target_properties(${LIB_NAME}_mos PROPERTIES COMPILE_FLAGS "-Werror")
640*ba62d9d3SAndroid Build Coastguard Worker    set_target_properties(${LIB_NAME}_SOFTLET_VP PROPERTIES COMPILE_FLAGS "-Werror")
641*ba62d9d3SAndroid Build Coastguard Worker    set_target_properties(${LIB_NAME}_SOFTLET_CODEC PROPERTIES COMPILE_FLAGS "-Werror")
642*ba62d9d3SAndroid Build Coastguard Worker    set_target_properties(${LIB_NAME}_SOFTLET_COMMON PROPERTIES COMPILE_FLAGS "-Werror")
643*ba62d9d3SAndroid Build Coastguard Workerendif()
644*ba62d9d3SAndroid Build Coastguard Worker
645*ba62d9d3SAndroid Build Coastguard Workerset(MEDIA_LINK_FLAGS "-Wl,--no-as-needed -Wl,--gc-sections -z relro -z now -fPIC")
646*ba62d9d3SAndroid Build Coastguard Workeroption(MEDIA_BUILD_HARDENING "Enable hardening (stack-protector, fortify source)" ON)
647*ba62d9d3SAndroid Build Coastguard Workerif(MEDIA_BUILD_HARDENING)
648*ba62d9d3SAndroid Build Coastguard Worker    set(MEDIA_LINK_FLAGS "${MEDIA_LINK_FLAGS} -fstack-protector")
649*ba62d9d3SAndroid Build Coastguard Workerendif()
650*ba62d9d3SAndroid Build Coastguard Workerset_target_properties(${LIB_NAME} PROPERTIES LINK_FLAGS ${MEDIA_LINK_FLAGS})
651*ba62d9d3SAndroid Build Coastguard Worker
652*ba62d9d3SAndroid Build Coastguard Workerset_target_properties(${LIB_NAME}        PROPERTIES PREFIX "")
653*ba62d9d3SAndroid Build Coastguard Workerset_target_properties(${LIB_NAME_STATIC} PROPERTIES PREFIX "")
654*ba62d9d3SAndroid Build Coastguard Worker
655*ba62d9d3SAndroid Build Coastguard Workerset(MEDIA_LINK_EXTERNAL_LIBS "${PKG_PCIACCESS_LIBRARIES} m pthread dl")
656*ba62d9d3SAndroid Build Coastguard Workerif(Backtrace_FOUND)
657*ba62d9d3SAndroid Build Coastguard Worker    set(MEDIA_LINK_EXTERNAL_LIBS "${MEDIA_LINK_EXTERNAL_LIBS} ${Backtrace_LIBRARY}")
658*ba62d9d3SAndroid Build Coastguard Workerendif()
659*ba62d9d3SAndroid Build Coastguard Worker
660*ba62d9d3SAndroid Build Coastguard Workerbs_ufo_link_libraries_noBsymbolic(
661*ba62d9d3SAndroid Build Coastguard Worker    ${LIB_NAME}
662*ba62d9d3SAndroid Build Coastguard Worker    "${INCLUDED_LIBS}"
663*ba62d9d3SAndroid Build Coastguard Worker    "${MEDIA_LINK_EXTERNAL_LIBS}"
664*ba62d9d3SAndroid Build Coastguard Worker)
665*ba62d9d3SAndroid Build Coastguard Worker
666*ba62d9d3SAndroid Build Coastguard Workerif (NOT DEFINED INCLUDED_LIBS OR "${INCLUDED_LIBS}" STREQUAL "")
667*ba62d9d3SAndroid Build Coastguard Worker    # dep libs (gmmlib for now) can be passed through INCLUDED_LIBS, but if not, we need try to setup dep through including dep projects
668*ba62d9d3SAndroid Build Coastguard Worker    if(NOT LIBGMM_FOUND)
669*ba62d9d3SAndroid Build Coastguard Worker        # If we failed to setup dependency from gmmlib via pkg-config we will try to
670*ba62d9d3SAndroid Build Coastguard Worker        # add gmmlib as a target from sources. We need to do this here, after
671*ba62d9d3SAndroid Build Coastguard Worker        # add_library() for iHD driver since gmmlib needs this information.
672*ba62d9d3SAndroid Build Coastguard Worker        if (NOT TARGET igfx_gmmumd_dll)
673*ba62d9d3SAndroid Build Coastguard Worker            add_subdirectory("${BS_DIR_GMMLIB}" "${CMAKE_BINARY_DIR}/gmmlib")
674*ba62d9d3SAndroid Build Coastguard Worker        endif()
675*ba62d9d3SAndroid Build Coastguard Worker        if (NOT TARGET igfx_gmmumd_dll)
676*ba62d9d3SAndroid Build Coastguard Worker            message(FATAL_ERROR "gmm library not found on the system")
677*ba62d9d3SAndroid Build Coastguard Worker        endif()
678*ba62d9d3SAndroid Build Coastguard Worker        set(LIBGMM_CFLAGS_OTHER -DGMM_LIB_DLL)
679*ba62d9d3SAndroid Build Coastguard Worker        set(LIBGMM_LIBRARIES igfx_gmmumd_dll)
680*ba62d9d3SAndroid Build Coastguard Worker    endif()
681*ba62d9d3SAndroid Build Coastguard Worker
682*ba62d9d3SAndroid Build Coastguard Worker    target_compile_options( ${LIB_NAME} PUBLIC ${LIBGMM_CFLAGS_OTHER})
683*ba62d9d3SAndroid Build Coastguard Worker    target_link_libraries ( ${LIB_NAME} ${LIBGMM_LIBRARIES})
684*ba62d9d3SAndroid Build Coastguard Worker
685*ba62d9d3SAndroid Build Coastguard Worker    include(${MEDIA_EXT_CMAKE}/ext/media_feature_include_ext.cmake OPTIONAL)
686*ba62d9d3SAndroid Build Coastguard Worker
687*ba62d9d3SAndroid Build Coastguard Workerendif(NOT DEFINED INCLUDED_LIBS OR "${INCLUDED_LIBS}" STREQUAL "")
688*ba62d9d3SAndroid Build Coastguard Worker
689*ba62d9d3SAndroid Build Coastguard Worker############## Media Driver Static and Shared Lib ##################
690*ba62d9d3SAndroid Build Coastguard Worker
691*ba62d9d3SAndroid Build Coastguard Worker# post target attributes
692*ba62d9d3SAndroid Build Coastguard Workerbs_set_post_target()
693*ba62d9d3SAndroid Build Coastguard Worker
694*ba62d9d3SAndroid Build Coastguard Workerif(MEDIA_RUN_TEST_SUITE AND ENABLE_KERNELS AND ENABLE_NONFREE_KERNELS AND "${CMAKE_BUILD_TYPE}" STREQUAL "ReleaseInternal")
695*ba62d9d3SAndroid Build Coastguard Worker    add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/linux/ult)
696*ba62d9d3SAndroid Build Coastguard Worker    include(${MEDIA_EXT}/media_softlet/ult/ult_top_cmake.cmake OPTIONAL)
697*ba62d9d3SAndroid Build Coastguard Workerendif()
698