From 8fa959e49d8d8d489048778474385f8bb29554d3 Mon Sep 17 00:00:00 2001 From: The Phantom Derpstorm Date: Fri, 12 Jun 2020 02:32:03 -0400 Subject: [PATCH] [infoware] Add port of infoware library (#11410) * Improved infoware and portfile port * Add a note for why we do this. * Add vcpkg_fail_port_install call requested by @PhoebeHui Co-authored-by: Billy Robert O'Neal III --- ports/infoware/CONTROL | 19 ++++++++++++++++++ ports/infoware/portfile.cmake | 38 +++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 ports/infoware/CONTROL create mode 100644 ports/infoware/portfile.cmake diff --git a/ports/infoware/CONTROL b/ports/infoware/CONTROL new file mode 100644 index 00000000000000..90b7d6532f5445 --- /dev/null +++ b/ports/infoware/CONTROL @@ -0,0 +1,19 @@ +Source: infoware +Homepage: https://github.com/ThePhD/infoware +Version: 0.5.3 +Description: C++ Library for pulling system and hardware information, without hitting the command line. +# Note that independent usage and testing may work, but it seems to fail in CI environments for potential cross-compilation, +# and is thusly noted here to note break how vcpkg builds things! +Supports: !(arm|uwp) + +Feature: x11 +Description: Prefer usage of X11 to find graphical capabilities. + +Feature: d3d +Description: Prefer usage of Direct3D to find graphical capabilities (typically only works on Windows systems). + +Feature: opencl +Description: Prefer usage of OpenCL to find graphical capabilities of the system. + +Feature: opengl +Description: Prefer usage of OpenGL to find graphical capabilities (may require additional libraries to be available for linking depending on the system). diff --git a/ports/infoware/portfile.cmake b/ports/infoware/portfile.cmake new file mode 100644 index 00000000000000..4b012954d42133 --- /dev/null +++ b/ports/infoware/portfile.cmake @@ -0,0 +1,38 @@ +vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ThePhD/infoware + REF v0.5.3 + SHA512 217bb9332214d823445e19f2c465199536e89a36faccea8cb72f8dd41a177e1739969d131ad25d1878e688a3a6cc1290c2125ef9d2205ad4fd334b24b27d491a + HEAD_REF master +) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + x11 INFOWARE_USE_X11 + d3d INFOWARE_USE_D3D + opencl INFOWARE_USE_OPENCL + opengl INFOWARE_USE_OPENGL +) + +# git must be injected, because vcpkg isolates the build +# from the environment entirely to have reproducible builds +vcpkg_find_acquire_program(GIT) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + ${FEATURE_OPTIONS} + -DINFOWARE_EXAMPLES=OFF + -DINFOWARE_TESTS=OFF + -DGIT_EXECUTABLE=${GIT} + -DGIT_FOUND=true +) + +vcpkg_install_cmake() + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")