aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormyd7349 <myd7349@gmail.com>2020-04-29 04:15:57 +0800
committerGitHub <noreply@github.com>2020-04-28 13:15:57 -0700
commitbe2f81f9121e0213cd86351c5f98ec8976faa47c (patch)
tree7e166dd9392ba6fbaea26c3fceb2541885b88764
parentb9c3a2639261713bead562191c8295543a49a28b (diff)
downloadvcpkg-be2f81f9121e0213cd86351c5f98ec8976faa47c.tar.gz
vcpkg-be2f81f9121e0213cd86351c5f98ec8976faa47c.zip
[uchardet] Add new port (#8477)
* [uchardet] Add new port * [uchardet] Fix string no output variable error [uchardet] Update homepage * [uchardet] Fix tool build error on Windows * [uchardet] Update * [uchardet] Modernize * [uchardet] Update to 2020-04-26 * [uchardet] Fix static build * [uchardet] Fix UWP build
-rw-r--r--ports/uchardet/CONTROL8
-rw-r--r--ports/uchardet/portfile.cmake56
2 files changed, 64 insertions, 0 deletions
diff --git a/ports/uchardet/CONTROL b/ports/uchardet/CONTROL
new file mode 100644
index 000000000..587f25d68
--- /dev/null
+++ b/ports/uchardet/CONTROL
@@ -0,0 +1,8 @@
+Source: uchardet
+Version: 2020-04-26
+Description: An encoding detector library ported from Mozilla
+Homepage: https://cgit.freedesktop.org/uchardet/uchardet/
+
+Feature: tool
+Description: Build uchardet CLI tool
+Build-Depends: getopt
diff --git a/ports/uchardet/portfile.cmake b/ports/uchardet/portfile.cmake
new file mode 100644
index 000000000..281dec77d
--- /dev/null
+++ b/ports/uchardet/portfile.cmake
@@ -0,0 +1,56 @@
+vcpkg_from_git(
+ OUT_SOURCE_PATH SOURCE_PATH
+ URL https://gitlab.freedesktop.org/uchardet/uchardet
+ REF 8681fc060ea07f646434cd2d324e4a5aa7c495c4
+)
+
+vcpkg_check_features(
+ OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ tool BUILD_BINARY
+)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC)
+
+if(VCPKG_TARGET_IS_UWP)
+ # uchardet calls `fopen` and `strdup`, which makes UWP unhappy.
+ set(VCPKG_C_FLAGS "${VCPKG_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE")
+ set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE")
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS_DEBUG
+ -DBUILD_BINARY=OFF
+ OPTIONS_RELEASE
+ ${FEATURE_OPTIONS}
+ OPTIONS
+ -DBUILD_STATIC=${BUILD_STATIC}
+)
+
+vcpkg_install_cmake()
+
+vcpkg_copy_pdbs()
+
+if(tool IN_LIST FEATURES)
+ file(COPY
+ ${CURRENT_PACKAGES_DIR}/bin/uchardet${VCPKG_TARGET_EXECUTABLE_SUFFIX}
+ DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}
+ )
+
+ vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT})
+endif()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
+else()
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/uchardet${VCPKG_TARGET_EXECUTABLE_SUFFIX})
+endif()
+
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug/include
+ ${CURRENT_PACKAGES_DIR}/debug/share
+ ${CURRENT_PACKAGES_DIR}/share/man
+)
+
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)