mirror of https://github.com/AxioDL/metaforce.git
Use CMakePresets.json
This commit is contained in:
parent
a9bcb7a9ce
commit
6fc33e809a
|
@ -19,11 +19,9 @@ jobs:
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- name: GCC
|
- name: GCC
|
||||||
cc: gcc
|
preset: gcc
|
||||||
cxx: g++
|
|
||||||
- name: Clang
|
- name: Clang
|
||||||
cc: clang
|
preset: clang
|
||||||
cxx: clang++
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
@ -51,22 +49,15 @@ jobs:
|
||||||
echo After
|
echo After
|
||||||
df -h .
|
df -h .
|
||||||
|
|
||||||
- name: Create build directory
|
|
||||||
run: cmake -E make_directory ${{github.workspace}}/build
|
|
||||||
|
|
||||||
- name: Configure CMake
|
- name: Configure CMake
|
||||||
working-directory: ${{github.workspace}}/build
|
run: cmake --preset linux-ci-${{matrix.preset}}
|
||||||
run: |
|
|
||||||
cmake $GITHUB_WORKSPACE -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
|
||||||
-DCMAKE_C_COMPILER=${{matrix.cc}} -DCMAKE_CXX_COMPILER=${{matrix.cxx}} \
|
|
||||||
-DClang_DIR=/usr/lib/cmake/clang-11
|
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
working-directory: ${{github.workspace}}/build
|
run: cmake --build --preset linux-ci-${{matrix.preset}}
|
||||||
run: cmake --build . --target metaforce metaforce-gui hecl visigen
|
|
||||||
|
|
||||||
build-macos:
|
build-macos:
|
||||||
name: Build macOS (AppleClang x86_64)
|
name: Build macOS (AppleClang x86_64)
|
||||||
|
if: 'false'
|
||||||
runs-on: macos-10.15
|
runs-on: macos-10.15
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
@ -95,10 +86,18 @@ jobs:
|
||||||
working-directory: ${{github.workspace}}/build
|
working-directory: ${{github.workspace}}/build
|
||||||
run: cmake --build . --target metaforce-gui
|
run: cmake --build . --target metaforce-gui
|
||||||
|
|
||||||
build-windows-msvc:
|
build-windows:
|
||||||
name: Build Windows (MSVC x86_64)
|
name: Build Windows (${{matrix.name}} x86_64)
|
||||||
if: 'false' # disabled due to memory constraints
|
|
||||||
runs-on: windows-2019
|
runs-on: windows-2019
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- name: MSVC
|
||||||
|
preset: msvc
|
||||||
|
- name: Clang
|
||||||
|
preset: clang
|
||||||
|
|
||||||
env:
|
env:
|
||||||
LLVM_VERSION: 10.0.1
|
LLVM_VERSION: 10.0.1
|
||||||
Qt_VERSION: 5.15.2
|
Qt_VERSION: 5.15.2
|
||||||
|
@ -131,75 +130,8 @@ jobs:
|
||||||
- name: Enable Visual Studio environment
|
- name: Enable Visual Studio environment
|
||||||
uses: ilammy/msvc-dev-cmd@v1
|
uses: ilammy/msvc-dev-cmd@v1
|
||||||
|
|
||||||
- name: Create build directory
|
|
||||||
run: cmake -E make_directory ${{github.workspace}}/build
|
|
||||||
|
|
||||||
- name: Configure CMake
|
- name: Configure CMake
|
||||||
working-directory: ${{github.workspace}}/build
|
run: cmake --preset windows-ci-${{matrix.preset}}
|
||||||
run: |
|
|
||||||
$workspace = $env:RUNNER_WORKSPACE -replace '\\', '/'
|
|
||||||
cmake $env:GITHUB_WORKSPACE -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo `
|
|
||||||
-DCMAKE_TOOLCHAIN_FILE="$workspace/vcpkg-qt-$env:Qt_VERSION/scripts/buildsystems/vcpkg.cmake" `
|
|
||||||
-DVCPKG_TARGET_TRIPLET=x64-windows-static `
|
|
||||||
-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded -DCMAKE_CXX_FLAGS= -DCMAKE_C_FLAGS= `
|
|
||||||
-DLLVM_ROOT_DIR="$workspace/LLVM"
|
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
working-directory: ${{github.workspace}}/build
|
run: cmake --build --preset windows-ci-${{matrix.preset}}
|
||||||
run: cmake --build . --target metaforce metaforce-gui hecl visigen
|
|
||||||
|
|
||||||
build-windows-clang:
|
|
||||||
name: Build Windows (Clang x86_64)
|
|
||||||
if: 'false' # disabled due to header issues
|
|
||||||
runs-on: windows-2019
|
|
||||||
env:
|
|
||||||
LLVM_VERSION: 10.0.1
|
|
||||||
Qt_VERSION: 5.15.2
|
|
||||||
IPP_VERSION: 2021.2.0.210
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
submodules: recursive
|
|
||||||
|
|
||||||
- name: Install LLVM
|
|
||||||
run: |
|
|
||||||
$TempDir = "$env:RUNNER_WORKSPACE\temp"
|
|
||||||
$Filename = "LLVM-$env:LLVM_VERSION-win64.exe"
|
|
||||||
New-Item -Path "$TempDir" -ItemType Directory -ea 0
|
|
||||||
(New-Object Net.WebClient).DownloadFile("https://axiodl.com/files/$Filename", "$TempDir\$Filename")
|
|
||||||
Start-Process "$TempDir\$Filename" -ArgumentList "/S /D=$env:RUNNER_WORKSPACE\LLVM" -Wait
|
|
||||||
|
|
||||||
- name: Install vcpkg Qt
|
|
||||||
run: |
|
|
||||||
$TempDir = "$env:RUNNER_WORKSPACE\temp"
|
|
||||||
$Filename = "vcpkg-qt-$env:Qt_VERSION.7z"
|
|
||||||
New-Item -Path "$TempDir" -ItemType Directory -ea 0
|
|
||||||
(New-Object Net.WebClient).DownloadFile("https://axiodl.com/files/$Filename", "$TempDir\$Filename")
|
|
||||||
7z x "-o$env:RUNNER_WORKSPACE" -aos "$TempDir\$Filename"
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: choco install ninja vulkan-sdk
|
|
||||||
|
|
||||||
- name: Enable Visual Studio environment
|
|
||||||
uses: ilammy/msvc-dev-cmd@v1
|
|
||||||
|
|
||||||
- name: Create build directory
|
|
||||||
run: cmake -E make_directory ${{github.workspace}}/build
|
|
||||||
|
|
||||||
- name: Configure CMake
|
|
||||||
working-directory: ${{github.workspace}}/build
|
|
||||||
run: |
|
|
||||||
$workspace = $env:RUNNER_WORKSPACE -replace '\\', '/'
|
|
||||||
cmake $env:GITHUB_WORKSPACE -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo `
|
|
||||||
-DCMAKE_TOOLCHAIN_FILE="$workspace/vcpkg-qt-$env:Qt_VERSION/scripts/buildsystems/vcpkg.cmake" `
|
|
||||||
-DVCPKG_TARGET_TRIPLET=x64-windows-static `
|
|
||||||
-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded `
|
|
||||||
-DCMAKE_C_COMPILER=clang-cl `
|
|
||||||
-DCMAKE_CXX_COMPILER=clang-cl `
|
|
||||||
-DCMAKE_LINKER=lld-link `
|
|
||||||
-DLLVM_ROOT_DIR="$workspace/LLVM"
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
working-directory: ${{github.workspace}}/build
|
|
||||||
run: cmake --build . --target metaforce metaforce-gui hecl visigen
|
|
||||||
|
|
|
@ -10,3 +10,4 @@ Runtime/platforms/win/metaforce.rc
|
||||||
out/
|
out/
|
||||||
cmake-build-*/
|
cmake-build-*/
|
||||||
build/
|
build/
|
||||||
|
CMakeUserPresets.json
|
||||||
|
|
|
@ -0,0 +1,284 @@
|
||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"cmakeMinimumRequired": {
|
||||||
|
"major": 3,
|
||||||
|
"minor": 20,
|
||||||
|
"patch": 0
|
||||||
|
},
|
||||||
|
"configurePresets": [
|
||||||
|
{
|
||||||
|
"name": "debug",
|
||||||
|
"hidden": true,
|
||||||
|
"cacheVariables": {
|
||||||
|
"CMAKE_BUILD_TYPE": "Debug"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "relwithdebinfo",
|
||||||
|
"hidden": true,
|
||||||
|
"cacheVariables": {
|
||||||
|
"CMAKE_BUILD_TYPE": "RelWithDebInfo"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "linux-default",
|
||||||
|
"displayName": "Linux (default)",
|
||||||
|
"generator": "Ninja",
|
||||||
|
"binaryDir": "${sourceDir}/build/${presetName}",
|
||||||
|
"vendor": {
|
||||||
|
"microsoft.com/VisualStudioSettings/CMake/1.0": {
|
||||||
|
"hostOS": [
|
||||||
|
"Linux"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"microsoft.com/VisualStudioRemoteSettings/CMake/1.0": {
|
||||||
|
"sourceDir": "$env{HOME}/.vs/$ms{projectDirName}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "linux-default-debug",
|
||||||
|
"displayName": "Linux (default) Debug",
|
||||||
|
"inherits": [
|
||||||
|
"linux-default",
|
||||||
|
"debug"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "linux-default-relwithdebinfo",
|
||||||
|
"displayName": "Linux (default) RelWithDebInfo",
|
||||||
|
"inherits": [
|
||||||
|
"linux-default",
|
||||||
|
"relwithdebinfo"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "linux-clang",
|
||||||
|
"displayName": "Linux (Clang)",
|
||||||
|
"inherits": [
|
||||||
|
"linux-default"
|
||||||
|
],
|
||||||
|
"cacheVariables": {
|
||||||
|
"CMAKE_C_COMPILER": "clang",
|
||||||
|
"CMAKE_CXX_COMPILER": "clang++"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "linux-clang-debug",
|
||||||
|
"displayName": "Linux (Clang) Debug",
|
||||||
|
"inherits": [
|
||||||
|
"linux-clang",
|
||||||
|
"debug"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "linux-clang-relwithdebinfo",
|
||||||
|
"displayName": "Linux (Clang) RelWithDebInfo",
|
||||||
|
"inherits": [
|
||||||
|
"linux-clang",
|
||||||
|
"relwithdebinfo"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "windows-msvc",
|
||||||
|
"displayName": "Windows (MSVC)",
|
||||||
|
"generator": "Ninja",
|
||||||
|
"binaryDir": "${sourceDir}/out/build/${presetName}",
|
||||||
|
"architecture": {
|
||||||
|
"value": "x64",
|
||||||
|
"strategy": "external"
|
||||||
|
},
|
||||||
|
"cacheVariables": {
|
||||||
|
"CMAKE_C_COMPILER": "cl",
|
||||||
|
"CMAKE_CXX_COMPILER": "cl",
|
||||||
|
"CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}",
|
||||||
|
"CMAKE_TOOLCHAIN_FILE": {
|
||||||
|
"type": "FILEPATH",
|
||||||
|
"value": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake"
|
||||||
|
},
|
||||||
|
"CMAKE_MSVC_RUNTIME_LIBRARY": "MultiThreaded",
|
||||||
|
"VCPKG_TARGET_TRIPLET": "x64-windows-static"
|
||||||
|
},
|
||||||
|
"vendor": {
|
||||||
|
"microsoft.com/VisualStudioSettings/CMake/1.0": {
|
||||||
|
"hostOS": [
|
||||||
|
"Windows"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "windows-msvc-debug",
|
||||||
|
"displayName": "Windows (MSVC) Debug",
|
||||||
|
"inherits": [
|
||||||
|
"windows-msvc",
|
||||||
|
"debug"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "windows-msvc-relwithdebinfo",
|
||||||
|
"displayName": "Windows (MSVC) RelWithDebInfo",
|
||||||
|
"inherits": [
|
||||||
|
"windows-msvc",
|
||||||
|
"relwithdebinfo"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "windows-clang",
|
||||||
|
"displayName": "Windows (Clang)",
|
||||||
|
"inherits": [
|
||||||
|
"windows-msvc"
|
||||||
|
],
|
||||||
|
"cacheVariables": {
|
||||||
|
"CMAKE_C_COMPILER": "clang-cl",
|
||||||
|
"CMAKE_CXX_COMPILER": "clang-cl",
|
||||||
|
"CMAKE_LINKER": "lld-link"
|
||||||
|
},
|
||||||
|
"vendor": {
|
||||||
|
"microsoft.com/VisualStudioSettings/CMake/1.0": {
|
||||||
|
"intelliSenseMode": "windows-clang-x64"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "windows-clang-debug",
|
||||||
|
"displayName": "Windows (Clang) Debug",
|
||||||
|
"inherits": [
|
||||||
|
"windows-clang",
|
||||||
|
"debug"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "windows-clang-relwithdebinfo",
|
||||||
|
"displayName": "Windows (Clang) RelWithDebInfo",
|
||||||
|
"inherits": [
|
||||||
|
"windows-clang",
|
||||||
|
"relwithdebinfo"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "linux-ci",
|
||||||
|
"hidden": true,
|
||||||
|
"inherits": [
|
||||||
|
"relwithdebinfo"
|
||||||
|
],
|
||||||
|
"cacheVariables": {
|
||||||
|
"Clang_DIR": {
|
||||||
|
"type": "FILEPATH",
|
||||||
|
"value": "/usr/lib/cmake/clang-11"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "linux-ci-gcc",
|
||||||
|
"inherits": [
|
||||||
|
"linux-default",
|
||||||
|
"linux-ci"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "linux-ci-clang",
|
||||||
|
"inherits": [
|
||||||
|
"linux-clang",
|
||||||
|
"linux-ci"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "windows-ci",
|
||||||
|
"hidden": true,
|
||||||
|
"inherits": [
|
||||||
|
"relwithdebinfo"
|
||||||
|
],
|
||||||
|
"cacheVariables": {
|
||||||
|
"LLVM_ROOT_DIR": "$env{RUNNER_WORKSPACE}/LLVM"
|
||||||
|
},
|
||||||
|
"environment": {
|
||||||
|
"VCPKG_ROOT": "$env{RUNNER_WORKSPACE}/vcpkg-qt-$env{Qt_VERSION}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "windows-ci-msvc",
|
||||||
|
"inherits": [
|
||||||
|
"windows-msvc",
|
||||||
|
"windows-ci"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "windows-ci-clang",
|
||||||
|
"inherits": [
|
||||||
|
"windows-clang",
|
||||||
|
"windows-ci"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"buildPresets": [
|
||||||
|
{
|
||||||
|
"name": "linux-default-debug",
|
||||||
|
"configurePreset": "linux-default-debug",
|
||||||
|
"description": "Linux (default) debug build",
|
||||||
|
"displayName": "Linux (default) Debug"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "linux-default-relwithdebinfo",
|
||||||
|
"configurePreset": "linux-default-relwithdebinfo",
|
||||||
|
"description": "Linux (default) release build with debug info",
|
||||||
|
"displayName": "Linux (default) RelWithDebInfo"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "linux-clang-debug",
|
||||||
|
"configurePreset": "linux-clang-debug",
|
||||||
|
"description": "Linux (Clang) debug build",
|
||||||
|
"displayName": "Linux (Clang) Debug"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "linux-clang-relwithdebinfo",
|
||||||
|
"configurePreset": "linux-clang-relwithdebinfo",
|
||||||
|
"description": "Linux (Clang) release build with debug info",
|
||||||
|
"displayName": "Linux (Clang) RelWithDebInfo"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "windows-msvc-debug",
|
||||||
|
"configurePreset": "windows-msvc-debug",
|
||||||
|
"description": "Windows (MSVC) debug build",
|
||||||
|
"displayName": "Windows (MSVC) Debug"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "windows-msvc-relwithdebinfo",
|
||||||
|
"configurePreset": "windows-msvc-relwithdebinfo",
|
||||||
|
"description": "Windows (MSVC) release build with debug info",
|
||||||
|
"displayName": "Windows (MSVC) RelWithDebInfo"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "windows-clang-debug",
|
||||||
|
"configurePreset": "windows-clang-debug",
|
||||||
|
"description": "Windows (Clang) debug build",
|
||||||
|
"displayName": "Windows (Clang) Debug"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "windows-clang-relwithdebinfo",
|
||||||
|
"configurePreset": "windows-clang-relwithdebinfo",
|
||||||
|
"description": "Windows (Clang) release build with debug info",
|
||||||
|
"displayName": "Windows (Clang) RelWithDebInfo"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "linux-ci-gcc",
|
||||||
|
"configurePreset": "linux-ci-gcc",
|
||||||
|
"targets": ["metaforce", "metaforce-gui", "hecl", "visigen"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "linux-ci-clang",
|
||||||
|
"configurePreset": "linux-ci-clang",
|
||||||
|
"targets": ["metaforce", "metaforce-gui", "hecl", "visigen"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "windows-ci-msvc",
|
||||||
|
"configurePreset": "windows-ci-msvc",
|
||||||
|
"targets": ["metaforce", "metaforce-gui", "hecl", "visigen"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "windows-ci-clang",
|
||||||
|
"configurePreset": "windows-ci-clang",
|
||||||
|
"targets": ["metaforce", "metaforce-gui", "hecl", "visigen"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Loading…
Reference in New Issue