[nnpack][fxdiv][fp16][psimd][pthreadpool] Added unofficial cmake bindings (#46775)

Co-authored-by: Steve <steve@imagus.au>
Co-authored-by: Kai Pastor <dg0yt@darc.de>
Co-authored-by: Steve Brain <sbrain@vixvizion.com>
This commit is contained in:
EvilMcStevil 2025-08-07 05:56:21 +10:00 committed by GitHub
parent 3861791eab
commit 8abb2f799b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
19 changed files with 179 additions and 98 deletions

View File

@ -1,5 +1,5 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e0d87f8..10a09a9 100644
index e0d87f8..ae08c37 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,7 +3,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12 FATAL_ERROR)
@ -11,17 +11,19 @@ index e0d87f8..10a09a9 100644
# ---[ Options.
OPTION(FP16_BUILD_TESTS "Build FP16 unit tests" ON)
@@ -33,7 +33,8 @@ SET(CONFU_DEPENDENCIES_SOURCE_DIR ${CMAKE_SOURCE_DIR}/deps
@@ -33,7 +33,10 @@ SET(CONFU_DEPENDENCIES_SOURCE_DIR ${CMAKE_SOURCE_DIR}/deps
SET(CONFU_DEPENDENCIES_BINARY_DIR ${CMAKE_BINARY_DIR}/deps
CACHE PATH "Confu-style dependencies binary directory")
-IF(NOT DEFINED PSIMD_SOURCE_DIR)
+find_package(psimd CONFIG REQUIRED)
+find_package(unofficial-psimd CONFIG REQUIRED)
+add_library(psimd ALIAS unofficial::psimd::psimd)
+
+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}" .
@@ -77,7 +78,7 @@ ENDIF()
@@ -77,7 +80,7 @@ ENDIF()
TARGET_INCLUDE_DIRECTORIES(fp16 INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>)
@ -30,43 +32,40 @@ index e0d87f8..10a09a9 100644
INSTALL(FILES include/fp16.h
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
INSTALL(FILES
@@ -89,8 +90,25 @@ INSTALL(FILES
@@ -89,6 +92,23 @@ INSTALL(FILES
include/fp16/avx2.py
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/fp16)
+
+INSTALL(TARGETS fp16
+ EXPORT fp16-config-targets
+ EXPORT unofficial-fp16-config-targets
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+ INSTALL(EXPORT fp16-config-targets NAMESPACE fp16::
+ FILE fp16-config-targets.cmake
+ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}) # share/fp16
+ INSTALL(EXPORT unofficial-fp16-config-targets NAMESPACE unofficial::fp16::
+ FILE unofficial-fp16-config-targets.cmake
+ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/unofficial-fp16) # share/fp16
+
+include(CMakePackageConfigHelpers)
+configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/fp16-config.cmake" INSTALL_DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME})
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/fp16-config.cmake DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME})
+configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/unofficial-fp16-config.cmake" INSTALL_DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/unofficial-fp16)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-fp16-config.cmake DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/unofficial-fp16)
+
+
+
# ---[ Configure psimd
-IF(NOT TARGET psimd)
+IF(FALSE)
IF(NOT TARGET psimd)
ADD_SUBDIRECTORY(
"${PSIMD_SOURCE_DIR}"
"${CONFU_DEPENDENCIES_BINARY_DIR}/psimd")
diff --git a/Config.cmake.in b/Config.cmake.in
new file mode 100644
index 0000000..a1e87dc
index 0000000..4523150
--- /dev/null
+++ b/Config.cmake.in
@@ -0,0 +1,7 @@
+@PACKAGE_INIT@
+
+include(CMakeFindDependencyMacro)
+find_dependency(psimd)
+find_dependency(unofficial-psimd)
+
+
+include ( "${CMAKE_CURRENT_LIST_DIR}/fp16-config-targets.cmake" )
+include ( "${CMAKE_CURRENT_LIST_DIR}/unofficial-fp16-config-targets.cmake" )

View File

@ -13,6 +13,6 @@ vcpkg_cmake_configure(
-DFP16_BUILD_BENCHMARKS=OFF
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT})
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug")

View File

@ -1,7 +1,7 @@
{
"name": "fp16",
"version-date": "2021-02-21",
"port-version": 3,
"port-version": 4,
"description": "Header-only library for conversion to/from half-precision floating point formats",
"homepage": "https://github.com/Maratyszcza/FP16",
"dependencies": [
@ -9,6 +9,10 @@
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
]
}

View File

@ -1,5 +1,5 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bcae6b5..b056d09 100644
index bcae6b5..a20ea87 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -43,7 +43,7 @@ ENDIF()
@ -16,13 +16,13 @@ index bcae6b5..b056d09 100644
INSTALL(FILES include/fxdiv.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+INSTALL(TARGETS fxdiv
+ EXPORT fxdiv-config
+ EXPORT unofficial-fxdiv-config
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+INSTALL(EXPORT fxdiv-config NAMESPACE fxdiv::
+ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}) # share/fxdiv
+INSTALL(EXPORT unofficial-fxdiv-config NAMESPACE unofficial::fxdiv::
+ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/unofficial-fxdiv) # share/fxdiv
IF(FXDIV_BUILD_TESTS)
# ---[ Build google test

View File

@ -15,6 +15,7 @@ vcpkg_cmake_configure(
)
vcpkg_cmake_install()
vcpkg_copy_pdbs()
vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT})
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug")

View File

@ -1,13 +1,17 @@
{
"name": "fxdiv",
"version-date": "2021-02-21",
"port-version": 3,
"port-version": 4,
"description": "C99/C++ header-only library for division via fixed-point multiplication by inverse",
"homepage": "https://github.com/Maratyszcza/FXdiv",
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
]
}

View File

@ -1,5 +1,5 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5ecd2df..8565044 100644
index 5ecd2df..d26aa34 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -12,8 +12,6 @@ SET_PROPERTY(CACHE NNPACK_BACKEND PROPERTY STRINGS auto psimd scalar)
@ -11,6 +11,24 @@ index 5ecd2df..8565044 100644
OPTION(NNPACK_BUILD_TESTS "Build NNPACK unit tests" ON)
# ---[ CMake options
@@ -176,7 +174,7 @@ IF(NNPACK_BACKEND STREQUAL "x86-64")
SET(PEACHPY_PYTHONPATH "${PYTHON_SIX_SOURCE_DIR}:${PYTHON_PEACHPY_SOURCE_DIR}")
ENDIF()
ENDIF()
-
+IF(FALSE)
IF(NOT DEFINED CPUINFO_SOURCE_DIR)
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")
@@ -226,7 +224,7 @@ IF(NOT DEFINED PTHREADPOOL_SOURCE_DIR)
WORKING_DIRECTORY "${CONFU_DEPENDENCIES_BINARY_DIR}/pthreadpool-download")
SET(PTHREADPOOL_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/pthreadpool" CACHE STRING "pthreadpool source directory")
ENDIF()
-
+ENDIF()
IF(NNPACK_BUILD_TESTS AND NOT DEFINED GOOGLETEST_SOURCE_DIR)
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")
@@ -442,15 +440,7 @@ ELSE()
SET(NNPACK_BACKEND_C_SRCS ${NNPACK_BACKEND_SRCS})
ENDIF()
@ -28,71 +46,101 @@ index 5ecd2df..8565044 100644
NNPACK_TARGET_ENABLE_C99(nnpack)
IF(IOS OR CMAKE_SYSTEM_PROCESSOR MATCHES "^(armv5te|armv7-a|armv7l)$")
IF(IOS AND NNPACK_BACKEND STREQUAL "neon")
@@ -496,7 +486,7 @@ NNPACK_TARGET_ENABLE_C99(nnpack_reference_layers)
@@ -472,7 +462,7 @@ ENDIF()
IF(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
SET_PROPERTY(SOURCE ${NNPACK_BACKEND_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -O3 ")
ENDIF()
-TARGET_INCLUDE_DIRECTORIES(nnpack PUBLIC include)
+TARGET_INCLUDE_DIRECTORIES(nnpack PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include>)
TARGET_INCLUDE_DIRECTORIES(nnpack PRIVATE src)
IF(NNPACK_BACKEND STREQUAL "psimd")
TARGET_COMPILE_DEFINITIONS(nnpack PRIVATE NNP_BACKEND_PSIMD=1)
@@ -496,6 +486,8 @@ NNPACK_TARGET_ENABLE_C99(nnpack_reference_layers)
TARGET_INCLUDE_DIRECTORIES(nnpack_reference_layers PUBLIC include)
# ---[ Configure cpuinfo
-IF(NOT TARGET cpuinfo)
+IF(FALSE)
+find_package(cpuinfo CONFIG REQUIRED)
+add_library(cpuinfo ALIAS cpuinfo::cpuinfo)
IF(NOT TARGET cpuinfo)
SET(CPUINFO_BUILD_TOOLS OFF CACHE BOOL "")
SET(CPUINFO_BUILD_UNIT_TESTS OFF CACHE BOOL "")
SET(CPUINFO_BUILD_MOCK_TESTS OFF CACHE BOOL "")
@@ -505,10 +495,11 @@ IF(NOT TARGET cpuinfo)
"${CPUINFO_SOURCE_DIR}"
@@ -506,8 +498,10 @@ IF(NOT TARGET cpuinfo)
"${CONFU_DEPENDENCIES_BINARY_DIR}/cpuinfo")
ENDIF()
-TARGET_LINK_LIBRARIES(nnpack PRIVATE cpuinfo)
+find_package(cpuinfo CONFIG REQUIRED)
+target_link_libraries(nnpack PUBLIC cpuinfo::cpuinfo)
TARGET_LINK_LIBRARIES(nnpack PRIVATE cpuinfo)
-
+
# ---[ Configure pthreadpool
-IF(NOT TARGET pthreadpool)
+IF(FALSE)
+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 "")
ADD_SUBDIRECTORY(
@@ -525,33 +516,37 @@ ENDIF()
@@ -525,6 +519,8 @@ ENDIF()
TARGET_LINK_LIBRARIES(nnpack_reference_layers PUBLIC pthreadpool)
# ---[ Configure FXdiv
-IF(NOT TARGET fxdiv)
+IF(FALSE)
+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 "")
ADD_SUBDIRECTORY(
"${FXDIV_SOURCE_DIR}"
"${CONFU_DEPENDENCIES_BINARY_DIR}/fxdiv")
ENDIF()
-TARGET_LINK_LIBRARIES(nnpack PRIVATE fxdiv)
+find_path(FXDIV_INCLUDE_DIRS "fxdiv.h")
+target_include_directories(nnpack PRIVATE ${FXDIV_INCLUDE_DIRS})
+
@@ -535,6 +531,8 @@ ENDIF()
TARGET_LINK_LIBRARIES(nnpack PRIVATE fxdiv)
# ---[ Configure psimd
-IF(NOT TARGET psimd)
+IF(FALSE)
+find_package(unofficial-psimd CONFIG REQUIRED)
+add_library(psimd ALIAS unofficial::psimd::psimd)
IF(NOT TARGET psimd)
ADD_SUBDIRECTORY(
"${PSIMD_SOURCE_DIR}"
"${CONFU_DEPENDENCIES_BINARY_DIR}/psimd")
ENDIF()
-TARGET_LINK_LIBRARIES(nnpack PRIVATE psimd)
+find_path(PSIMD_INCLUDE_DIRS "psimd.h")
+target_include_directories(nnpack PRIVATE ${PSIMD_INCLUDE_DIRS})
@@ -543,6 +541,8 @@ ENDIF()
TARGET_LINK_LIBRARIES(nnpack PRIVATE psimd)
# ---[ Configure FP16
-IF(NOT TARGET fp16)
+IF(FALSE)
+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 "")
ADD_SUBDIRECTORY(
"${FP16_SOURCE_DIR}"
"${CONFU_DEPENDENCIES_BINARY_DIR}/fp16")
ENDIF()
-TARGET_LINK_LIBRARIES(nnpack PRIVATE fp16)
-TARGET_LINK_LIBRARIES(nnpack_reference_layers PUBLIC fp16)
+find_path(FP16_INCLUDE_DIRS "fp16.h")
+target_include_directories(nnpack PRIVATE ${FP16_INCLUDE_DIRS})
+target_include_directories(nnpack_reference_layers PUBLIC ${FP16_INCLUDE_DIRS})
@@ -554,10 +554,24 @@ TARGET_LINK_LIBRARIES(nnpack PRIVATE fp16)
TARGET_LINK_LIBRARIES(nnpack_reference_layers PUBLIC fp16)
INSTALL(TARGETS nnpack
+ EXPORT unofficial-nnpack-config-targets
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+install(EXPORT unofficial-nnpack-config-targets NAMESPACE unofficial::nnpack::
+ FILE unofficial-nnpack-config-targets.cmake
+ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/unofficial-nnpack) # share/nnpack
+
+include(CMakePackageConfigHelpers)
+configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/unofficial-nnpack-config.cmake" INSTALL_DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/unofficial-nnpack)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-nnpack-config.cmake DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/unofficial-nnpack)
+
+
+
+
+
IF(NNPACK_BUILD_TESTS)
# ---[ Build google test
IF(NOT TARGET gtest)
diff --git a/Config.cmake.in b/Config.cmake.in
new file mode 100644
index 0000000..1724d5a
--- /dev/null
+++ b/Config.cmake.in
@@ -0,0 +1,10 @@
+@PACKAGE_INIT@
+
+include(CMakeFindDependencyMacro)
+find_dependency(unofficial-fp16)
+find_dependency(unofficial-fxdiv)
+find_dependency(cpuinfo)
+find_dependency(unofficial-pthreadpool)
+
+
+include ( "${CMAKE_CURRENT_LIST_DIR}/unofficial-nnpack-config-targets.cmake" )

View File

@ -14,9 +14,12 @@ vcpkg_cmake_configure(
-DNNPACK_BUILD_TESTS=OFF
-DNNPACK_BUILD_BENCHMARKS=OFF
-DNNPACK_CUSTOM_THREADPOOL=OFF
MAYBE_UNUSED_VARIABLES
NNPACK_BUILD_BENCHMARKS
)
vcpkg_cmake_install()
vcpkg_copy_pdbs()
vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT})
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)

