FindEMSCRIPTEN.cmake 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. # Copyright (C) 2019 Intel Corporation. All rights reserved.
  2. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  3. include(FindPackageHandleStandardArgs)
  4. find_path(EMSCRIPTEN_HOME
  5. NAMES upstream/emscripten
  6. PATHS /opt/emsdk
  7. NO_DEFAULT_PATH
  8. NO_CMAKE_PATH
  9. NO_CMAKE_SYSTEM_PATH
  10. NO_CMAKE_FIND_ROOT_PATH
  11. REQUIRED
  12. )
  13. find_file(EMSCRIPTEN_VERSION_FILE
  14. NAMES emscripten-version.txt
  15. PATHS ${EMSCRIPTEN_HOME}/upstream/emscripten
  16. NO_DEFAULT_PATH
  17. NO_CMAKE_PATH
  18. NO_CMAKE_SYSTEM_PATH
  19. NO_CMAKE_FIND_ROOT_PATH
  20. REQUIRED
  21. )
  22. file(READ ${EMSCRIPTEN_VERSION_FILE} EMSCRIPTEN_VERSION_FILE_CONTENT)
  23. string(REGEX
  24. MATCH
  25. "[0-9]+\.[0-9]+(\.[0-9]+)*"
  26. EMSCRIPTEN_VERSION
  27. ${EMSCRIPTEN_VERSION_FILE_CONTENT}
  28. )
  29. find_package_handle_standard_args(EMSCRIPTEN
  30. REQUIRED_VARS EMSCRIPTEN_HOME
  31. VERSION_VAR EMSCRIPTEN_VERSION
  32. HANDLE_VERSION_RANGE
  33. )
  34. if(EMSCRIPTEN_FOUND)
  35. set(EMSCRIPTEN_TOOLCHAIN ${EMSCRIPTEN_HOME}/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake)
  36. set(EMCC ${EMSCRIPTEN_HOME}/upstream/emscripten/emcc)
  37. endif()
  38. mark_as_advanced(EMSCRIPTEN_TOOLCHAIN EMCC)