From ff9f4f7d8190ffcb45047dbb5b41c335600f708a Mon Sep 17 00:00:00 2001 From: causerp Date: Tue, 15 Jul 2025 21:34:09 +0000 Subject: [PATCH] update CI --- .github/workflows/build.yml | 34 ++++++++++++---------------------- CMakePresets.json | 8 +++++++- cjpm.toml | 10 +++++----- 3 files changed, 24 insertions(+), 28 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 66cf2ed..88c0dfa 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,9 +2,6 @@ name: build on: [push, pull_request] -env: - VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite" - jobs: build: name: ${{ matrix.preset }} @@ -27,11 +24,9 @@ jobs: - preset: linux-release os: ubuntu-latest triplet: x64-linux - toolchain: /usr/local/share/vcpkg/scripts/buildsystems/vcpkg.cmake - preset: windows-release os: windows-latest triplet: x64-mingw-dynamic - toolchain: C:/vcpkg/scripts/buildsystems/vcpkg.cmake exclude: - os: ubuntu-latest preset: windows-release @@ -46,13 +41,6 @@ jobs: with: cmakeVersion: "3.31.5" - - name: Enable GitHub Actions cache - uses: actions/github-script@v6 - with: - script: | - core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); - core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); - - name: Install CSFML dependencies if: runner.os == 'Linux' uses: awalsh128/cache-apt-pkgs-action@latest @@ -90,21 +78,23 @@ jobs: run: ./download_csfml.sh - name: Install vcpkg dependencies - run: | - vcpkg install sfml --triplet=${{ matrix.triplet }} --overlay-ports=vcpkg + uses: johnwason/vcpkg-action@v7 + id: vcpkg + with: + pkgs: sfml + triplet: ${{ matrix.triplet }} + extra-args: --overlay-ports=${{ github.workspace }}/vcpkg + token: ${{ secrets.GITHUB_TOKEN }} + vcpkg-subdir: 'vcpkg-repo' - name: Build CSFML run: | cd csfml - cmake --preset ${{ matrix.preset }} -DCMAKE_TOOLCHAIN_FILE=${{ matrix.toolchain }} + cmake --preset ${{ matrix.preset }} -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/vcpkg-repo/scripts/buildsystems/vcpkg.cmake cmake --build --preset ${{ matrix.preset }} --target install - - name: Build and test cjsfml - if: runner.os == 'Linux' - run: | - cjpm build - cjpm test - - name: Build cjsfml - if: runner.os == 'Windows' run: cjpm build + + - name: Test cjsfml + run: cjpm test diff --git a/CMakePresets.json b/CMakePresets.json index 3df15c5..5db8e74 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -8,7 +8,10 @@ "binaryDir": "${sourceDir}/build", "installDir": "${sourceDir}/install", "cacheVariables": { - "BUILD_SHARED_LIBS": true + "BUILD_SHARED_LIBS": true, + "CMAKE_ARCHIVE_OUTPUT_DIRECTORY": "${sourceDir}/", + "CMAKE_LIBRARY_OUTPUT_DIRECTORY": "${sourceDir}/", + "CMAKE_RUNTIME_OUTPUT_DIRECTORY": "${sourceDir}/" }, "condition": { "type": "equals", @@ -40,6 +43,9 @@ "installDir": "${sourceDir}/install", "cacheVariables": { "BUILD_SHARED_LIBS": true, + "CMAKE_ARCHIVE_OUTPUT_DIRECTORY": "${sourceDir}/", + "CMAKE_LIBRARY_OUTPUT_DIRECTORY": "${sourceDir}/", + "CMAKE_RUNTIME_OUTPUT_DIRECTORY": "${sourceDir}/", "CMAKE_C_COMPILER": "gcc", "CMAKE_CXX_COMPILER": "g++", "CMAKE_TOOLCHAIN_FILE": { diff --git a/cjpm.toml b/cjpm.toml index 5d926a6..32618a5 100644 --- a/cjpm.toml +++ b/cjpm.toml @@ -17,8 +17,8 @@ endian = { git = "https://github.com/causerp/endian.git", tag = "v1.1.0"} [ffi.c] - csfml-audio = { path = "./csfml/install/lib" } - csfml-graphics = { path = "./csfml/install/lib" } - csfml-network = { path = "./csfml/install/lib" } - csfml-system = { path = "./csfml/install/lib" } - csfml-window = { path = "./csfml/install/lib" } + csfml-audio = { path = "./csfml" } + csfml-graphics = { path = "./csfml" } + csfml-network = { path = "./csfml" } + csfml-system = { path = "./csfml" } + csfml-window = { path = "./csfml" }