aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/snappy
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/snappy
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/snappy')
-rw-r--r--vcpkg/ports/snappy/no-werror.patch11
-rw-r--r--vcpkg/ports/snappy/pkgconfig.diff23
-rw-r--r--vcpkg/ports/snappy/portfile.cmake43
-rw-r--r--vcpkg/ports/snappy/rtti.diff27
-rw-r--r--vcpkg/ports/snappy/snappy.pc.in11
-rw-r--r--vcpkg/ports/snappy/usage13
-rw-r--r--vcpkg/ports/snappy/vcpkg.json23
7 files changed, 151 insertions, 0 deletions
diff --git a/vcpkg/ports/snappy/no-werror.patch b/vcpkg/ports/snappy/no-werror.patch
new file mode 100644
index 0000000..4315fef
--- /dev/null
+++ b/vcpkg/ports/snappy/no-werror.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -68,7 +68,7 @@
+
+ # Use -Werror for clang only.
+ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+- if(NOT CMAKE_CXX_FLAGS MATCHES "-Werror")
++ if(0)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
+ endif(NOT CMAKE_CXX_FLAGS MATCHES "-Werror")
+ endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
diff --git a/vcpkg/ports/snappy/pkgconfig.diff b/vcpkg/ports/snappy/pkgconfig.diff
new file mode 100644
index 0000000..d3fc647
--- /dev/null
+++ b/vcpkg/ports/snappy/pkgconfig.diff
@@ -0,0 +1,23 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c3062e2..05477e9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -417,4 +417,18 @@ if(SNAPPY_INSTALL)
+ "${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake"
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}"
+ )
++
++ cmake_policy(SET CMP0057 NEW)
++ set(LIBS_PRIVATE "")
++ foreach(lib IN LISTS CMAKE_CXX_IMPLICIT_LINK_LIBRARIES)
++ if(lib IN_LIST CMAKE_C_IMPLICIT_LINK_LIBRARIES)
++ continue()
++ elseif(EXISTS "${lib}")
++ string(APPEND LIBS_PRIVATE " ${CMAKE_LINK_LIBRARY_FILE_FLAG}${lib}")
++ else()
++ string(APPEND LIBS_PRIVATE " ${CMAKE_LINK_LIBRARY_FLAG}${lib}")
++ endif()
++ endforeach()
++ configure_file(snappy.pc.in "${CMAKE_CURRENT_BINARY_DIR}/snappy.pc" @ONLY)
++ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/snappy.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+ endif(SNAPPY_INSTALL)
diff --git a/vcpkg/ports/snappy/portfile.cmake b/vcpkg/ports/snappy/portfile.cmake
new file mode 100644
index 0000000..d045106
--- /dev/null
+++ b/vcpkg/ports/snappy/portfile.cmake
@@ -0,0 +1,43 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO google/snappy
+ REF ${VERSION}
+ SHA512 0c1e1019e1bec9281f9877996d896e59e1533456130143224acb9cbfc35c1b0dd9de0a76e4a36494844d9ec58c295eed8c50bdf6dbabe47cf679652eb24b1281
+ HEAD_REF master
+ PATCHES
+ no-werror.patch
+ pkgconfig.diff
+ rtti.diff
+)
+file(COPY "${CURRENT_PORT_DIR}/snappy.pc.in" DESTINATION "${SOURCE_PATH}")
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS options
+ FEATURES
+ rtti SNAPPY_WITH_RTTI
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ ${options}
+ -DSNAPPY_BUILD_TESTS=OFF
+ -DSNAPPY_BUILD_BENCHMARKS=OFF
+
+ # These variables can be overriden in a custom triplet, see usage file
+ -DSNAPPY_HAVE_SSSE3=OFF
+ -DSNAPPY_HAVE_X86_CRC32=OFF
+ -DSNAPPY_HAVE_NEON_CRC32=OFF
+ -DSNAPPY_HAVE_BMI2=OFF
+ -DSNAPPY_HAVE_NEON=OFF
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Snappy)
+vcpkg_copy_pdbs()
+vcpkg_fixup_pkgconfig()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING")
diff --git a/vcpkg/ports/snappy/rtti.diff b/vcpkg/ports/snappy/rtti.diff
new file mode 100644
index 0000000..2784062
--- /dev/null
+++ b/vcpkg/ports/snappy/rtti.diff
@@ -0,0 +1,27 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index cd71a47..d92aed0 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -53,8 +53,10 @@ if(MSVC)
+ add_definitions(-D_HAS_EXCEPTIONS=0)
+
+ # Disable RTTI.
++ if(NOT SNAPPY_WITH_RTTI)
+ string(REGEX REPLACE "/GR" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR-")
++ endif()
+ else(MSVC)
+ # Use -Wall for clang and gcc.
+ if(NOT CMAKE_CXX_FLAGS MATCHES "-Wall")
+@@ -82,9 +84,11 @@ else(MSVC)
+ string(REGEX REPLACE "-fexceptions" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions")
+
++ if(NOT SNAPPY_WITH_RTTI)
+ # Disable RTTI.
+ string(REGEX REPLACE "-frtti" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
++ endif()
+ endif(MSVC)
+
+ # BUILD_SHARED_LIBS is a standard CMake variable, but we declare it here to make
diff --git a/vcpkg/ports/snappy/snappy.pc.in b/vcpkg/ports/snappy/snappy.pc.in
new file mode 100644
index 0000000..a0b039b
--- /dev/null
+++ b/vcpkg/ports/snappy/snappy.pc.in
@@ -0,0 +1,11 @@
+prefix=${pcfiledir}/../..
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: snappy
+Description: A fast compressor/decompressor.
+Version: @PROJECT_VERSION@
+Libs: -L${libdir} -lsnappy
+Cflags: -I${includedir}
+Libs.private: @LIBS_PRIVATE@ \ No newline at end of file
diff --git a/vcpkg/ports/snappy/usage b/vcpkg/ports/snappy/usage
new file mode 100644
index 0000000..6411697
--- /dev/null
+++ b/vcpkg/ports/snappy/usage
@@ -0,0 +1,13 @@
+snappy provides CMake targets:
+
+ find_package(Snappy CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE Snappy::snappy)
+
+Optimizations based on hardware support are disabled by default.
+You can enable them by adding corresponding flags to VCPKG_CMAKE_CONFIGURE_OPTIONS inside a custom triplet file, for example:
+
+ if("${PORT}" STREQUAL "snappy")
+ list(APPEND VCPKG_CMAKE_CONFIGURE_OPTIONS -DSNAPPY_HAVE_SSSE3=ON -DSNAPPY_HAVE_BMI2=ON)
+ endif()
+
+For a full list of possible options, see project's root CMakeLists.txt.
diff --git a/vcpkg/ports/snappy/vcpkg.json b/vcpkg/ports/snappy/vcpkg.json
new file mode 100644
index 0000000..a9ae3c9
--- /dev/null
+++ b/vcpkg/ports/snappy/vcpkg.json
@@ -0,0 +1,23 @@
+{
+ "name": "snappy",
+ "version": "1.2.2",
+ "port-version": 1,
+ "description": "A fast compressor/decompressor.",
+ "homepage": "https://github.com/google/snappy",
+ "license": null,
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ],
+ "features": {
+ "rtti": {
+ "description": "Build with dynamic typeinfo."
+ }
+ }
+}