From c535eaf875365f3905257010b216f9872fde9542 Mon Sep 17 00:00:00 2001 From: Sergii Kryvonos Date: Fri, 11 Oct 2024 23:56:46 +0200 Subject: [PATCH] Add vcpkg.json file --- .github/workflows/vcpkg.yml | 76 +++++++++++++++++++++++++++++++++++++ vcpkg-configuration.json | 11 ++++++ 2 files changed, 87 insertions(+) create mode 100644 .github/workflows/vcpkg.yml create mode 100644 vcpkg-configuration.json diff --git a/.github/workflows/vcpkg.yml b/.github/workflows/vcpkg.yml new file mode 100644 index 0000000..afb9447 --- /dev/null +++ b/.github/workflows/vcpkg.yml @@ -0,0 +1,76 @@ +name: Vcpkg CI + +on: [push] + +jobs: + build: + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + runs-on: ${{ matrix.os }} + + steps: + - uses: actions/checkout@v4 + + - name: Cache vcpkg + uses: actions/cache@v4 + with: + path: | + ${{github.workspace}}/vcpkg + !${{github.workspace}}/vcpkg/buildtrees + !${{github.workspace}}/vcpkg/packages + !${{github.workspace}}/vcpkg/downloads + ${{ github.workspace }}/build/bin/Db*.solutions + key: ${{ runner.os }}-vcpkg-${{ hashFiles('**/vcpkg.json') }} + restore-keys: | + ${{ runner.os }}-vcpkg- + + - name: Install dependencies (Ubuntu) + if: runner.os == 'Linux' + run: | + sudo apt-get update + sudo apt-get install -y build-essential cmake ninja-build autoconf automake autoconf-archive + cmake --version + ninja --version + gcc --version + g++ --version + + - name: Install dependencies (macOS) + if: runner.os == 'macOS' + env: + VCPKG_PYTHON3: $(which python3) + run: | + echo "VCPKG_PYTHON3=$VCPKG_PYTHON3" >> $GITHUB_ENV + brew update + brew install cmake ninja autoconf automake autoconf-archive + cmake --version + ninja --version + clang --version + + - name: Install dependencies (Windows) + if: runner.os == 'Windows' + uses: microsoft/setup-msbuild@v2 + + - name: Setup MSVC + if: runner.os == 'Windows' + uses: ilammy/msvc-dev-cmd@v1 + + - name: Setup vcpkg + uses: lukka/run-vcpkg@v11 + with: + vcpkgGitCommitId: '3508985146f1b1d248c67ead13f8f54be5b4f5da' + vcpkgJsonGlob: '**/vcpkg.json' + + - name: Configure CMake + run: cmake -B ${{github.workspace}}/build -G Ninja -DCMAKE_TOOLCHAIN_FILE=${{github.workspace}}/vcpkg/scripts/buildsystems/vcpkg.cmake -DOPENMIND_BUILD_TESTS=OFF || cmake -B ${{github.workspace}}/build -G Ninja -DCMAKE_TOOLCHAIN_FILE=${{github.workspace}}/vcpkg/scripts/buildsystems/vcpkg.cmake -DOPENMIND_BUILD_TESTS=OFF + + - name: Build + run: cmake --build ${{github.workspace}}/build + + - name: Get number of CPU cores + uses: SimenB/github-actions-cpu-cores@v2 + id: cpu-cores + + - name: Check + working-directory: ${{github.workspace}}/build + run: ctest . -j ${{steps.cpu-cores.outputs.count}} --test-dir libskrypt --rerun-failed --output-on-failure diff --git a/vcpkg-configuration.json b/vcpkg-configuration.json new file mode 100644 index 0000000..a206725 --- /dev/null +++ b/vcpkg-configuration.json @@ -0,0 +1,11 @@ +{ + "default-registry": { + "kind": "git", + "baseline": "3508985146f1b1d248c67ead13f8f54be5b4f5da", + "repository": "https://github.com/ohhmm/vcpkg", + "reference": "openmind-port", + "packages": [ + "openmind" + ] + } +} \ No newline at end of file