CMakeLists.txt 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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 v0.7.18
  32. GIT_PROGRESS ON
  33. SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/bwa
  34. DEPENDS libz_src
  35. UPDATE_COMMAND git clean -ffdx && git checkout -- *
  36. && ${CMAKE_COMMAND} -E echo "Copying pre-installed CMakeLists.txt"
  37. && ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.bwa_wasm.txt CMakeLists.txt
  38. && git apply ../bwa.patch
  39. CONFIGURE_COMMAND ${CMAKE_COMMAND}
  40. -DWASI_SDK_PREFIX=${WASISDK_HOME}
  41. -DCMAKE_TOOLCHAIN_FILE=${WASISDK_TOOLCHAIN}
  42. -DCMAKE_SYSROOT=${WASISDK_SYSROOT}
  43. -DCMAKE_C_FLAGS=-isystem\ ${CMAKE_CURRENT_SOURCE_DIR}/../include/sse\ -isystem\ ${CMAKE_CURRENT_SOURCE_DIR}/../include/libc/musl
  44. ${CMAKE_CURRENT_SOURCE_DIR}/bwa
  45. BUILD_COMMAND make bwa_wasm_opt -j 4
  46. INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_if_different ./bwa.opt.wasm ${CMAKE_CURRENT_BINARY_DIR}/bwa.wasm
  47. )
  48. ################ bwa data ################
  49. ExternalProject_Add(bwa-kit
  50. PREFIX bwa-kit
  51. URL https://sourceforge.net/projects/bio-bwa/files/bwakit/bwakit-0.7.15_x64-linux.tar.bz2/download
  52. URL_HASH SHA256=0a7b11971bc7916b68e9df35a364afe77cb3000df02ffb3a6fbd1aff9be5878c
  53. DOWNLOAD_NAME bwakit-0.7.15_x64-linux.tar.bz2
  54. DOWNLOAD_EXTRACT_TIMESTAMP ON
  55. DOWNLOAD_NO_EXTRACT OFF
  56. DOWNLOAD_NO_PROGRESS ON
  57. UPDATE_COMMAND ""
  58. PATCH_COMMAND ""
  59. CONFIGURE_COMMAND ""
  60. BUILD_COMMAND ""
  61. INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_if_different
  62. ${CMAKE_CURRENT_BINARY_DIR}/bwa-kit/src/bwa-kit/resource-GRCh38/hs38DH-extra.fa
  63. ${CMAKE_CURRENT_BINARY_DIR}/hs38DH-extra.fa
  64. )