Add vcpkg.json, change MacOS CI to use that (#346)

* add vcpkg support for installing dependencies

* Change macos CI to use vcpkg for dependencies

* actually fix CI for macos

* fix SDL_net linking

SDL_net was being linked twice

* update baseline
This commit is contained in:
Nikita 2025-06-24 09:50:46 -07:00 committed by GitHub
parent 9e1543d434
commit 8132405bab
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 38 additions and 8 deletions

View File

@ -12,10 +12,14 @@ jobs:
with:
submodules: recursive
- name: Install dependencies
run: brew install sdl2 libpng glew ninja cmake libzip nlohmann-json tinyxml2 spdlog vorbis-tools
run: brew install ninja cmake
- name: Install vcpkg
uses: lukka/run-vcpkg@v11.5
with:
vcpkgDirectory: '${{ github.workspace }}/vcpkg'
- name: Build
run: |
cmake -H. -Bbuild-cmake -GNinja -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DCMAKE_BUILD_TYPE=Release
cmake -H. -Bbuild-cmake -GNinja -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake
cmake --build build-cmake -j
- name: Create Package
run: |

View File

@ -82,10 +82,14 @@ jobs:
with:
submodules: recursive
- name: Install dependencies
run: brew install sdl2 sdl2_net libpng glew ninja cmake libzip nlohmann-json tinyxml2 spdlog vorbis-tools
run: brew install ninja cmake
- name: Install vcpkg
uses: lukka/run-vcpkg@v11.5
with:
vcpkgDirectory: '${{ github.workspace }}/vcpkg'
- name: Build
run: |
cmake -H. -Bbuild-cmake -GNinja -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DCMAKE_BUILD_TYPE=Release
cmake -H. -Bbuild-cmake -GNinja -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake
cmake --build build-cmake --config Release -j3
- name: Download spaghetti.o2r
uses: actions/download-artifact@v4

3
.gitignore vendored
View File

@ -125,4 +125,5 @@ cmake-build-*/
.idea/
.vs
build*/
.DS_Store
.DS_Store
.cache/

View File

@ -393,7 +393,6 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
find_package(Vorbis CONFIG REQUIRED)
link_libraries(Vorbis::vorbisfile)
set(ADDITIONAL_LIBRARY_DEPENDENCIES
"$<$<BOOL:${USE_NETWORKING}>:SDL2_net::SDL2_net-static>"
"Ogg::ogg"
"Vorbis::vorbis"
"Vorbis::vorbisenc"
@ -416,7 +415,6 @@ else()
find_package(Ogg REQUIRED)
find_package(Vorbis REQUIRED)
set(ADDITIONAL_LIBRARY_DEPENDENCIES
"$<$<BOOL:${USE_NETWORKING}>:SDL2_net::SDL2_net>"
"Ogg::ogg"
"Vorbis::vorbis"
"Vorbis::vorbisenc"
@ -435,7 +433,7 @@ if(USE_NETWORKING)
target_link_libraries(${PROJECT_NAME} PRIVATE SDL2_net)
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
find_package(SDL2_net REQUIRED)
target_link_libraries(${PROJECT_NAME} PRIVATE SDL2_net::SDL2_net)
target_link_libraries(${PROJECT_NAME} PRIVATE $<IF:$<TARGET_EXISTS:SDL2_net::SDL2_net>,SDL2_net::SDL2_net,SDL2_net::SDL2_net-static>)
else()
find_package(SDL2_net REQUIRED)
target_link_libraries(${PROJECT_NAME} PRIVATE SDL2_net::SDL2_net-static)

23
vcpkg.json Normal file
View File

@ -0,0 +1,23 @@
{
"name": "spaghettikart",
"version": "1.0.0",
"description": "A Mario Kart 64 port",
"homepage": "https://github.com/HarbourMasters/SpaghettiKart",
"dependencies": [
"zlib",
"bzip2",
"libzip",
"libpng",
"sdl2",
"sdl2-net",
"glew",
"glfw3",
"nlohmann-json",
"tinyxml2",
"spdlog",
"libogg",
"libvorbis"
],
"builtin-baseline": "2e58bb35ff7a3a037920d959ce20cb4d8c22319a",
"overrides": []
}