diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2018-08-29 21:00:23 -0700 |
|---|---|---|
| committer | Robert Schumacher <roschuma@microsoft.com> | 2018-08-31 00:47:31 -0700 |
| commit | 33286f90044465a11c2fc7e7a7d4b790c757bc01 (patch) | |
| tree | c88fb7f261d006a2ec89b6ecc3eca2b99a151899 | |
| parent | 4aa3aab426a6cb30a672118b5a07a09e09bf8709 (diff) | |
| download | vcpkg-33286f90044465a11c2fc7e7a7d4b790c757bc01.tar.gz vcpkg-33286f90044465a11c2fc7e7a7d4b790c757bc01.zip | |
[brotli] Add unofficial targets
| -rw-r--r-- | ports/brotli/CONTROL | 2 | ||||
| -rw-r--r-- | ports/brotli/install.patch | 56 | ||||
| -rw-r--r-- | ports/brotli/portfile.cmake | 25 | ||||
| -rw-r--r-- | ports/brotli/vcpkg-cmake-wrapper.cmake | 11 |
4 files changed, 71 insertions, 23 deletions
diff --git a/ports/brotli/CONTROL b/ports/brotli/CONTROL index 512faf203..1256f920f 100644 --- a/ports/brotli/CONTROL +++ b/ports/brotli/CONTROL @@ -1,3 +1,3 @@ Source: brotli
-Version: 1.0.2-3
+Version: 1.0.2-4
Description: a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling.
diff --git a/ports/brotli/install.patch b/ports/brotli/install.patch new file mode 100644 index 000000000..7896fbbb3 --- /dev/null +++ b/ports/brotli/install.patch @@ -0,0 +1,56 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ac55f6b..e016967 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -166,12 +166,11 @@ endforeach()
+
+ foreach(lib brotlicommon brotlidec brotlienc brotlicommon-static brotlidec-static brotlienc-static)
+ target_link_libraries(${lib} ${LIBM_LIBRARY})
+- set_property(TARGET ${lib} APPEND PROPERTY INCLUDE_DIRECTORIES ${BROTLI_INCLUDE_DIRS})
+ set_target_properties(${lib} PROPERTIES
+ VERSION "${BROTLI_ABI_COMPATIBILITY}.${BROTLI_ABI_AGE}.${BROTLI_ABI_REVISION}"
+ SOVERSION "${BROTLI_ABI_COMPATIBILITY}"
+ POSITION_INDEPENDENT_CODE TRUE)
+- set_property(TARGET ${lib} APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIRS}")
++ set_property(TARGET ${lib} APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "$<BUILD_INTERFACE:${BROTLI_INCLUDE_DIRS}>" $<INSTALL_INTERFACE:include>)
+ endforeach()
+
+ target_link_libraries(brotlidec brotlicommon)
+@@ -199,27 +198,35 @@ target_link_libraries(brotli ${BROTLI_LIBRARIES_STATIC})
+ if(NOT BROTLI_BUNDLED_MODE)
+ install(
+ TARGETS brotli
+- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
++ RUNTIME DESTINATION tools/brotli
++ CONFIGURATIONS Release
+ )
+
++ if(BUILD_SHARED_LIBS)
+ install(
+ TARGETS ${BROTLI_LIBRARIES_CORE}
++ EXPORT brotli
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
+ )
+-
++ else()
+ install(
+ TARGETS ${BROTLI_LIBRARIES_CORE_STATIC}
++ EXPORT brotli
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
+ )
++ endif()
+
+ install(
+ DIRECTORY ${BROTLI_INCLUDE_DIRS}/brotli
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
++ CONFIGURATIONS Release
+ )
++
++ install(EXPORT brotli FILE unofficial-brotli-config.cmake NAMESPACE unofficial::brotli:: DESTINATION share/unofficial-brotli)
+ endif()
+
+ # Tests
diff --git a/ports/brotli/portfile.cmake b/ports/brotli/portfile.cmake index 64f1485a6..4a95f89a4 100644 --- a/ports/brotli/portfile.cmake +++ b/ports/brotli/portfile.cmake @@ -6,6 +6,7 @@ vcpkg_from_github( REF v1.0.2 SHA512 b3ec98159e63b4169dea3e958d60d89247dc1c0f78aab27bfffb2ece659fa024df990d410aa15c12b2082d42e3785e32ec248dce2b116c7f34e98bb6337f9fc9 HEAD_REF master + PATCHES install.patch ) vcpkg_configure_cmake( @@ -16,30 +17,10 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/brotli) -file(GLOB EXES ${CURRENT_PACKAGES_DIR}/bin/brotli ${CURRENT_PACKAGES_DIR}/bin/brotli.exe) -file(GLOB DEBUG_EXES ${CURRENT_PACKAGES_DIR}/debug/bin/brotli ${CURRENT_PACKAGES_DIR}/debug/bin/brotli.exe) -file(COPY ${EXES} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/brotli) -file(REMOVE ${EXES} ${DEBUG_EXES}) - vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/brotli) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-brotli TARGET_PATH share/unofficial-brotli) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - file(GLOB STATIC_LIBS "${CURRENT_PACKAGES_DIR}/lib/*-static.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/*-static.lib") - file(REMOVE ${STATIC_LIBS}) -else() - file(GLOB LIBS - "${CURRENT_PACKAGES_DIR}/lib/*.lib" - "${CURRENT_PACKAGES_DIR}/debug/lib/*.lib" - "${CURRENT_PACKAGES_DIR}/lib/*.a" - "${CURRENT_PACKAGES_DIR}/debug/lib/*.a" - ) - list(FILTER LIBS EXCLUDE REGEX "-static\\.lib\$") - list(FILTER LIBS EXCLUDE REGEX "-static\\.a\$") - file(REMOVE_RECURSE ${LIBS} ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) -endif() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/unofficial-brotli) file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/brotli RENAME copyright) vcpkg_copy_pdbs() diff --git a/ports/brotli/vcpkg-cmake-wrapper.cmake b/ports/brotli/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..882106bcc --- /dev/null +++ b/ports/brotli/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,11 @@ +_find_package(${ARGS})
+foreach(T brotlicommon brotlidec brotlienc)
+ if(TARGET unofficial::brotli::${T} AND NOT TARGET unofficial::brotli::${T}-static)
+ _add_library(unofficial::brotli::${T}-static INTERFACE IMPORTED)
+ set_target_properties(unofficial::brotli::${T}-static PROPERTIES INTERFACE_LINK_LIBRARIES "unofficial::brotli::${T}")
+ endif()
+ if(NOT TARGET unofficial::brotli::${T} AND TARGET unofficial::brotli::${T}-static)
+ _add_library(unofficial::brotli::${T} INTERFACE IMPORTED)
+ set_target_properties(unofficial::brotli::${T} PROPERTIES INTERFACE_LINK_LIBRARIES "unofficial::brotli::${T}-static")
+ endif()
+endforeach()
|
