CMakeLists.txt 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. # Copyright (C) 2019 Intel Corporation. All rights reserved.
  2. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  3. cmake_minimum_required (VERSION 3.14)
  4. project(av1_wasm)
  5. list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../cmake)
  6. ################ dependencies ################
  7. find_package(Python3 REQUIRED)
  8. find_package(WASISDK 16.0 REQUIRED)
  9. execute_process(
  10. COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/../../../test-tools/pick-up-emscripten-headers/collect_files.py --install ../include --loglevel=ERROR
  11. WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
  12. )
  13. #######################################
  14. include(ExternalProject)
  15. ################ av1 ################
  16. ExternalProject_Add(av1
  17. PREFIX av1
  18. GIT_REPOSITORY https://github.com/GoogleChromeLabs/wasm-av1.git
  19. GIT_TAG master
  20. GIT_PROGRESS ON
  21. GIT_SHALLOW ON
  22. SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/av1
  23. UPDATE_COMMAND git clean -fd && git checkout -- *
  24. && ${CMAKE_COMMAND} -E echo "Copying pre-installed CMakeLists.txt"
  25. && ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.avx_wasm.txt CMakeLists.txt
  26. && git apply ../av1-clang.patch
  27. CONFIGURE_COMMAND ${CMAKE_COMMAND}
  28. -DWASI_SDK_PREFIX=${WASISDK_HOME}
  29. -DCMAKE_TOOLCHAIN_FILE=${WASISDK_TOOLCHAIN}
  30. -DCMAKE_SYSROOT=${WASISDK_SYSROOT}
  31. -DCMAKE_C_FLAGS=-isystem\ ${CMAKE_CURRENT_SOURCE_DIR}/../include/sse\ -isystem\ ${CMAKE_CURRENT_SOURCE_DIR}/../include/libc/musl
  32. ${CMAKE_CURRENT_SOURCE_DIR}/av1
  33. BUILD_COMMAND make testavx_opt -j 4
  34. INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_if_different
  35. testavx.opt.wasm
  36. ${CMAKE_CURRENT_SOURCE_DIR}/av1/third_party/samples/elephants_dream_480p24.ivf
  37. ${CMAKE_CURRENT_BINARY_DIR}
  38. )