diff options
| author | Alexander Karatarakis <alkarata@microsoft.com> | 2017-09-24 00:03:34 -0700 |
|---|---|---|
| committer | Alexander Karatarakis <alkarata@microsoft.com> | 2017-10-02 14:45:41 -0700 |
| commit | e4e5298911059837652824d47bce1e964305c72d (patch) | |
| tree | cb0a88631b0387d9b4a0855d67d263524ce1c0c3 | |
| parent | bdbf00c7ab6f7dc5ca096391c913a0af5e291d19 (diff) | |
| download | vcpkg-e4e5298911059837652824d47bce1e964305c72d.tar.gz vcpkg-e4e5298911059837652824d47bce1e964305c72d.zip | |
[zlib] Patch to not build more things than needed
| -rw-r--r-- | ports/zlib/CONTROL | 2 | ||||
| -rw-r--r-- | ports/zlib/cmake_dont_build_more_than_needed.patch | 42 | ||||
| -rw-r--r-- | ports/zlib/portfile.cmake | 13 |
3 files changed, 51 insertions, 6 deletions
diff --git a/ports/zlib/CONTROL b/ports/zlib/CONTROL index 30fe58949..c55963783 100644 --- a/ports/zlib/CONTROL +++ b/ports/zlib/CONTROL @@ -1,3 +1,3 @@ Source: zlib -Version: 1.2.11-2 +Version: 1.2.11-3 Description: A compression library diff --git a/ports/zlib/cmake_dont_build_more_than_needed.patch b/ports/zlib/cmake_dont_build_more_than_needed.patch new file mode 100644 index 000000000..229a2d055 --- /dev/null +++ b/ports/zlib/cmake_dont_build_more_than_needed.patch @@ -0,0 +1,42 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0fe939d..8d2f5f1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -7,6 +7,7 @@ set(VERSION "1.2.11") + + option(ASM686 "Enable building i686 assembly implementation") + option(AMD64 "Enable building amd64 assembly implementation") ++option(SKIP_BUILD_EXAMPLES "Skip build of the examples" OFF) + + set(INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation directory for executables") + set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries") +@@ -211,7 +212,15 @@ elseif(BUILD_SHARED_LIBS AND WIN32) + endif() + + if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL ) +- install(TARGETS zlib zlibstatic ++ if (BUILD_SHARED_LIBS) ++ set(ZLIB_TARGETS zlib) ++ set_target_properties(zlibstatic PROPERTIES EXCLUDE_FROM_ALL ON) ++ else() ++ set(ZLIB_TARGETS zlibstatic) ++ set_target_properties(zlib PROPERTIES EXCLUDE_FROM_ALL ON) ++ endif() ++ ++ install(TARGETS ${ZLIB_TARGETS} + RUNTIME DESTINATION "${INSTALL_BIN_DIR}" + ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" + LIBRARY DESTINATION "${INSTALL_LIB_DIR}" ) +@@ -230,6 +239,7 @@ endif() + # Example binaries + #============================================================================ + ++if (NOT SKIP_BUILD_EXAMPLES) + add_executable(example test/example.c) + target_link_libraries(example zlib) + add_test(example example) +@@ -247,3 +257,4 @@ if(HAVE_OFF64_T) + target_link_libraries(minigzip64 zlib) + set_target_properties(minigzip64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64") + endif() ++endif() diff --git a/ports/zlib/portfile.cmake b/ports/zlib/portfile.cmake index f69c51bea..c41d61bda 100644 --- a/ports/zlib/portfile.cmake +++ b/ports/zlib/portfile.cmake @@ -7,11 +7,18 @@ vcpkg_download_distfile(ARCHIVE_FILE ) vcpkg_extract_source_archive(${ARCHIVE_FILE}) +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES + ${CMAKE_CURRENT_LIST_DIR}/cmake_dont_build_more_than_needed.patch +) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -DSKIP_INSTALL_FILES=ON + -DSKIP_BUILD_EXAMPLES=ON OPTIONS_DEBUG -DSKIP_INSTALL_HEADERS=ON ) @@ -19,11 +26,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() # Both dynamic and static are built, so keep only the one needed -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/zlibstatic.lib ${CURRENT_PACKAGES_DIR}/debug/lib/zlibstaticd.lib) -else() - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/zlib.lib ${CURRENT_PACKAGES_DIR}/debug/lib/zlibd.lib) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(RENAME ${CURRENT_PACKAGES_DIR}/lib/zlibstatic.lib ${CURRENT_PACKAGES_DIR}/lib/zlib.lib) file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/zlibstaticd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/zlibd.lib) endif() |
