File: build-vcpkg

package info (click to toggle)
openvpn3-client 24.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 19,384 kB
  • sloc: cpp: 180,128; python: 11,591; ansic: 1,878; sh: 1,767; java: 402; lisp: 81; makefile: 44
file content (56 lines) | stat: -rwxr-xr-x 1,344 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/usr/bin/env bash

set -eux

: ${VCPKG_ROOT?:VCPKG_ROOT needs to be set}
: ${ARCH:=i686 x86_64}
: ${DCO:=1}
CORE_DIR=$(dirname $(realpath -s $0))/../..
CMAKE_C_COMPILER="w64-mingw32-gcc-posix"
CMAKE_CXX_COMPILER="w64-mingw32-g++-posix"

build_core()
{
    local ARCH=$1
    local VCPKG_ARCH=$ARCH
    if [ "$ARCH" = i686 ]; then
        VCPKG_ARCH=x86
    fi
    if [ "$ARCH" = x86_64 ]; then
        VCPKG_ARCH=x64
    fi

    echo "Building core for $ARCH (vcpkg: $VCPKG_ARCH-mingw-dynamic)"

    rm -rf "build-$ARCH"
    mkdir "build-$ARCH"

    [ -z "$DCO" ] || {
        WITH_OVPNDCOWIN="-D CLI_OVPNDCOWIN=ON"
    }

    pushd build-$ARCH

    cmake -D CMAKE_TOOLCHAIN_FILE="${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" \
          -D VCPKG_TARGET_TRIPLET="$VCPKG_ARCH-mingw-dynamic" \
          -D VCPKG_APPLOCAL_DEPS=OFF \
          -D VCPKG_OVERLAY_PORTS="$CORE_DIR/deps/vcpkg-ports" \
          -D CMAKE_C_COMPILER="$ARCH-$CMAKE_C_COMPILER" \
          -D CMAKE_CXX_COMPILER="$ARCH-$CMAKE_CXX_COMPILER" \
          -D CMAKE_SYSTEM_NAME=Windows \
          -D CMAKE_PREFIX_PATH="/usr/local/$ARCH-w64-mingw32" \
          -D CMAKE_BUILD_TYPE=Release \
          -D USE_WERROR=true \
          $WITH_OVPNDCOWIN \
          $CORE_DIR

    make

    popd
}

for arch in $ARCH
do
    echo "Building for $arch"
    build_core $arch
done