diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/gflags | |
Diffstat (limited to 'vcpkg/ports/gflags')
| -rw-r--r-- | vcpkg/ports/gflags/0001-patch-dir.patch | 13 | ||||
| -rw-r--r-- | vcpkg/ports/gflags/fix_cmake_config.patch | 13 | ||||
| -rw-r--r-- | vcpkg/ports/gflags/portfile.cmake | 41 | ||||
| -rw-r--r-- | vcpkg/ports/gflags/usage | 5 | ||||
| -rw-r--r-- | vcpkg/ports/gflags/vcpkg-cmake-wrapper.cmake | 7 | ||||
| -rw-r--r-- | vcpkg/ports/gflags/vcpkg.json | 19 |
6 files changed, 98 insertions, 0 deletions
diff --git a/vcpkg/ports/gflags/0001-patch-dir.patch b/vcpkg/ports/gflags/0001-patch-dir.patch new file mode 100644 index 0000000..d3aaa00 --- /dev/null +++ b/vcpkg/ports/gflags/0001-patch-dir.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3709073..8e919cb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -503,7 +503,7 @@ endif () + # ---------------------------------------------------------------------------- + # installation rules + set (EXPORT_NAME ${PACKAGE_NAME}-targets) +-file (RELATIVE_PATH INSTALL_PREFIX_REL2CONFIG_DIR "${CMAKE_INSTALL_PREFIX}/${CONFIG_INSTALL_DIR}" "${CMAKE_INSTALL_PREFIX}") ++set (INSTALL_PREFIX_REL2CONFIG_DIR "../..") + configure_file (cmake/config.cmake.in "${PROJECT_BINARY_DIR}/${PACKAGE_NAME}-config-install.cmake" @ONLY) + configure_file (cmake/version.cmake.in "${PROJECT_BINARY_DIR}/${PACKAGE_NAME}-config-version.cmake" @ONLY) + diff --git a/vcpkg/ports/gflags/fix_cmake_config.patch b/vcpkg/ports/gflags/fix_cmake_config.patch new file mode 100644 index 0000000..bea561e --- /dev/null +++ b/vcpkg/ports/gflags/fix_cmake_config.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/config.cmake.in b/cmake/config.cmake.in +index a512c2a..e7f50d0 100644 +--- a/cmake/config.cmake.in ++++ b/cmake/config.cmake.in +@@ -78,7 +78,7 @@ if (NOT DEFINED @PACKAGE_PREFIX@_NOTHREADS) + else () + set (@PACKAGE_PREFIX@_NOTHREADS FALSE) + endif () +- elseif (TARGET ${@PACKAGE_PREFIX@_TARGET_PREFIX}PACKAGE_NAME@_static OR TARGET ${@PACKAGE_PREFIX@_TARGET_PREFIX}@PACKAGE_NAME@_shared) ++ elseif (TARGET ${@PACKAGE_PREFIX@_TARGET_PREFIX}@PACKAGE_NAME@_static OR TARGET ${@PACKAGE_PREFIX@_TARGET_PREFIX}@PACKAGE_NAME@_shared) + set (@PACKAGE_PREFIX@_NOTHREADS FALSE) + else () + set (@PACKAGE_PREFIX@_NOTHREADS TRUE) diff --git a/vcpkg/ports/gflags/portfile.cmake b/vcpkg/ports/gflags/portfile.cmake new file mode 100644 index 0000000..7fa6a86 --- /dev/null +++ b/vcpkg/ports/gflags/portfile.cmake @@ -0,0 +1,41 @@ +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message(FATAL_ERROR "${PORT} does not currently support UWP") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO gflags/gflags + REF v2.2.2 + SHA512 98c4703aab24e81fe551f7831ab797fb73d0f7dfc516addb34b9ff6d0914e5fd398207889b1ae555bac039537b1d4677067dae403b64903577078d99c1bdb447 + HEAD_REF master + PATCHES + 0001-patch-dir.patch # gflags was estimating a wrong relative path between the gflags-config.cmake file and the include path; "../.." goes from share/gflags/ to the triplet root + fix_cmake_config.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DGFLAGS_REGISTER_BUILD_DIR:BOOL=OFF + -DGFLAGS_REGISTER_INSTALL_PREFIX:BOOL=OFF + -DBUILD_gflags_nothreads_LIB:BOOL=OFF +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/gflags) +if(NOT VCPKG_TARGET_IS_WINDOWS) + vcpkg_fixup_pkgconfig() + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gflags.pc" "-lgflags" "-lgflags_debug") + endif() +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING.txt") + + diff --git a/vcpkg/ports/gflags/usage b/vcpkg/ports/gflags/usage new file mode 100644 index 0000000..5d86c43 --- /dev/null +++ b/vcpkg/ports/gflags/usage @@ -0,0 +1,5 @@ +gflags provides CMake targets:
+
+ set(GFLAGS_USE_TARGET_NAMESPACE ON)
+ find_package(gflags CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE gflags::gflags)
diff --git a/vcpkg/ports/gflags/vcpkg-cmake-wrapper.cmake b/vcpkg/ports/gflags/vcpkg-cmake-wrapper.cmake new file mode 100644 index 0000000..8fbb208 --- /dev/null +++ b/vcpkg/ports/gflags/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,7 @@ +if(NOT DEFINED GFLAGS_USE_TARGET_NAMESPACE)
+ # vcpkg legacy
+ set(GFLAGS_USE_TARGET_NAMESPACE ON)
+ _find_package(${ARGS})
+ unset(GFLAGS_USE_TARGET_NAMESPACE)
+endif()
+_find_package(${ARGS})
diff --git a/vcpkg/ports/gflags/vcpkg.json b/vcpkg/ports/gflags/vcpkg.json new file mode 100644 index 0000000..32d0edb --- /dev/null +++ b/vcpkg/ports/gflags/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "gflags", + "version": "2.2.2", + "port-version": 9, + "description": "A C++ library that implements commandline flags processing", + "homepage": "https://github.com/gflags/gflags", + "license": "BSD-3-Clause", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |