Skip to content

Commit

Permalink
Compile linux manager with vcpkg
Browse files Browse the repository at this point in the history
  • Loading branch information
talregev committed Apr 18, 2022
1 parent 24d8e8b commit 28fe456
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 3 deletions.
8 changes: 6 additions & 2 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
type: [libs, client, apps, libs-vcpkg, client-vcpkg, apps-vcpkg, libs-cmake, server, manager-with-webview, manager-without-webview, unit-test, integration-test]
type: [libs, client, apps, libs-vcpkg, client-vcpkg, apps-vcpkg, libs-cmake, manager-with-webview-vcpkg, server, manager-with-webview, manager-without-webview, unit-test, integration-test]
fail-fast: false
steps:
- uses: actions/checkout@v2
Expand All @@ -29,7 +29,7 @@ jobs:
run: |
sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu bionic main universe'
sudo apt-get -qq update
sudo apt-get install -y libftgl-dev freeglut3-dev libcurl4-openssl-dev libxmu-dev libxi-dev libfcgi-dev libxss-dev libnotify-dev libxcb-util0-dev libgtk2.0-dev libwebkitgtk-dev p7zip-full libxxf86vm-dev ocl-icd-opencl-dev zip
sudo apt-get install -y libftgl-dev freeglut3-dev libcurl4-openssl-dev libxmu-dev libxi-dev libfcgi-dev libxss-dev libnotify-dev libxcb-util0-dev libgtk2.0-dev libgtk-3-dev libsecret-1-dev libgcrypt20-dev libsystemd-dev libwebkitgtk-dev p7zip-full libxxf86vm-dev ocl-icd-opencl-dev zip
- name: Install dependencies for integration testing
if: matrix.type == 'integration-test'
Expand Down Expand Up @@ -88,6 +88,10 @@ jobs:
if: success() && matrix.type == 'libs-cmake'
run: linux/ci_configure_libs_cmake.sh

- name: Configure manager with webview and vcpkg
if: success() && matrix.type == 'manager-with-webview-vcpkg'
run: linux/ci_configure_manager.sh

- name: Configure server
if: success() && matrix.type == 'server'
run: ./configure --enable-server --disable-client --disable-manager
Expand Down
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -1286,7 +1286,7 @@ else
CLIENTGUIFLAGS="${CLIENTGUIFLAGS} -DNDEBUG"
fi

CLIENTGUILIBS="${WX_LIBS}"
CLIENTGUILIBS="${WX_LIBS} -lX11"

if test "${enable_client_release}" = "yes" ; then
if test "x${WX_LIBS_STATIC}" = "x" ; then
Expand Down
4 changes: 4 additions & 0 deletions deploy/prepare_deployment.py
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,9 @@ def prepare_linux_apps_vcpkg(target_directory):
def prepare_linux_manager_with_webview(target_directory):
prepare_7z_archive('linux_manager-with-webview', target_directory, linux_manager_list)

def prepare_linux_manager_with_webview_vcpkg(target_directory):
prepare_7z_archive('linux_manager-with-webview-vcpkg', target_directory, linux_manager_list)

def prepare_linux_manager_without_webview(target_directory):
prepare_7z_archive('linux_manager-without-webview', target_directory, linux_manager_list)

Expand Down Expand Up @@ -249,6 +252,7 @@ def prepare_win_manager(target_directory):
'linux_apps': prepare_linux_apps,
'linux_apps-vcpkg': prepare_linux_apps_vcpkg,
'linux_manager-with-webview': prepare_linux_manager_with_webview,
'linux_manager-with-webview-vcpkg': prepare_linux_manager_with_webview_vcpkg,
'linux_manager-without-webview': prepare_linux_manager_without_webview,
'win_apps-mingw': prepare_win_apps_mingw,
'win_apps-mingw-vcpkg': prepare_win_apps_mingw_vcpkg,
Expand Down
17 changes: 17 additions & 0 deletions linux/ci_configure_manager.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/bin/sh
set -e

if [ ! -d "linux" ]; then
echo "start this script in the source root directory"
exit 1
fi

CACHE_DIR="$PWD/3rdParty/buildCache/linux"
BUILD_DIR="$PWD/3rdParty/linux"
VCPKG_ROOT="$BUILD_DIR/vcpkg"
export VCPKG_DIR="$VCPKG_ROOT/installed/x64-linux"

linux/update_vcpkg_manager.sh

export _libcurl_pc="$VCPKG_DIR/lib/pkgconfig/libcurl.pc"
./configure --enable-vcpkg --disable-server --disable-client --with-wx-config=$VCPKG_DIR/tools/wxwidgets/wx-config
22 changes: 22 additions & 0 deletions linux/update_vcpkg_manager.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/bin/sh
set -e

if [ ! -d "linux" ]; then
echo "start this script in the source root directory"
exit 1
fi

CACHE_DIR="$PWD/3rdParty/buildCache/linux"
BUILD_DIR="$PWD/3rdParty/linux"
VCPKG_PORTS="$PWD/3rdParty/vcpkg_ports"
VCPKG_ROOT="$BUILD_DIR/vcpkg"

if [ ! -d $VCPKG_ROOT ]; then
mkdir -p $BUILD_DIR
git -C $BUILD_DIR clone https://github.com/microsoft/vcpkg
fi

git -C $VCPKG_ROOT pull
$VCPKG_ROOT/bootstrap-vcpkg.sh
$VCPKG_ROOT/vcpkg install curl[core,openssl] wxwidgets --clean-after-build --overlay-triplets=$VCPKG_PORTS/triplets/ci
$VCPKG_ROOT/vcpkg install freetype[core,bzip2,png] freeglut ftgl --clean-after-build --overlay-triplets=$VCPKG_PORTS/triplets/ci

0 comments on commit 28fe456

Please sign in to comment.