/*
 * Copyright (C) 2021 Samsung Electronics Co. Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

cc_test {
    name: "libsbwchelper_test",

    proprietary: true,

    srcs: [
        "SBWCHelperTest.cpp",
        "SBWCHelperTestHelper.cpp",
    ],

    include_dirs: [
        "hardware/samsung_slsi-linaro/exynos/include",
    ],

    static_libs:[
        "libarect",
    ],

    shared_libs: [
        "libui",
        "libcutils",
        "libutils",
        "libhidlbase",
        "liblog",
        "libnativewindow",
        "libexynosgraphicbuffer_core",
        "libsbwchelper",
    ],
}
