Skip to content

Commit

Permalink
libsndfile: Add feature to make additional libraries optional (#3528)
Browse files Browse the repository at this point in the history
* libsndfile: Add feature to make additional libraries optional

* [libsndfile] Make external-libs a default feature

* [libsndfile] Fix typo
  • Loading branch information
Ghabry authored and ras0219-msft committed Aug 8, 2018
1 parent 5bf05da commit 72d7c3d
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 19 deletions.
6 changes: 5 additions & 1 deletion ports/libsndfile/CONTROL
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
Source: libsndfile
Version: 1.0.29-6830c42-3
Version: 1.0.29-6830c42-5
Description: Library to read, write and manipulate many soundfile types. Authored by Eric de Castro Lopo
Default-Features: external-libs

Feature: external-libs
Description: Support OGG and FLAC audio files
Build-Depends: libogg, libflac, libvorbis
27 changes: 9 additions & 18 deletions ports/libsndfile/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,35 +6,26 @@ vcpkg_from_github(
REF 6830c421899e32f8d413a903a21a9b6cf384d369
SHA512 b13c5d7bc27218eff8a8c4ce89a964b4920b1d3946e4843e60be965d77ec205845750a82bf654a7c2c772bf3a24f6ff5706881b24ff12115f2525c8134b6d0b9
HEAD_REF master
)

vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES
"${CMAKE_CURRENT_LIST_DIR}/uwp-createfile-getfilesize.patch"
"${CMAKE_CURRENT_LIST_DIR}/uwp-createfile-getfilesize-addendum.patch"
)

if (VCPKG_CRT_LINKAGE STREQUAL "dynamic")
set(CRT_LIB_STATIC 0)
elseif (VCPKG_CRT_LINKAGE STREQUAL "static")
set(CRT_LIB_STATIC 1)
endif()

if (VCPKG_LIBRARY_LINKAGE STREQUAL "static")
set(BUILD_STATIC 1)
set(BUILD_DYNAMIC 0)
elseif (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
set(BUILD_STATIC 0)
set(BUILD_DYNAMIC 1)
endif()
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" CRT_LIB_STATIC)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC)

option(BUILD_EXECUTABLES "Build sndfile tools and install to folder tools" OFF)

if("external-libs" IN_LIST FEATURES)
set(SNDFILE_WITHOUT_EXTERNAL_LIBS OFF)
else()
set(SNDFILE_WITHOUT_EXTERNAL_LIBS ON)
endif()

vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS -DBUILD_EXAMPLES=0 -DBUILD_REGTEST=0 -DBUILD_TESTING=0 -DENABLE_STATIC_RUNTIME=${CRT_LIB_STATIC} -DBUILD_STATIC_LIBS=${BUILD_STATIC}
OPTIONS -DBUILD_EXAMPLES=0 -DBUILD_REGTEST=0 -DBUILD_TESTING=0 -DENABLE_STATIC_RUNTIME=${CRT_LIB_STATIC} -DBUILD_STATIC_LIBS=${BUILD_STATIC} -DDISABLE_EXTERNAL_LIBS=${SNDFILE_WITHOUT_EXTERNAL_LIBS}
OPTIONS_RELEASE -DBUILD_PROGRAMS=${BUILD_EXECUTABLES}
# Setting ENABLE_PACKAGE_CONFIG=0 has no effect
OPTIONS_DEBUG -DBUILD_PROGRAMS=0
Expand Down

0 comments on commit 72d7c3d

Please sign in to comment.