CMakeLists.txt 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  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(wasm_workloads)
  5. #######################################
  6. add_subdirectory(bwa)
  7. add_subdirectory(meshoptimizer)
  8. add_subdirectory(wasm-av1)
  9. #######################################
  10. include(ExternalProject)
  11. ################ iwasm ################
  12. ExternalProject_Add(iwasm
  13. PREFIX
  14. iwasm-build
  15. BUILD_ALWAYS
  16. YES
  17. SOURCE_DIR
  18. ${CMAKE_CURRENT_SOURCE_DIR}/../../product-mini/platforms/linux
  19. CONFIGURE_COMMAND
  20. ${CMAKE_COMMAND} -S ${CMAKE_CURRENT_SOURCE_DIR}/../../product-mini/platforms/linux -B build -DWAMR_BUILD_LIBC_EMCC=1
  21. BUILD_COMMAND
  22. ${CMAKE_COMMAND} --build build --parallel 4
  23. INSTALL_COMMAND
  24. # FIXME: replace with --install
  25. ${CMAKE_COMMAND} -E copy_if_different
  26. ${CMAKE_CURRENT_BINARY_DIR}/iwasm-build/src/iwasm-build/build/iwasm
  27. ${CMAKE_CURRENT_BINARY_DIR}/iwasm
  28. )
  29. ################ wamrc ################
  30. ExternalProject_Add(wamrc
  31. PREFIX
  32. wamrc-build
  33. BUILD_ALWAYS
  34. YES
  35. SOURCE_DIR
  36. ${CMAKE_CURRENT_SOURCE_DIR}/../../wamr-compiler
  37. CONFIGURE_COMMAND
  38. ${CMAKE_COMMAND} -S ${CMAKE_CURRENT_SOURCE_DIR}/../../wamr-compiler -B build
  39. BUILD_COMMAND
  40. ${CMAKE_COMMAND} --build build --parallel 4
  41. INSTALL_COMMAND
  42. # FIXME: replace with --install
  43. ${CMAKE_COMMAND} -E copy_if_different
  44. ${CMAKE_CURRENT_BINARY_DIR}/wamrc-build/src/wamrc-build/build/wamrc
  45. ${CMAKE_CURRENT_BINARY_DIR}/wamrc
  46. )
  47. ################ .aot ################
  48. add_custom_target(
  49. bwa_to_aot
  50. ALL
  51. DEPENDS
  52. bwa wamrc
  53. COMMAND
  54. ./wamrc -o bwa.aot ./bwa/bwa.wasm
  55. WORKING_DIRECTORY
  56. ${CMAKE_CURRENT_BINARY_DIR}
  57. )
  58. add_custom_target(
  59. codecbench_to_aot
  60. ALL
  61. DEPENDS
  62. codecbench wamrc
  63. COMMAND
  64. ./wamrc -o codecbench.aot ./meshoptimizer/codecbench.wasm
  65. WORKING_DIRECTORY
  66. ${CMAKE_CURRENT_BINARY_DIR}
  67. )
  68. add_custom_target(
  69. av1_to_aot
  70. ALL
  71. DEPENDS
  72. av1 wamrc
  73. COMMAND
  74. ./wamrc -o testavx.aot ./wasm-av1/testavx.opt.wasm
  75. WORKING_DIRECTORY
  76. ${CMAKE_CURRENT_BINARY_DIR}
  77. )
  78. ################ smoking test ################
  79. include(CTest)
  80. add_test(
  81. NAME
  82. run_bwa
  83. COMMAND
  84. ./iwasm --dir=. ./bwa.aot index ./bwa/hs38DH-extra.fa
  85. WORKING_DIRECTORY
  86. ${CMAKE_CURRENT_BINARY_DIR}
  87. )
  88. add_test(
  89. NAME
  90. run_codecbench
  91. COMMAND
  92. ./iwasm codecbench.aot
  93. WORKING_DIRECTORY
  94. ${CMAKE_CURRENT_BINARY_DIR}
  95. )
  96. add_test(
  97. NAME
  98. run_av1
  99. COMMAND
  100. ./iwasm --dir=. testavx.aot ./wasm-av1/elephants_dream_480p24.ivf
  101. WORKING_DIRECTORY
  102. ${CMAKE_CURRENT_BINARY_DIR}
  103. )