From d24c9e8b87f0c7e654468994e8f4057cc9ddbe1d Mon Sep 17 00:00:00 2001 From: Billy Robert O'Neal III Date: Fri, 12 Oct 2018 16:11:30 -0700 Subject: [PATCH 1/4] Add vcpkg based dependency resolution for *nix platforms. --- .gitmodules | 2 +- azure-pipelines.yml | 102 +++++++++++++++++++++++++++++++++----------- vcpkg | 2 +- 3 files changed, 79 insertions(+), 27 deletions(-) diff --git a/.gitmodules b/.gitmodules index 3c19d8d07f..326611e519 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "vcpkg"] path = vcpkg - url = https://github.com/Microsoft/vcpkg + url = https://github.com/BillyONeal/vcpkg diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 76766a59b4..6276f21d0c 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -166,31 +166,46 @@ jobs: cd build.release/Release/Binaries ./test_runner *test.so displayName: 'Run tests, release' - - # vcpkg on Linux missing for now due to OpenSSL root certificates - # - job: Ubuntu_1604_Vcpkg_Debug - # pool: - # vmImage: 'Ubuntu 16.04' - # steps: - # - script: | - # ./vcpkg/bootstrap-vcpkg.sh - # ./vcpkg/vcpkg install zlib openssl boost-system boost-date-time boost-regex websocketpp boost-thread boost-filesystem boost-random boost-chrono - # displayName: Apt install dependencies - # - script: mkdir build.debug - # displayName: Make build.debug - # - task: CMake@1 - # inputs: - # workingDirectory: 'build.debug' - # cmakeArgs: '-G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake ..' - # - script: | - # cd build.debug - # ninja - # displayName: 'Run ninja' - # - script: | - # cd build.debug/Release/Binaries - # ./test_runner *test.so - # displayName: 'Run Tests' - - job: MacOS + - job: Ubuntu_1604_Vcpkg + pool: + vmImage: 'Ubuntu 16.04' + steps: + - script: | + sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y + sudo apt-get -y update + sudo apt-get install g++-7 -y + ./vcpkg/bootstrap-vcpkg.sh + ./vcpkg/vcpkg install zlib openssl boost-system boost-date-time boost-regex websocketpp boost-thread boost-filesystem boost-random boost-chrono brotli + displayName: Vcpkg install dependencies + - script: | + mkdir build.debug + mkdir build.release + displayName: Make Build Directories + - task: CMake@1 + inputs: + workingDirectory: 'build.debug' + cmakeArgs: '-G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake ..' + - task: CMake@1 + inputs: + workingDirectory: 'build.release' + cmakeArgs: '-G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake ..' + - script: | + cd build.debug + ninja + displayName: 'Run ninja debug' + - script: | + cd build.debug/Release/Binaries + ./test_runner *test.so + displayName: 'Run Tests debug' + - script: | + cd build.release + ninja + displayName: 'Run ninja, release' + - script: | + cd build.release/Release/Binaries + ./test_runner *test.so + displayName: 'Run tests, release' + - job: MacOS_Homebrew pool: vmImage: 'macOS-10.13' steps: @@ -233,3 +248,40 @@ jobs: cd build.release.static ninja displayName: 'Run ninja, release static' + - job: MacOS_Vcpkg + pool: + vmImage: 'macOS-10.13' + steps: + - script: | + brew install gcc + ./vcpkg/bootstrap-vcpkg.sh + ./vcpkg/vcpkg install zlib openssl boost-system boost-date-time boost-regex websocketpp boost-thread boost-filesystem boost-random boost-chrono brotli + displayName: Vcpkg install dependencies + - script: | + mkdir build.debug + mkdir build.release + displayName: Make Build Directories + - task: CMake@1 + inputs: + workingDirectory: 'build.debug' + cmakeArgs: '-G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake ..' + - task: CMake@1 + inputs: + workingDirectory: 'build.release' + cmakeArgs: '-G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake ..' + - script: | + cd build.debug + ninja + displayName: 'Run ninja debug' + - script: | + cd build.debug/Release/Binaries + ./test_runner *test.dylib + displayName: 'Run Tests debug' + - script: | + cd build.release + ninja + displayName: 'Run ninja, release' + - script: | + cd build.release/Release/Binaries + ./test_runner *test.dylib + displayName: 'Run tests, release' diff --git a/vcpkg b/vcpkg index 29858b3cb2..0b6e548977 160000 --- a/vcpkg +++ b/vcpkg @@ -1 +1 @@ -Subproject commit 29858b3cb2c8a0ec2c85b1b14d6d0a0d1dfe309e +Subproject commit 0b6e54897735e4d4e2f56e34884bce7f96e6864a From 13ba6f58084f9d1ff493f329fbf52082964f4561 Mon Sep 17 00:00:00 2001 From: Billy Robert O'Neal III Date: Fri, 12 Oct 2018 18:33:35 -0700 Subject: [PATCH 2/4] Add missing ninja. --- azure-pipelines.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 6276f21d0c..c3e6a54cde 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -173,7 +173,7 @@ jobs: - script: | sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y sudo apt-get -y update - sudo apt-get install g++-7 -y + sudo apt-get install g++-7 ninja-build -y ./vcpkg/bootstrap-vcpkg.sh ./vcpkg/vcpkg install zlib openssl boost-system boost-date-time boost-regex websocketpp boost-thread boost-filesystem boost-random boost-chrono brotli displayName: Vcpkg install dependencies @@ -253,7 +253,7 @@ jobs: vmImage: 'macOS-10.13' steps: - script: | - brew install gcc + brew install gcc ninja ./vcpkg/bootstrap-vcpkg.sh ./vcpkg/vcpkg install zlib openssl boost-system boost-date-time boost-regex websocketpp boost-thread boost-filesystem boost-random boost-chrono brotli displayName: Vcpkg install dependencies From 08129ed84206debac438de44720974737c99fa71 Mon Sep 17 00:00:00 2001 From: Billy Robert O'Neal III Date: Sun, 14 Oct 2018 11:14:28 -0700 Subject: [PATCH 3/4] Add missing boost interprocess reference. --- azure-pipelines.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index c3e6a54cde..a5d63c55df 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -175,7 +175,7 @@ jobs: sudo apt-get -y update sudo apt-get install g++-7 ninja-build -y ./vcpkg/bootstrap-vcpkg.sh - ./vcpkg/vcpkg install zlib openssl boost-system boost-date-time boost-regex websocketpp boost-thread boost-filesystem boost-random boost-chrono brotli + ./vcpkg/vcpkg install zlib openssl boost-system boost-date-time boost-regex websocketpp boost-thread boost-filesystem boost-random boost-chrono boost-interprocess brotli displayName: Vcpkg install dependencies - script: | mkdir build.debug @@ -255,7 +255,7 @@ jobs: - script: | brew install gcc ninja ./vcpkg/bootstrap-vcpkg.sh - ./vcpkg/vcpkg install zlib openssl boost-system boost-date-time boost-regex websocketpp boost-thread boost-filesystem boost-random boost-chrono brotli + ./vcpkg/vcpkg install zlib openssl boost-system boost-date-time boost-regex websocketpp boost-thread boost-filesystem boost-random boost-chrono boost-interprocess brotli displayName: Vcpkg install dependencies - script: | mkdir build.debug From 850b554ccaed16c73dc5d68bcdb56747547a2e46 Mon Sep 17 00:00:00 2001 From: Billy Robert O'Neal III Date: Mon, 15 Oct 2018 13:31:58 -0700 Subject: [PATCH 4/4] Update vcpkg for SSL fix. --- vcpkg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vcpkg b/vcpkg index 0b6e548977..76ea5e321c 160000 --- a/vcpkg +++ b/vcpkg @@ -1 +1 @@ -Subproject commit 0b6e54897735e4d4e2f56e34884bce7f96e6864a +Subproject commit 76ea5e321cf88cf1c99a7bd0fcebae7c8f990ee0