aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-05-22 22:24:32 -0700
committerGitHub <noreply@github.com>2017-05-22 22:24:32 -0700
commit6e675a1a708616cb24fc899eff7345b0cc6d8d2a (patch)
tree7e1911c14702dbad9843af39c8431954a3d4082e
parent0f39f912f65b7c1042f497b6980860cad16e05e5 (diff)
parent67e038b9e059745e953f13e666777081055794bb (diff)
downloadvcpkg-6e675a1a708616cb24fc899eff7345b0cc6d8d2a.tar.gz
vcpkg-6e675a1a708616cb24fc899eff7345b0cc6d8d2a.zip
Merge pull request #1145 from STEllAR-GROUP/add_hwloc
Add support for installing binary distributions of HWLOC
-rw-r--r--ports/hwloc/CONTROL4
-rw-r--r--ports/hwloc/portfile.cmake41
2 files changed, 45 insertions, 0 deletions
diff --git a/ports/hwloc/CONTROL b/ports/hwloc/CONTROL
new file mode 100644
index 000000000..f79c957e5
--- /dev/null
+++ b/ports/hwloc/CONTROL
@@ -0,0 +1,4 @@
+Source: hwloc
+Version: 1.11.7
+Description: Portable Hardware Locality (hwloc)
+ The Portable Hardware Locality (hwloc) software package provides a portable abstraction (across OS, versions, architectures, ...) of the hierarchical topology of modern architectures, including NUMA memory nodes, sockets, shared caches, cores and simultaneous multithreading. It also gathers various system attributes such as cache and memory information as well as the locality of I/O devices such as network interfaces, InfiniBand HCAs or GPUs.
diff --git a/ports/hwloc/portfile.cmake b/ports/hwloc/portfile.cmake
new file mode 100644
index 000000000..c689d621f
--- /dev/null
+++ b/ports/hwloc/portfile.cmake
@@ -0,0 +1,41 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
+ vcpkg_download_distfile(ARCHIVE
+ URLS "https://www.open-mpi.org/software/hwloc/v1.11/downloads/hwloc-win32-build-1.11.7.zip"
+ FILENAME "hwloc-win32-build-1.11.7.zip"
+ SHA512 c474f2400b207bbad3da94d201d03eb711df6a87aacb8429c489591ed47393eb499d99da5737a22d0745194296db11bf9e8ebbabd4bf2ecfd2d2878a773195d8
+ )
+ set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/hwloc-win32-build-1.11.7)
+elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ vcpkg_download_distfile(ARCHIVE
+ URLS "https://www.open-mpi.org/software/hwloc/v1.11/downloads/hwloc-win64-build-1.11.7.zip"
+ FILENAME "hwloc-win64-build-1.11.7.zip"
+ SHA512 1373107f75f372fa519a7c3f686fbb6ff89e14c3750e1d64755c768daf77a01a1d962b5e7ecadc65f9917b56f45193e637db3958a0bede08cfe2dd983a335d9b
+ )
+ set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/hwloc-win64-build-1.11.7)
+else()
+ message(FATAL_ERROR "HWLOC is not available for download for the platform: ${VCPKG_TARGET_ARCHITECTURE}")
+endif()
+vcpkg_extract_source_archive(${ARCHIVE})
+
+message(STATUS "Installing")
+
+# copy include files
+file(COPY ${SOURCE_PATH}/include/hwloc.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+file(COPY ${SOURCE_PATH}/include/hwloc DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+
+# copy binaries
+file(COPY ${SOURCE_PATH}/bin/libhwloc-5.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+file(COPY ${SOURCE_PATH}/lib/libhwloc.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+
+file(COPY ${SOURCE_PATH}/bin/libhwloc-5.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+file(COPY ${SOURCE_PATH}/lib/libhwloc.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+
+message(STATUS "Installing done")
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/COPYING.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/hwloc)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/hwloc/COPYING.txt ${CURRENT_PACKAGES_DIR}/share/hwloc/copyright)
+
+set(VCPKG_POLICY_ALLOW_OBSOLETE_MSVCRT enabled)