123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- function(download_ncnn)
- if(CMAKE_VERSION VERSION_LESS 3.11)
- # FetchContent is available since 3.11,
- # we've copied it to ${CMAKE_SOURCE_DIR}/cmake/Modules
- # so that it can be used in lower CMake versions.
- message(STATUS "Use FetchContent provided by sherpa-ncnn")
- list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules)
- endif()
- include(FetchContent)
- set(ncnn_URL "https://github.com/csukuangfj/ncnn/archive/refs/tags/sherpa-0.1.tar.gz")
- set(ncnn_HASH "SHA256=bd9669798846a2727eaa05c4ce156d19e8c729a0f6ee9277d5c4ded33fd38dff")
- FetchContent_Declare(ncnn
- URL ${ncnn_URL}
- URL_HASH ${ncnn_HASH}
- )
- set(NCNN_INSTALL_SDK OFF CACHE BOOL "" FORCE)
- set(NCNN_PIXEL OFF CACHE BOOL "" FORCE)
- set(NCNN_PIXEL_ROTATE OFF CACHE BOOL "" FORCE)
- set(NCNN_PIXEL_AFFINE OFF CACHE BOOL "" FORCE)
- set(NCNN_PIXEL_DRAWING OFF CACHE BOOL "" FORCE)
- set(NCNN_BUILD_BENCHMARK OFF CACHE BOOL "" FORCE)
- set(NCNN_INT8 OFF CACHE BOOL "" FORCE) # TODO(fangjun): enable it
- set(NCNN_BF16 OFF CACHE BOOL "" FORCE) # TODO(fangjun): enable it
- set(NCNN_BUILD_TOOLS OFF CACHE BOOL "" FORCE)
- set(NCNN_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
- set(NCNN_BUILD_TESTS OFF CACHE BOOL "" FORCE)
- FetchContent_GetProperties(ncnn)
- if(NOT ncnn_POPULATED)
- message(STATUS "Downloading ncnn")
- FetchContent_Populate(ncnn)
- endif()
- message(STATUS "ncnn is downloaded to ${ncnn_SOURCE_DIR}")
- message(STATUS "ncnn's binary dir is ${ncnn_BINARY_DIR}")
- add_subdirectory(${ncnn_SOURCE_DIR} ${ncnn_BINARY_DIR} EXCLUDE_FROM_ALL)
- endfunction()
- download_ncnn()
|