diff --git a/ports/brotli/CONTROL b/ports/brotli/CONTROL new file mode 100644 index 00000000000..75a2973a00e --- /dev/null +++ b/ports/brotli/CONTROL @@ -0,0 +1,3 @@ +Source: brotli +Version: 0.6.0 +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/portfile.cmake b/ports/brotli/portfile.cmake index 7dde9073989..36e489bc494 100644 --- a/ports/brotli/portfile.cmake +++ b/ports/brotli/portfile.cmake @@ -1,61 +1,51 @@ include(vcpkg_common_functions) -find_program(GIT git) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src) -set(INCLUDE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src/c/include/brotli) - -set(GIT_URL "https://github.com/google/brotli.git") -set(GIT_REF "0a84e9bf864dfe3862bfe7b4e09650ff283c9825") - -if(NOT EXISTS "${DOWNLOADS}/brotli.git") - message(STATUS "Cloning") - vcpkg_execute_required_process( - COMMAND ${GIT} clone --bare ${GIT_URL} ${DOWNLOADS}/brotli.git - WORKING_DIRECTORY ${DOWNLOADS} - LOGNAME clone - ) -endif() - -if(NOT EXISTS "${SOURCE_PATH}/.git") - message(STATUS "Adding worktree and patching") - file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}) - vcpkg_execute_required_process( - COMMAND ${GIT} worktree add -f --detach ${SOURCE_PATH} ${GIT_REF} - WORKING_DIRECTORY ${DOWNLOADS}/brotli.git - LOGNAME worktree - ) - message(STATUS "Patching") -endif() - - -vcpkg_configure_cmake( - SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/src" - # OPTIONS -DUSE_THIS_IN_ALL_BUILDS=1 -DUSE_THIS_TOO=2 - # OPTIONS_RELEASE -DOPTIMIZE=1 - # OPTIONS_DEBUG -DDEBUGGABLE=1 +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO google/brotli + REF v0.6.0 + SHA512 36caa277790efeb5bff0fdc090cdcf00fd9995c4e81a60ed31d36af2e13848ec1afe5d84e6926eebbee013525191e9404e112cb7fbede16097221c5bc3dfb5d5 + HEAD_REF master ) -vcpkg_install_cmake() +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) +vcpkg_build_cmake() -file(GLOB EXES "${CURRENT_PACKAGES_DIR}/bin/*.exe") -file(GLOB DLLS "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/*.dll") -file(GLOB LIBS "${CURRENT_PACKAGES_DIR}/bin/*.lib") -file(GLOB DEBUG_EXES "${CURRENT_PACKAGES_DIR}/debug/bin/*.exe") -file(GLOB DEBUG_DLLS "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Debug/*.dll") -file(GLOB DEBUG_LIBS "${CURRENT_PACKAGES_DIR}/debug/bin/*.lib") -file(GLOB HEADERS "${INCLUDE_DIRECTORY}/*.h") -file(COPY ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) -file(COPY ${LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) -file(COPY ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) -file(COPY ${DEBUG_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) -file(COPY ${HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include/brotli) -file(REMOVE ${EXES}) -file(REMOVE ${LIBS}) -file(REMOVE ${DEBUG_EXES}) -file(REMOVE ${DEBUG_LIBS}) +file(GLOB DLLS + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*.dll" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/*.dll" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*/Release/*.dll" +) +file(GLOB LIBS + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*.lib" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/*.lib" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*/Release/*.lib" +) +file(GLOB DEBUG_DLLS + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*.dll" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Debug/*.dll" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*/Debug/*.dll" +) +file(GLOB DEBUG_LIBS + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*.lib" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Debug/*.lib" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*/Debug/*.lib" +) +file(GLOB HEADERS "${SOURCE_PATH}/c/include/brotli/*.h" "${SOURCE_PATH}/include/brotli/*.h") +if(DLLS) + file(INSTALL ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) +endif() +file(INSTALL ${LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) +if(DEBUG_DLLS) + file(INSTALL ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() +file(INSTALL ${DEBUG_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) +file(INSTALL ${HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include/brotli) file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/brotli RENAME copyright) -#file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/) -#file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/) +vcpkg_copy_pdbs()