FindBinaryen.cmake 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. # Copyright (C) 2019 Intel Corporation. All rights reserved.
  2. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  3. #
  4. # Output below variables:
  5. # - Binaryen_HOME. the installation location
  6. #
  7. include(CMakePrintHelpers)
  8. include(FindPackageHandleStandardArgs)
  9. file(GLOB Binaryen_SEARCH_PATH "/opt/binaryen*")
  10. find_path(Binaryen_HOME
  11. NAMES bin/wasm-opt
  12. PATHS ${Binaryen_SEARCH_PATH}
  13. NO_CMAKE_FIND_ROOT_PATH
  14. NO_SYSTEM_ENVIRONMENT_PATH
  15. REQUIRED
  16. )
  17. execute_process(
  18. COMMAND ${Binaryen_HOME}/bin/wasm-opt --version
  19. OUTPUT_VARIABLE WASM_OPT_OUTPUT
  20. OUTPUT_STRIP_TRAILING_WHITESPACE
  21. )
  22. string(REGEX MATCH version_[0-9]+ Binaryen_VERSION_tmp ${WASM_OPT_OUTPUT})
  23. string(REGEX MATCH [0-9]+ Binaryen_VERSION ${Binaryen_VERSION_tmp})
  24. #cmake_print_variables(Binaryen_VERSION_tmp Binaryen_VERSION)
  25. find_package_handle_standard_args(Binaryen REQUIRED_VARS Binaryen_HOME VERSION_VAR Binaryen_VERSION)
  26. if(Binaryen_FOUND)
  27. mark_as_advanced(Binaryen_SEARCH_PATH)
  28. mark_as_advanced(Binaryen_VERSION_tmp)
  29. mark_as_advanced(Binaryen_VERSION)
  30. mark_as_advanced(WASM_OPT_OUTPUT)
  31. set(Binaryen_WASM_OPT ${Binaryen_HOME}/bin/wasm-opt)
  32. else()
  33. # TODO: install WASISDK
  34. endif()