This repository has been archived on 2023-11-05. You can view files and clone it, but cannot push or open issues or pull requests.
wasm-micro-runtime/samples/workload/wasm-av1/CMakeLists.avx_wasm.txt

80 lines
2.2 KiB
Plaintext

# Copyright (C) 2019 Intel Corporation. All rights reserved.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
cmake_minimum_required (VERSION 3.0)
project(testavx)
# a workaround to let aom find our non-public headers
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../include/libc)
################ AOM ################
set(ENABLE_CCACHE ON)
set(ENABLE_DOCS OFF CACHE BOOL "ENABLE_DOCS" FORCE)
set(ENABLE_EXAMPLES OFF CACHE BOOL "ENABLE_EXAMPLES" FORCE)
set(ENABLE_NEON OFF CACHE BOOL "ENABLE_EXAMPLES" FORCE)
set(ENABLE_NEON_ASM OFF CACHE BOOL "ENABLE_EXAMPLES" FORCE)
set(ENABLE_VSX OFF CACHE BOOL "ENABLE_EXAMPLES" FORCE)
set(ENABLE_MMX OFF CACHE BOOL "ENABLE_EXAMPLES" FORCE)
set(AOM_TARGET_CPU generic)
set(CONFIG_ACCOUNTING 1 CACHE NUMBER "" FORCE)
set(CONFIG_INSPECTION 1 CACHE NUMBER "" FORCE)
set(CONFIG_MULTITHREAD 0 CACHE NUMBER "" FORCE)
set(CONFIG_RUNTIME_CPU_DETECT 0 CACHE NUMBER "" FORCE)
set(CONFIG_UNIT_TESTS 0 CACHE NUMBER "" FORCE)
set(CONFIG_WEBM_IO 0 CACHE NUMBER "" FORCE)
add_subdirectory(third_party/aom third_party/aom/bin EXCLUDE_FROM_ALL)
################ AV ################
add_executable(${PROJECT_NAME}
test.c
decode-av1.c
)
target_include_directories(${PROJECT_NAME}
PRIVATE
third_party/aom/
${CMAKE_CURRENT_BINARY_DIR}/third_party/aom/bin
)
set_target_properties(${PROJECT_NAME}
PROPERTIES
OUTPUT_NAME ${PROJECT_NAME}.wasm
)
target_link_options(${PROJECT_NAME}
PRIVATE
LINKER:--allow-undefined
LINKER:--export=__heap_base
LINKER:--export=__data_end
LINKER:--initial-memory=33554432
LINKER:-z,stack-size=25165824
)
target_link_libraries(${PROJECT_NAME}
PRIVATE
aom
)
add_dependencies(${PROJECT_NAME} aom)
find_program(WASM_OPT
NAMES wasm-opt
PATHS /opt/binaryen-version_97/bin /opt/binaryen/bin
)
if (NOT WASM_OPT)
message(WARNING "can not find wasm-opt and will not optimize any wasm module")
endif()
add_custom_target(${PROJECT_NAME}_opt ALL
COMMAND
${WASM_OPT} -Oz --enable-simd -o ${PROJECT_NAME}.opt.wasm ${PROJECT_NAME}.wasm
BYPRODUCTS
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.opt.wasm
WORKING_DIRECTORY
${CMAKE_CURRENT_BINARY_DIR}
)
add_dependencies(${PROJECT_NAME}_opt ${PROJECT_NAME})