aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/parallelstl
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/parallelstl')
-rw-r--r--vcpkg/ports/parallelstl/fix-cmakelist.patch32
-rw-r--r--vcpkg/ports/parallelstl/portfile.cmake27
-rw-r--r--vcpkg/ports/parallelstl/vcpkg.json18
3 files changed, 77 insertions, 0 deletions
diff --git a/vcpkg/ports/parallelstl/fix-cmakelist.patch b/vcpkg/ports/parallelstl/fix-cmakelist.patch
new file mode 100644
index 0000000..01a2c22
--- /dev/null
+++ b/vcpkg/ports/parallelstl/fix-cmakelist.patch
@@ -0,0 +1,32 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 878b212..caa3cba 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -44,7 +44,7 @@ add_library(pstl::ParallelSTL ALIAS ParallelSTL)
+ if (PARALLELSTL_USE_PARALLEL_POLICIES)
+ message(STATUS "Using Parallel Policies")
+ if (PARALLELSTL_BACKEND STREQUAL "tbb")
+- find_package(TBB 2018 REQUIRED tbb OPTIONAL_COMPONENTS tbbmalloc)
++ find_package(TBB CONFIG REQUIRED tbb OPTIONAL_COMPONENTS tbbmalloc)
+ message(STATUS "Parallel STL uses TBB ${TBB_VERSION} (interface version: ${TBB_INTERFACE_VERSION})")
+ target_link_libraries(ParallelSTL INTERFACE TBB::tbb)
+ else()
+@@ -64,8 +64,7 @@ target_include_directories(ParallelSTL
+ INTERFACE
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/stdlib>
+- $<INSTALL_INTERFACE:include>
+- $<INSTALL_INTERFACE:stdlib>)
++ $<INSTALL_INTERFACE:include>)
+
+ target_compile_features(ParallelSTL
+ INTERFACE
+@@ -100,6 +99,8 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ParallelSTLConfig.cmake"
+ DESTINATION lib/cmake/ParallelSTL)
+ install(DIRECTORY include/pstl
+ DESTINATION include)
++file(GLOB STDLIB_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/stdlib/pstl/*)
++install(FILES ${STDLIB_HEADERS} DESTINATION include/pstl)
+
+ add_custom_target(install-pstl
+ COMMAND "${CMAKE_COMMAND}" -P "${PROJECT_BINARY_DIR}/cmake_install.cmake" -DCOMPONENT=ParallelSTL)
diff --git a/vcpkg/ports/parallelstl/portfile.cmake b/vcpkg/ports/parallelstl/portfile.cmake
new file mode 100644
index 0000000..efc6b64
--- /dev/null
+++ b/vcpkg/ports/parallelstl/portfile.cmake
@@ -0,0 +1,27 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO intel/parallelstl
+ REF 0241743d73bb405b16d9c4a24b693e4533dc34a7 # 20200330
+ SHA512 cd2f1b60639e9da35a722bdef0bc6420ddca064e3bff979d8a6ea591fb43865b7614c811bced642fd5ff1fab659da1dfaa248dc2b321db7f27d0e74544a2f21e
+ HEAD_REF master
+ PATCHES
+ fix-cmakelist.patch
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DPARALLELSTL_USE_PARALLEL_POLICIES=ON
+)
+
+vcpkg_cmake_install()
+
+vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/ParallelSTL)
+
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib")
+
+# Handle copyright
+file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
diff --git a/vcpkg/ports/parallelstl/vcpkg.json b/vcpkg/ports/parallelstl/vcpkg.json
new file mode 100644
index 0000000..8cae816
--- /dev/null
+++ b/vcpkg/ports/parallelstl/vcpkg.json
@@ -0,0 +1,18 @@
+{
+ "name": "parallelstl",
+ "version": "20200330",
+ "port-version": 3,
+ "description": "Parallel STL is an implementation of the C++ standard library algorithms with support for execution policies, as specified in ISO/IEC 14882:2017 standard, commonly called C++17.",
+ "homepage": "https://github.com/intel/parallelstl",
+ "dependencies": [
+ "tbb",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}