ncnn.cmake 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. function(download_ncnn)
  2. if(CMAKE_VERSION VERSION_LESS 3.11)
  3. # FetchContent is available since 3.11,
  4. # we've copied it to ${CMAKE_SOURCE_DIR}/cmake/Modules
  5. # so that it can be used in lower CMake versions.
  6. message(STATUS "Use FetchContent provided by sherpa-ncnn")
  7. list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules)
  8. endif()
  9. include(FetchContent)
  10. set(ncnn_URL "https://github.com/csukuangfj/ncnn/archive/refs/tags/sherpa-0.1.tar.gz")
  11. set(ncnn_HASH "SHA256=bd9669798846a2727eaa05c4ce156d19e8c729a0f6ee9277d5c4ded33fd38dff")
  12. FetchContent_Declare(ncnn
  13. URL ${ncnn_URL}
  14. URL_HASH ${ncnn_HASH}
  15. )
  16. set(NCNN_INSTALL_SDK OFF CACHE BOOL "" FORCE)
  17. set(NCNN_PIXEL OFF CACHE BOOL "" FORCE)
  18. set(NCNN_PIXEL_ROTATE OFF CACHE BOOL "" FORCE)
  19. set(NCNN_PIXEL_AFFINE OFF CACHE BOOL "" FORCE)
  20. set(NCNN_PIXEL_DRAWING OFF CACHE BOOL "" FORCE)
  21. set(NCNN_BUILD_BENCHMARK OFF CACHE BOOL "" FORCE)
  22. set(NCNN_INT8 OFF CACHE BOOL "" FORCE) # TODO(fangjun): enable it
  23. set(NCNN_BF16 OFF CACHE BOOL "" FORCE) # TODO(fangjun): enable it
  24. set(NCNN_BUILD_TOOLS OFF CACHE BOOL "" FORCE)
  25. set(NCNN_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
  26. set(NCNN_BUILD_TESTS OFF CACHE BOOL "" FORCE)
  27. FetchContent_GetProperties(ncnn)
  28. if(NOT ncnn_POPULATED)
  29. message(STATUS "Downloading ncnn")
  30. FetchContent_Populate(ncnn)
  31. endif()
  32. message(STATUS "ncnn is downloaded to ${ncnn_SOURCE_DIR}")
  33. message(STATUS "ncnn's binary dir is ${ncnn_BINARY_DIR}")
  34. add_subdirectory(${ncnn_SOURCE_DIR} ${ncnn_BINARY_DIR} EXCLUDE_FROM_ALL)
  35. endfunction()
  36. download_ncnn()