aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ports/libflac/CONTROL5
-rw-r--r--ports/libflac/fix-compile-options.patch18
-rw-r--r--ports/libflac/portfile.cmake27
3 files changed, 39 insertions, 11 deletions
diff --git a/ports/libflac/CONTROL b/ports/libflac/CONTROL
index 696e9fffb..529ea161a 100644
--- a/ports/libflac/CONTROL
+++ b/ports/libflac/CONTROL
@@ -1,6 +1,9 @@
Source: libflac
Version: 1.3.3
-Port-Version: 3
+Port-Version: 4
Homepage: https://xiph.org/flac/
Description: Library for manipulating FLAC files
Build-Depends: libogg
+
+Feature: asm
+Description: Use any assembly optimization routines
diff --git a/ports/libflac/fix-compile-options.patch b/ports/libflac/fix-compile-options.patch
new file mode 100644
index 000000000..9d438da0e
--- /dev/null
+++ b/ports/libflac/fix-compile-options.patch
@@ -0,0 +1,18 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c83dd83..2d1a7e6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -82,9 +82,11 @@ if(HAVE_WERROR_FLAG)
+ option(ENABLE_WERROR "Enable -Werror in all Makefiles" OFF)
+ endif()
+
++if(MSVC AND NOT WITH_ASM)
++ add_compile_options(/wd4267 /wd4996)
++endif()
++
+ add_compile_options(
+- $<$<BOOL:${MSVC}>:/wd4267>
+- $<$<BOOL:${MSVC}>:/wd4996>
+ $<$<BOOL:${ENABLE_WERROR}>:-Werror>
+ $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<BOOL:${HAVE_WEFFCXX_FLAG}>>:-Weffc++>
+ $<$<AND:$<COMPILE_LANGUAGE:C>,$<BOOL:${HAVE_DECL_AFTER_STMT_FLAG}>>:-Wdeclaration-after-statement>)
diff --git a/ports/libflac/portfile.cmake b/ports/libflac/portfile.cmake
index 36f7b997e..dfaab66b3 100644
--- a/ports/libflac/portfile.cmake
+++ b/ports/libflac/portfile.cmake
@@ -5,16 +5,11 @@ vcpkg_from_github(
SHA512 d0d3b5451f8d74aa0a0832fbe95cca55597ce9654765a95adaac98ecd0da9e803b98551a40a3fb3fd5b86bc5f40cd1a791127c03da5322e7f01e7fa761171a21
HEAD_REF master
PATCHES
- "${CMAKE_CURRENT_LIST_DIR}/uwp-library-console.patch"
- "${CMAKE_CURRENT_LIST_DIR}/uwp-createfile2.patch"
+ uwp-library-console.patch
+ uwp-createfile2.patch
+ fix-compile-options.patch
)
-if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
- set(BUILD_SHARED_LIBS ON)
-else()
- set(BUILD_SHARED_LIBS OFF)
-endif()
-
if(VCPKG_TARGET_IS_MINGW)
set(WITH_STACK_PROTECTOR OFF)
string(APPEND VCPKG_C_FLAGS "-D_FORTIFY_SOURCE=0")
@@ -23,18 +18,28 @@ else()
set(WITH_STACK_PROTECTOR ON)
endif()
+if("asm" IN_LIST FEATURES)
+ if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL x86)
+ message(FATAL_ERROR "Feature asm only supports x86 architecture.")
+ endif()
+endif()
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ asm WITH_ASM
+)
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
- OPTIONS
+ OPTIONS ${FEATURE_OPTIONS}
-DBUILD_PROGRAMS=OFF
-DBUILD_EXAMPLES=OFF
-DBUILD_DOCS=OFF
-DBUILD_TESTING=OFF
- -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
-DWITH_STACK_PROTECTOR=${WITH_STACK_PROTECTOR})
vcpkg_install_cmake()
+
vcpkg_fixup_cmake_targets(
CONFIG_PATH share/FLAC/cmake
TARGET_PATH share/FLAC
@@ -64,6 +69,8 @@ else()
)
endif()
+vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES m)
+
# This license (BSD) is relevant only for library - if someone would want to install
# FLAC cmd line tools as well additional license (GPL) should be included
file(INSTALL ${SOURCE_PATH}/COPYING.Xiph DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)