CMakeLists.txt 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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(bwa_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. ################ libz ################
  16. ExternalProject_Add(libz_src
  17. GIT_REPOSITORY https://github.com/madler/zlib.git
  18. GIT_TAG 04f42ceca40f73e2978b50e93806c2a18c1281fc
  19. GIT_PROGRESS ON
  20. GIT_SHALLOW ON
  21. SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libz
  22. UPDATE_COMMAND ""
  23. PATCH_COMMAND ""
  24. CONFIGURE_COMMAND ""
  25. BUILD_COMMAND ""
  26. INSTALL_COMMAND ""
  27. )
  28. ################ bwa ################
  29. ExternalProject_Add(bwa
  30. GIT_REPOSITORY https://github.com/lh3/bwa.git
  31. GIT_TAG 139f68fc4c3747813783a488aef2adc86626b01b
  32. GIT_PROGRESS ON
  33. GIT_SHALLOW ON
  34. SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/bwa
  35. DEPENDS libz_src
  36. UPDATE_COMMAND git clean -ffdx && git checkout -- *
  37. && ${CMAKE_COMMAND} -E echo "Copying pre-installed CMakeLists.txt"
  38. && ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.bwa_wasm.txt CMakeLists.txt
  39. && git apply ../bwa.patch
  40. CONFIGURE_COMMAND ${CMAKE_COMMAND}
  41. -DWASI_SDK_PREFIX=${WASISDK_HOME}
  42. -DCMAKE_TOOLCHAIN_FILE=${WASISDK_TOOLCHAIN}
  43. -DCMAKE_SYSROOT=${WASISDK_SYSROOT}
  44. -DCMAKE_C_FLAGS=-isystem\ ${CMAKE_CURRENT_SOURCE_DIR}/../include/sse\ -isystem\ ${CMAKE_CURRENT_SOURCE_DIR}/../include/libc/musl
  45. ${CMAKE_CURRENT_SOURCE_DIR}/bwa
  46. BUILD_COMMAND make bwa_wasm_opt -j 4
  47. INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_if_different ./bwa.opt.wasm ${CMAKE_CURRENT_BINARY_DIR}/bwa.wasm
  48. )
  49. ################ bwa data ################
  50. ExternalProject_Add(bwa-kit
  51. PREFIX bwa-kit
  52. URL https://sourceforge.net/projects/bio-bwa/files/bwakit/bwakit-0.7.15_x64-linux.tar.bz2/download
  53. URL_HASH SHA256=0a7b11971bc7916b68e9df35a364afe77cb3000df02ffb3a6fbd1aff9be5878c
  54. DOWNLOAD_NAME bwakit-0.7.15_x64-linux.tar.bz2
  55. DOWNLOAD_EXTRACT_TIMESTAMP ON
  56. DOWNLOAD_NO_EXTRACT OFF
  57. DOWNLOAD_NO_PROGRESS ON
  58. UPDATE_COMMAND ""
  59. PATCH_COMMAND ""
  60. CONFIGURE_COMMAND ""
  61. BUILD_COMMAND ""
  62. INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_if_different
  63. ${CMAKE_CURRENT_BINARY_DIR}/bwa-kit/src/bwa-kit/resource-GRCh38/hs38DH-extra.fa
  64. ${CMAKE_CURRENT_BINARY_DIR}/hs38DH-extra.fa
  65. )