[pthreadpool] update sources and support find_package (#17196)

* [pthreadpool] support find_package

* update to latest source code

* [pthreadpool] update port version

* [pthreadpool] support uwp

* use WindowStore in platform check

* [pthreadpool] prefix with 'unofficial'
This commit is contained in:
Park DongHa 2021-05-01 03:14:18 +09:00 committed by GitHub
parent dfb69e54d8
commit 6d29d41a3d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 45 additions and 9 deletions

View File

@ -1,4 +1,5 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 09d57b2..57d3a2c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,8 +4,6 @@ CMAKE_MINIMUM_REQUIRED(VERSION 3.5 FATAL_ERROR)
@ -29,7 +30,14 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
MESSAGE(STATUS "Downloading FXdiv to ${CMAKE_BINARY_DIR}/FXdiv-source (define FXDIV_SOURCE_DIR to avoid it)")
CONFIGURE_FILE(cmake/DownloadFXdiv.cmake "${CMAKE_BINARY_DIR}/FXdiv-download/CMakeLists.txt")
EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
@@ -93,15 +92,7 @@ IF(NOT PTHREADPOOL_ALLOW_DEPRECATED_API)
@@ -87,21 +86,13 @@ ELSE()
ENDIF()
ADD_LIBRARY(pthreadpool_interface INTERFACE)
-TARGET_INCLUDE_DIRECTORIES(pthreadpool_interface INTERFACE include)
+TARGET_INCLUDE_DIRECTORIES(pthreadpool_interface INTERFACE $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
IF(NOT PTHREADPOOL_ALLOW_DEPRECATED_API)
TARGET_COMPILE_DEFINITIONS(pthreadpool_interface INTERFACE PTHREADPOOL_NO_DEPRECATED_API=1)
ENDIF()
INSTALL(FILES include/pthreadpool.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
@ -46,7 +54,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
IF(PTHREADPOOL_SYNC_PRIMITIVE STREQUAL "condvar")
TARGET_COMPILE_DEFINITIONS(pthreadpool PRIVATE PTHREADPOOL_USE_FUTEX=0)
@@ -150,14 +141,14 @@ IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
@@ -150,18 +141,22 @@ IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
ENDIF()
# ---[ Configure FXdiv
@ -61,5 +69,14 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
-TARGET_LINK_LIBRARIES(pthreadpool PRIVATE fxdiv)
+TARGET_INCLUDE_DIRECTORIES(pthreadpool PRIVATE ${FXDIV_INCLUDE_DIRS})
INSTALL(TARGETS pthreadpool
-INSTALL(TARGETS pthreadpool
+INSTALL(TARGETS pthreadpool pthreadpool_interface
+ EXPORT unofficial-pthreadpool-config
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+install(EXPORT unofficial-pthreadpool-config NAMESPACE unofficial::
+ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/unofficial-${PROJECT_NAME}) # share/unofficial-pthreadpool
IF(PTHREADPOOL_BUILD_TESTS)
# ---[ Build google test

View File

@ -0,0 +1,13 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a07945c..6df83d1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -75,7 +75,7 @@ ELSE()
LIST(APPEND PTHREADPOOL_SRCS src/portable-api.c src/memory.c)
IF(APPLE AND (PTHREADPOOL_SYNC_PRIMITIVE STREQUAL "default" OR PTHREADPOOL_SYNC_PRIMITIVE STREQUAL "gcd"))
LIST(APPEND PTHREADPOOL_SRCS src/gcd.c)
- ELSEIF(CMAKE_SYSTEM_NAME MATCHES "^(Windows|CYGWIN|MSYS)$" AND (PTHREADPOOL_SYNC_PRIMITIVE STREQUAL "default" OR PTHREADPOOL_SYNC_PRIMITIVE STREQUAL "event"))
+ ELSEIF(CMAKE_SYSTEM_NAME MATCHES "^(Windows|WindowsStore|CYGWIN|MSYS)$" AND (PTHREADPOOL_SYNC_PRIMITIVE STREQUAL "default" OR PTHREADPOOL_SYNC_PRIMITIVE STREQUAL "event"))
LIST(APPEND PTHREADPOOL_SRCS src/windows.c)
ELSE()
LIST(APPEND PTHREADPOOL_SRCS src/pthreads.c)

View File

@ -5,10 +5,11 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Maratyszcza/pthreadpool
REF b4589998be9a0f794236cf46f1b5b232b2b15ca3 # there is a too much gap from the last release...
SHA512 8459e489a41c38f4dbe6c4401ebe624c7dc4685181b0852c2284f0e413a192ae9fd1ffd9b43fd97b7fd95dbda4970bc71d8c1eba8e33afa9efea74440f00803d
REF 052e441b70091656199e2283fb1c16a7db6f0f85 # there is a too much gap from the last release...
SHA512 33be676e65719ae8510ec4e8254809033528802681870f8c91b083ce4006e5f630b80207a7e675464b406a785cb45bc74628996ea4817c02816b7b58ddf3a2bc
PATCHES
fix-cmakelists.patch
fix-uwp.patch
)
vcpkg_configure_cmake(
@ -20,6 +21,7 @@ vcpkg_configure_cmake(
)
vcpkg_install_cmake()
vcpkg_copy_pdbs()
vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/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,14 +1,13 @@
{
"name": "pthreadpool",
"version-date": "2020-02-21",
"version-date": "2020-04-10",
"description": "Portable (POSIX/Windows/Emscripten) thread pool for C/C++",
"homepage": "https://github.com/Maratyszcza/pthreadpool",
"supports": "!uwp",
"dependencies": [
"fxdiv",
{
"name": "pthreads",
"platform": "uwp"
"platform": "windows & uwp"
}
]
}

View File

@ -4949,7 +4949,7 @@
"port-version": 0
},
"pthreadpool": {
"baseline": "2020-02-21",
"baseline": "2020-04-10",
"port-version": 0
},
"pthreads": {

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "da641f8e198df6999638e7a2f0a95e3f143cb595",
"version-date": "2020-04-10",
"port-version": 0
},
{
"git-tree": "9c1519f2cc1eb186ccd706a4f634350877da6dba",
"version-date": "2020-02-21",