View File

@ -1,7 +1,7 @@
{
"name": "nnpack",
"version-date": "2021-02-21",
"port-version": 3,
"port-version": 4,
"description": "Acceleration package for neural networks on multi-core CPUs",
"homepage": "https://github.com/Maratyszcza/NNPACK",
"license": "BSD-2-Clause",
@ -15,6 +15,10 @@
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
]
}

View File

@ -13,11 +13,10 @@ index bd69c62..f3c5f15 100644
+
+
+INSTALL(TARGETS psimd
+ EXPORT psimd-config
+ EXPORT unofficial-psimd-config
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+INSTALL(EXPORT psimd-config NAMESPACE psimd::
+ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}) # share/psimd
\ No newline at end of file
+INSTALL(EXPORT unofficial-psimd-config NAMESPACE unofficial::psimd::
+ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/unofficial-${PROJECT_NAME}) # share/psimd

View File

@ -1,7 +1,7 @@
{
"name": "psimd",
"version-date": "2021-02-21",
"port-version": 3,
"port-version": 4,
"description": "Portable 128-bit SIMD intrinsics",
"homepage": "https://github.com/Maratyszcza/psimd",
"dependencies": [

View File

@ -1,5 +1,5 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1361e94..bf098c4 100644
index 1361e94..5798f2e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,8 +4,6 @@ CMAKE_MINIMUM_REQUIRED(VERSION 3.5 FATAL_ERROR)
@ -53,31 +53,25 @@ index 1361e94..bf098c4 100644
IF(PTHREADPOOL_SYNC_PRIMITIVE STREQUAL "condvar")
TARGET_COMPILE_DEFINITIONS(pthreadpool PRIVATE PTHREADPOOL_USE_FUTEX=0)
@@ -136,7 +126,7 @@ ENDIF()
SET_TARGET_PROPERTIES(pthreadpool PROPERTIES
C_STANDARD 11
C_EXTENSIONS NO)
-TARGET_LINK_LIBRARIES(pthreadpool PUBLIC pthreadpool_interface)
+TARGET_LINK_LIBRARIES(pthreadpool PUBLIC pthreadpool_interface fxdiv::fxdiv)
TARGET_INCLUDE_DIRECTORIES(pthreadpool PRIVATE src)
IF(NOT CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
SET(CMAKE_THREAD_PREFER_PTHREAD TRUE)
@@ -155,6 +145,9 @@ IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
ENDIF()
# ---[ Configure FXdiv
+
+find_package(fxdiv CONFIG REQUIRED)
+add_library(fxdiv ALIAS fxdiv::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 "")
@@ -164,10 +157,22 @@ IF(NOT TARGET fxdiv)
@@ -162,12 +155,24 @@ IF(NOT TARGET fxdiv)
"${FXDIV_SOURCE_DIR}"
"${CMAKE_BINARY_DIR}/FXdiv")
ENDIF()
TARGET_LINK_LIBRARIES(pthreadpool PRIVATE fxdiv)
-TARGET_LINK_LIBRARIES(pthreadpool PRIVATE fxdiv)
+TARGET_LINK_LIBRARIES(pthreadpool PUBLIC fxdiv)
+
-INSTALL(TARGETS pthreadpool
+
+INSTALL(TARGETS pthreadpool pthreadpool_interface
+ EXPORT unofficial-pthreadpool-config-targets
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
@ -98,13 +92,13 @@ index 1361e94..bf098c4 100644
IF(NOT TARGET gtest)
diff --git a/Config.cmake.in b/Config.cmake.in
new file mode 100644
index 0000000..3ed0212
index 0000000..575b8b1
--- /dev/null
+++ b/Config.cmake.in
@@ -0,0 +1,6 @@
+@PACKAGE_INIT@
+
+include(CMakeFindDependencyMacro)
+find_dependency(fxdiv)
+find_dependency(unofficial-fxdiv)
+
+include ( "${CMAKE_CURRENT_LIST_DIR}/unofficial-pthreadpool-config-targets.cmake" )

View File

@ -1,7 +1,7 @@
{
"name": "pthreadpool",
"version-date": "2024-11-04",
"port-version": 1,
"port-version": 2,
"description": "Portable (POSIX/Windows/Emscripten) thread pool for C/C++",
"homepage": "https://github.com/Maratyszcza/pthreadpool",
"dependencies": [

View File

@ -3022,7 +3022,7 @@
},
"fp16": {
"baseline": "2021-02-21",
"port-version": 3
"port-version": 4
},
"freealut": {
"baseline": "1.1.0",
@ -3110,7 +3110,7 @@
},
"fxdiv": {
"baseline": "2021-02-21",
"port-version": 3
"port-version": 4
},
"g2o": {
"baseline": "2024-12-14",
@ -6734,7 +6734,7 @@
},
"nnpack": {
"baseline": "2021-02-21",
"port-version": 3
"port-version": 4
},
"node-addon-api": {
"baseline": "8.3.1",
@ -7622,7 +7622,7 @@
},
"psimd": {
"baseline": "2021-02-21",
"port-version": 3
"port-version": 4
},
"ptc-print": {
"baseline": "1.4.1",
@ -7642,7 +7642,7 @@
},
"pthreadpool": {
"baseline": "2024-11-04",
"port-version": 1
"port-version": 2
},
"pthreads": {
"baseline": "3.0.0",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "b822a76b22a163c4318fbb6ad1efec24ee1ac862",
"version-date": "2021-02-21",
"port-version": 4
},
{
"git-tree": "241ca8f44eba44a43f044e60a40e56c9670e181d",
"version-date": "2021-02-21",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "c3e0e748c872c7110b767f3241922f993e346845",
"version-date": "2021-02-21",
"port-version": 4
},
{
"git-tree": "d00206d4978e82ddccd6d9f61090a76a3093abb4",
"version-date": "2021-02-21",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "bf23ec4cd47e5dc619edf3c42dc0e9d20cb1aa35",
"version-date": "2021-02-21",
"port-version": 4
},
{
"git-tree": "7d9e236a8f7e71e46c901da4f8a250c47221bd91",
"version-date": "2021-02-21",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "6d329a7455cd397077978bf60ba75b7e38bbd507",
"version-date": "2021-02-21",
"port-version": 4
},
{
"git-tree": "5bc6a225b777b59bcbbe248b295ac01db1c7f533",
"version-date": "2021-02-21",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "b7eac55af2b2e67efc867ca5d32ac194ba80b37f",
"version-date": "2024-11-04",
"port-version": 2
},
{
"git-tree": "892c975ca8504f17839bb91fed6b937a734af46f",
"version-date": "2024-11-04",