aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Karatarakis <alex@karatarakis.com>2017-08-24 13:27:08 -0700
committerGitHub <noreply@github.com>2017-08-24 13:27:08 -0700
commit08232f12a30bab2f03e464ff2f53dca063b02e17 (patch)
treedc1f9cf72e6775e78757702b047a1b5a3e89c439
parenta3e607c8f1b759fee75ef5dd7b420ef7df48da1a (diff)
parent374c3f94c8c34af25bf5e74953a9c03016668dbc (diff)
downloadvcpkg-08232f12a30bab2f03e464ff2f53dca063b02e17.tar.gz
vcpkg-08232f12a30bab2f03e464ff2f53dca063b02e17.zip
Merge pull request #1692 from codicodi/add-lzfse
[lzfse] new port
-rw-r--r--ports/lzfse/CONTROL3
-rw-r--r--ports/lzfse/disable-cli-option.patch51
-rw-r--r--ports/lzfse/portfile.cmake37
3 files changed, 91 insertions, 0 deletions
diff --git a/ports/lzfse/CONTROL b/ports/lzfse/CONTROL
new file mode 100644
index 000000000..7559d661e
--- /dev/null
+++ b/ports/lzfse/CONTROL
@@ -0,0 +1,3 @@
+Source: lzfse
+Version: 1.0
+Description: Lempel-Ziv style data compressor using Finite State Entropy coding.
diff --git a/ports/lzfse/disable-cli-option.patch b/ports/lzfse/disable-cli-option.patch
new file mode 100644
index 000000000..260b7a2be
--- /dev/null
+++ b/ports/lzfse/disable-cli-option.patch
@@ -0,0 +1,51 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 336a68d..96a2a74 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -67,18 +67,20 @@ add_library(lzfse
+ src/lzvn_encode_base.c)
+ lzfse_add_compiler_flags(lzfse -Wall -Wno-unknown-pragmas -Wno-unused-variable)
+
+-add_executable(lzfse_cli
+- src/lzfse_main.c)
+-target_link_libraries(lzfse_cli lzfse)
+-set_target_properties(lzfse_cli PROPERTIES OUTPUT_NAME lzfse)
+-lzfse_add_compiler_flags(lzfse_cli -Wall -Wno-unknown-pragmas -Wno-unused-variable)
+-
+-if(CMAKE_VERSION VERSION_LESS 3.1 OR CMAKE_C_COMPLIER_ID STREQUAL "Intel")
+- lzfse_add_compiler_flags(lzfse -std=c99)
+- lzfse_add_compiler_flags(lzfse_cli -std=c99)
+-else()
+- set_property(TARGET lzfse PROPERTY C_STANDARD 99)
+- set_property(TARGET lzfse_cli PROPERTY C_STANDARD 99)
++if(NOT LZFSE_DISABLE_CLI)
++ add_executable(lzfse_cli
++ src/lzfse_main.c)
++ target_link_libraries(lzfse_cli lzfse)
++ set_target_properties(lzfse_cli PROPERTIES OUTPUT_NAME lzfse)
++ lzfse_add_compiler_flags(lzfse_cli -Wall -Wno-unknown-pragmas -Wno-unused-variable)
++
++ if(CMAKE_VERSION VERSION_LESS 3.1 OR CMAKE_C_COMPLIER_ID STREQUAL "Intel")
++ lzfse_add_compiler_flags(lzfse -std=c99)
++ lzfse_add_compiler_flags(lzfse_cli -std=c99)
++ else()
++ set_property(TARGET lzfse PROPERTY C_STANDARD 99)
++ set_property(TARGET lzfse_cli PROPERTY C_STANDARD 99)
++ endif()
+ endif()
+
+ set_target_properties(lzfse PROPERTIES
+@@ -95,7 +97,12 @@ endif()
+ if(NOT LZFSE_BUNDLE_MODE)
+ include(GNUInstallDirs)
+
+- install(TARGETS lzfse lzfse_cli
++ if(NOT LZFSE_DISABLE_CLI)
++ install(TARGETS lzfse_cli
++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
++ endif()
++
++ install(TARGETS lzfse
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
diff --git a/ports/lzfse/portfile.cmake b/ports/lzfse/portfile.cmake
new file mode 100644
index 000000000..80d9e2f10
--- /dev/null
+++ b/ports/lzfse/portfile.cmake
@@ -0,0 +1,37 @@
+if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
+ message(FATAL_ERROR "ARM build not supported")
+endif()
+
+include(vcpkg_common_functions)
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO lzfse/lzfse
+ REF lzfse-1.0
+ SHA512 9d7ca44e6d3d2bdf4b82b0eb66c14922369b8b6fe2cf891187a77c6708b8d26c2c1b2ccddec6059e85dbbbb37c497419549f02812b5f34d06238ac246a8cf912
+ HEAD_REF master)
+
+vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH}
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/disable-cli-option.patch)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DLZFSE_DISABLE_TESTS=ON
+ -DLZFSE_DISABLE_CLI=ON)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+file(READ ${CURRENT_PACKAGES_DIR}/include/lzfse.h LZFSE_H)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ string(REPLACE "defined(LZFSE_DLL)" "1" LZFSE_H "${LZFSE_H}")
+else()
+ string(REPLACE "defined(LZFSE_DLL)" "0" LZFSE_H "${LZFSE_H}")
+endif()
+file(WRITE ${CURRENT_PACKAGES_DIR}/include/lzfse.h "${LZFSE_H}")
+
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/lzfse)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/lzfse/LICENSE ${CURRENT_PACKAGES_DIR}/share/lzfse/copyright)