mirror of https://github.com/microsoft/vcpkg.git
149 lines
7.0 KiB
Diff
149 lines
7.0 KiB
Diff
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
index 932f9e7..187be72 100644
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -13,8 +13,6 @@ PROJECT(QNNPACK C CXX ASM)
|
|
|
|
# ---[ Options.
|
|
OPTION(QNNPACK_CUSTOM_THREADPOOL "Build QNNPACK for custom thread pool" OFF)
|
|
-SET(QNNPACK_LIBRARY_TYPE "default" CACHE STRING "Type of library (shared, static, or default) to build")
|
|
-SET_PROPERTY(CACHE QNNPACK_LIBRARY_TYPE PROPERTY STRINGS default static shared)
|
|
OPTION(QNNPACK_BUILD_TESTS "Build QNNPACK unit tests" ON)
|
|
OPTION(QNNPACK_BUILD_BENCHMARKS "Build QNNPACK benchmarks" ON)
|
|
|
|
@@ -60,7 +58,7 @@ IF(NOT DEFINED CLOG_SOURCE_DIR)
|
|
SET(CLOG_SOURCE_DIR "${PROJECT_SOURCE_DIR}/deps/clog")
|
|
ENDIF()
|
|
|
|
-IF(NOT DEFINED CPUINFO_SOURCE_DIR)
|
|
+IF(FALSE)
|
|
MESSAGE(STATUS "Downloading cpuinfo to ${CONFU_DEPENDENCIES_SOURCE_DIR}/cpuinfo (define CPUINFO_SOURCE_DIR to avoid it)")
|
|
CONFIGURE_FILE(cmake/DownloadCpuinfo.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/cpuinfo-download/CMakeLists.txt")
|
|
EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
|
|
@@ -70,7 +68,7 @@ IF(NOT DEFINED CPUINFO_SOURCE_DIR)
|
|
SET(CPUINFO_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/cpuinfo" CACHE STRING "cpuinfo source directory")
|
|
ENDIF()
|
|
|
|
-IF(NOT DEFINED FP16_SOURCE_DIR)
|
|
+IF(FALSE)
|
|
MESSAGE(STATUS "Downloading FP16 to ${CONFU_DEPENDENCIES_SOURCE_DIR}/fp16 (define FP16_SOURCE_DIR to avoid it)")
|
|
CONFIGURE_FILE(cmake/DownloadFP16.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/fp16-download/CMakeLists.txt")
|
|
EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
|
|
@@ -80,7 +78,7 @@ IF(NOT DEFINED FP16_SOURCE_DIR)
|
|
SET(FP16_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/fp16" CACHE STRING "FP16 source directory")
|
|
ENDIF()
|
|
|
|
-IF(NOT DEFINED FXDIV_SOURCE_DIR)
|
|
+IF(FALSE)
|
|
MESSAGE(STATUS "Downloading FXdiv to ${CONFU_DEPENDENCIES_SOURCE_DIR}/fxdiv (define FXDIV_SOURCE_DIR to avoid it)")
|
|
CONFIGURE_FILE(cmake/DownloadFXdiv.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/fxdiv-download/CMakeLists.txt")
|
|
EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
|
|
@@ -90,7 +88,7 @@ IF(NOT DEFINED FXDIV_SOURCE_DIR)
|
|
SET(FXDIV_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/fxdiv" CACHE STRING "FXdiv source directory")
|
|
ENDIF()
|
|
|
|
-IF(NOT DEFINED PSIMD_SOURCE_DIR)
|
|
+IF(FALSE)
|
|
MESSAGE(STATUS "Downloading PSimd to ${CONFU_DEPENDENCIES_SOURCE_DIR}/psimd (define PSIMD_SOURCE_DIR to avoid it)")
|
|
CONFIGURE_FILE(cmake/DownloadPSimd.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/psimd-download/CMakeLists.txt")
|
|
EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
|
|
@@ -100,7 +98,7 @@ IF(NOT DEFINED PSIMD_SOURCE_DIR)
|
|
SET(PSIMD_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/psimd" CACHE STRING "PSimd source directory")
|
|
ENDIF()
|
|
|
|
-IF(NOT DEFINED PTHREADPOOL_SOURCE_DIR)
|
|
+IF(FALSE)
|
|
MESSAGE(STATUS "Downloading pthreadpool to ${CONFU_DEPENDENCIES_SOURCE_DIR}/pthreadpool (define PTHREADPOOL_SOURCE_DIR to avoid it)")
|
|
CONFIGURE_FILE(cmake/DownloadPThreadPool.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/pthreadpool-download/CMakeLists.txt")
|
|
EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
|
|
@@ -110,7 +108,7 @@ IF(NOT DEFINED PTHREADPOOL_SOURCE_DIR)
|
|
SET(PTHREADPOOL_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/pthreadpool" CACHE STRING "pthreadpool source directory")
|
|
ENDIF()
|
|
|
|
-IF(QNNPACK_BUILD_TESTS AND NOT DEFINED GOOGLETEST_SOURCE_DIR)
|
|
+IF(FALSE)
|
|
MESSAGE(STATUS "Downloading Google Test to ${CONFU_DEPENDENCIES_SOURCE_DIR}/googletest (define GOOGLETEST_SOURCE_DIR to avoid it)")
|
|
CONFIGURE_FILE(cmake/DownloadGoogleTest.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest-download/CMakeLists.txt")
|
|
EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
|
|
@@ -120,7 +118,7 @@ IF(QNNPACK_BUILD_TESTS AND NOT DEFINED GOOGLETEST_SOURCE_DIR)
|
|
SET(GOOGLETEST_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/googletest" CACHE STRING "Google Test source directory")
|
|
ENDIF()
|
|
|
|
-IF(QNNPACK_BUILD_BENCHMARKS AND NOT DEFINED GOOGLEBENCHMARK_SOURCE_DIR)
|
|
+IF(FALSE)
|
|
MESSAGE(STATUS "Downloading Google Benchmark to ${CONFU_DEPENDENCIES_SOURCE_DIR}/googlebenchmark (define GOOGLEBENCHMARK_SOURCE_DIR to avoid it)")
|
|
CONFIGURE_FILE(cmake/DownloadGoogleBenchmark.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/googlebenchmark-download/CMakeLists.txt")
|
|
EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
|
|
@@ -232,15 +230,7 @@ IF(CMAKE_SYSTEM_PROCESSOR MATCHES "^(i[3-6]86|x86_64)$" OR IOS_ARCH MATCHES "^(i
|
|
LIST(APPEND QNNPACK_UKERNELS ${QNNPACK_X86_SSE2_UKERNELS})
|
|
ENDIF()
|
|
|
|
-IF(QNNPACK_LIBRARY_TYPE STREQUAL "default")
|
|
- ADD_LIBRARY(qnnpack ${QNNPACK_INIT_SRCS} ${QNNPACK_EXEC_SRCS} ${QNNPACK_UKERNELS})
|
|
-ELSEIF(QNNPACK_LIBRARY_TYPE STREQUAL "shared")
|
|
- ADD_LIBRARY(qnnpack SHARED ${QNNPACK_INIT_SRCS} ${QNNPACK_EXEC_SRCS} ${QNNPACK_UKERNELS})
|
|
-ELSEIF(QNNPACK_LIBRARY_TYPE STREQUAL "static")
|
|
- ADD_LIBRARY(qnnpack STATIC ${QNNPACK_INIT_SRCS} ${QNNPACK_EXEC_SRCS} ${QNNPACK_UKERNELS})
|
|
-ELSE()
|
|
- MESSAGE(FATAL_ERROR "Unsupported QNNPACK library type \"${QNNPACK_LIBRARY_TYPE}\". Must be \"static\", \"shared\", or \"default\"")
|
|
-ENDIF()
|
|
+ADD_LIBRARY(qnnpack ${QNNPACK_INIT_SRCS} ${QNNPACK_EXEC_SRCS} ${QNNPACK_UKERNELS})
|
|
SET_TARGET_PROPERTIES(qnnpack PROPERTIES
|
|
C_STANDARD 99
|
|
C_EXTENSIONS YES)
|
|
@@ -274,6 +264,10 @@ TARGET_INCLUDE_DIRECTORIES(qnnpack PUBLIC include)
|
|
TARGET_INCLUDE_DIRECTORIES(qnnpack PRIVATE src)
|
|
SET_TARGET_PROPERTIES(qnnpack PROPERTIES PUBLIC_HEADER include/qnnpack.h)
|
|
|
|
+find_package(cpuinfo CONFIG REQUIRED)
|
|
+add_library(cpuinfo ALIAS cpuinfo::cpuinfo)
|
|
+add_library(clog ALIAS cpuinfo::clog)
|
|
+
|
|
# ---[ Configure clog
|
|
IF(NOT TARGET clog)
|
|
SET(CLOG_BUILD_TESTS OFF CACHE BOOL "")
|
|
@@ -299,6 +293,8 @@ ENDIF()
|
|
TARGET_LINK_LIBRARIES(qnnpack PRIVATE cpuinfo)
|
|
|
|
# ---[ Configure pthreadpool
|
|
+find_package(unofficial-pthreadpool CONFIG REQUIRED)
|
|
+add_library(pthreadpool ALIAS unofficial::pthreadpool)
|
|
IF(NOT TARGET pthreadpool)
|
|
SET(PTHREADPOOL_BUILD_TESTS OFF CACHE BOOL "")
|
|
SET(PTHREADPOOL_BUILD_BENCHMARKS OFF CACHE BOOL "")
|
|
@@ -315,6 +311,8 @@ ELSE()
|
|
ENDIF()
|
|
|
|
# ---[ Configure FXdiv
|
|
+find_package(unofficial-fxdiv CONFIG REQUIRED)
|
|
+add_library(fxdiv ALIAS unofficial::fxdiv::fxdiv)
|
|
IF(NOT TARGET fxdiv)
|
|
SET(FXDIV_BUILD_TESTS OFF CACHE BOOL "")
|
|
SET(FXDIV_BUILD_BENCHMARKS OFF CACHE BOOL "")
|
|
@@ -325,6 +323,8 @@ ENDIF()
|
|
TARGET_LINK_LIBRARIES(qnnpack PRIVATE fxdiv)
|
|
|
|
# ---[ Configure psimd
|
|
+find_package(unofficial-psimd CONFIG REQUIRED)
|
|
+add_library(psimd ALIAS unofficial::psimd::psimd)
|
|
IF(NOT TARGET psimd)
|
|
ADD_SUBDIRECTORY(
|
|
"${PSIMD_SOURCE_DIR}"
|
|
@@ -333,6 +333,8 @@ ENDIF()
|
|
TARGET_LINK_LIBRARIES(qnnpack PRIVATE psimd)
|
|
|
|
# ---[ Configure FP16
|
|
+find_package(unofficial-fp16 CONFIG REQUIRED)
|
|
+add_library(fp16 ALIAS unofficial::fp16::fp16)
|
|
IF(NOT TARGET fp16)
|
|
SET(FP16_BUILD_TESTS OFF CACHE BOOL "")
|
|
SET(FP16_BUILD_BENCHMARKS OFF CACHE BOOL "")
|
|
@@ -343,6 +345,7 @@ ENDIF()
|
|
TARGET_LINK_LIBRARIES(qnnpack PRIVATE fp16)
|
|
|
|
INSTALL(TARGETS qnnpack
|
|
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|