diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index c597d99..a2fcccc 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -1,41 +1,50 @@ -name: CMake - -on: - push: - branches: [ "master" ] - pull_request: - branches: [ "master" ] - -env: - # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) - BUILD_TYPE: Release +name: hosted-ninja_multi-vcpkg_submod-triplet-cacheoff +on: [push, workflow_dispatch] jobs: - build: - # The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac. - # You can convert this to a matrix build if you need cross-platform coverage. - # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix - runs-on: ubuntu-latest + job: + name: ${{ matrix.os }}-${{ github.workflow }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + include: + - os: windows-latest + triplet: x64-windows + - os: ubuntu-latest + triplet: x64-linux + - os: macos-latest + triplet: x64-osx + + env: + VCPKG_DEFAULT_TRIPLET: ${{ matrix.triplet }} steps: - - uses: actions/checkout@v3 - - - name: run-vcpkg - uses: lukka/run-vcpkg@v11.1 + - uses: actions/checkout@v3 + with: + submodules: true + - uses: lukka/get-cmake@latest + - name: dir + run: find $RUNNER_WORKSPACE + shell: bash - - name: Configure CMake - # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. - # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type - run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} + - name: Setup vcpkg + uses: lukka/run-vcpkg@main + id: runvcpkg + with: + vcpkgJsonGlob: '**/cmakepresets/vcpkg.json' - - name: Build - # Build your program with the given configuration - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} - - - name: Test - working-directory: ${{github.workspace}}/build - # Execute tests defined by the CMake configuration. - # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail - run: ctest -C ${{env.BUILD_TYPE}} + - name: List $RUNNER_WORKSPACE before build + run: find $RUNNER_WORKSPACE + shell: bash + - name: Prints output of run-vcpkg's action. + run: echo "root='${{ steps.runvcpkg.outputs.RUNVCPKG_VCPKG_ROOT_OUT }}', triplet='${{ steps.runvcpkg.outputs.RUNVCPKG_VCPKG_DEFAULT_TRIPLET_OUT }}' " + # - name: Build + # Build your program with the given configuration + # run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} + - name: List $RUNNER_WORKSPACE after build + run: find $RUNNER_WORKSPACE + shell: bash diff --git a/.gitmodules b/.gitmodules index 90e3bc2..72d488d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "3rdparty/vcpkg"] - path = 3rdparty/vcpkg + path = vcpkg url = https://github.com/microsoft/vcpkg diff --git a/3rdparty/vcpkg b/vcpkg similarity index 100% rename from 3rdparty/vcpkg rename to vcpkg diff --git a/vcpkg.json b/vcpkg.json new file mode 100644 index 0000000..8d277db --- /dev/null +++ b/vcpkg.json @@ -0,0 +1,9 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", + "dependencies": [ + "nlohmann-json", + "curl", + "openssl", + "cpr" + ] +}