Skip to content

Commit

Permalink
Use custom vcpkg triplets
Browse files Browse the repository at this point in the history
  • Loading branch information
phoerious committed Aug 11, 2023
1 parent 3662502 commit 8d5bbb4
Show file tree
Hide file tree
Showing 8 changed files with 87 additions and 45 deletions.
26 changes: 11 additions & 15 deletions .github/workflows/build-wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,27 +56,23 @@ jobs:
shell: bash
run: |
set -e
VCPKG_CMD="vcpkg --overlay-ports .vcpkg/ports install"
VCPKG_CMD="vcpkg --overlay-ports .vcpkg/ports --overlay-triplets .vcpkg/triplets install"
# abseil is an automatic dependency of re2, but we need to build it with -std=c++17
PKG_LIST="abseil[cxx17] lexbor-shared lz4 re2 uchardet zlib"
PKG_LIST="abseil[cxx17] lexbor lz4 re2 uchardet zlib"
export VCPKG_BUILD_TYPE=release
# MacOS
if [ -d /usr/local/share/vcpkg/ports ]; then
export VCPKG_DEFAULT_TRIPLET=x64-osx
$VCPKG_CMD $PKG_LIST
export VCPKG_DEFAULT_TRIPLET=arm64-osx
$VCPKG_CMD $PKG_LIST
if [ -d /usr/local/share/vcpkg/ports ]; then
$VCPKG_CMD --triplet=x64-osx $PKG_LIST
$VCPKG_CMD --triplet=arm64-osx $PKG_LIST
# Windows
elif [ -d /c/vcpkg ]; then
cp -rv .vcpkg/ports/* /c/vcpkg/ports
export VCPKG_DEFAULT_TRIPLET=x64-windows
$VCPKG_CMD $PKG_LIST
$VCPKG_CMD --triplet=x64-windows $PKG_LIST
else
exit 1
fi
Expand Down
24 changes: 0 additions & 24 deletions .vcpkg/ports/lexbor-shared/portfile.cmake

This file was deleted.

6 changes: 0 additions & 6 deletions .vcpkg/ports/lexbor-shared/vcpkg.json

This file was deleted.

25 changes: 25 additions & 0 deletions .vcpkg/ports/lexbor/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO lexbor/lexbor
REF v${VERSION}
SHA512 26bbca3b41a417cbc59ba8cf736e1611966fc2202de85aabf621b840565d835e7e5ffc1b0294defc16ec883f9fb94e802bd19ed704be35fa79b41566acc05cbc
)

string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED)

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DLEXBOR_BUILD_SHARED=${BUILD_SHARED}
-DLEXBOR_BUILD_STATIC=${BUILD_STATIC}
)
vcpkg_cmake_install()
vcpkg_copy_pdbs()

file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include"
"${CURRENT_PACKAGES_DIR}/include/lexbor/html/tree/insertion_mode"
"${CURRENT_PACKAGES_DIR}/debug/include/lexbor/html/tree/insertion_mode"
)

vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
17 changes: 17 additions & 0 deletions .vcpkg/ports/lexbor/vcpkg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"name": "lexbor",
"version": "2.2.0",
"description": "Lexbor is development of an open source HTML Renderer library.",
"homepage": "https://github.com/lexbor/lexbor",
"supports": "!uwp",
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
]
}
12 changes: 12 additions & 0 deletions .vcpkg/triplets/arm64-osx.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
set(VCPKG_TARGET_ARCHITECTURE arm64)
set(VCPKG_CMAKE_SYSTEM_NAME Darwin)
set(VCPKG_OSX_ARCHITECTURES arm64)

set(VCPKG_BUILD_TYPE release)
set(VCPKG_C_FLAGS "")
set(VCPKG_CXX_FLAGS "-std=c++17")
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE dynamic)
if(PORT MATCHES "abseil")
set(VCPKG_LIBRARY_LINKAGE static)
endif()
12 changes: 12 additions & 0 deletions .vcpkg/triplets/x64-osx.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
set(VCPKG_TARGET_ARCHITECTURE x64)
set(VCPKG_CMAKE_SYSTEM_NAME Darwin)
set(VCPKG_OSX_ARCHITECTURES x86_64)

set(VCPKG_BUILD_TYPE release)
set(VCPKG_C_FLAGS "")
set(VCPKG_CXX_FLAGS "-std=c++17")
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE dynamic)
if(PORT MATCHES "abseil")
set(VCPKG_LIBRARY_LINKAGE static)
endif()
10 changes: 10 additions & 0 deletions .vcpkg/triplets/x64-windows.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
set(VCPKG_TARGET_ARCHITECTURE x64)

set(VCPKG_BUILD_TYPE release)
set(VCPKG_C_FLAGS "")
set(VCPKG_CXX_FLAGS "/std:c++latest")
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE dynamic)
if(PORT MATCHES "abseil")
set(VCPKG_LIBRARY_LINKAGE static)
endif()

0 comments on commit 8d5bbb4

Please sign in to comment.