mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-12-23 05:53:34 +00:00
c7dd8205a4
* Add MSVC optimization flags * test moving flags to json * Update CMakePresets.json * testing * trying more variations on the flags * third test * testing if these even have any effect * ditto * final(?) try for now * ONE MORE TIME * trying 'init' flags instead * export the compile commands so I can see if they're having any effect * move out g++ O2 flag * add Linux debug preset * update CMake presets * edit macos presets * try adding build types back to mac * macos refuses to work :( * try using compiler flags for mac instead * fix typo in windows preset * build reorganization and experimental clang support * temporarily remove macos build for testing purposes * updated cmake workflows * unexclude toolchain dir * update .gitignore * fix build directory issue * edit build script * update cmake configs * attempted docker fix * try zero-initializinng this struct to solve docker issue * try fixing macos build * one last MacOS try for the night * try disabling an apple-specific build rule * more fiddling with mac test builds * try and narrow down the macos build failure cause * try stripping out all the custom macos test logic again * I'm really just throwing everything to the wall and seeing what sticks * more macos tinkering * implib * try manual link directory specification * save me * aaaaaaaaa * paths paths paths * Revert "paths paths paths" This reverts commit9a7d86aa6c
. * Revert "aaaaaaaaa" This reverts commit338279c396
. * Revert "save me" This reverts commitbd73aa21a9
. * Revert "try manual link directory specification" This reverts commit0c2d40632e
. * Revert "implib" This reverts commitd41349d6ed
. * Revert "more macos tinkering" This reverts commit829ec35b57
. * Revert "I'm really just throwing everything to the wall and seeing what sticks" This reverts commit1a05b027fe
. * Revert "try stripping out all the custom macos test logic again" This reverts commitcc15a26ce8
. * Revert "try and narrow down the macos build failure cause" This reverts commit5fd86833fa
. * Revert "more fiddling with mac test builds" This reverts commit0f843c02c9
. * Revert "try disabling an apple-specific build rule" This reverts commit45ec66e976
. * back to debug messages * see if this re-breaks mac * are these messages actually somehow fixing the issue? * was not actually fixed * add debug messages (again) * debug try 2 * change runtime output dir * rename gcc to gnu * expand cmake presets * fix preset * change defaults * altered cmake configuration scripts * disable /WX on MSVC * update github actions * update build presets * change gnu and clang build directories to enable consistent artifact generation * add RelWithDebInfo presets and move -Werror flag into presets.json * use DLU_CONFIG_DIR envvar * CMakePresets indentation * temp fix for MSVC debug builds
642 lines
16 KiB
JSON
642 lines
16 KiB
JSON
{
|
|
"version": 6,
|
|
"cmakeMinimumRequired": {
|
|
"major": 3,
|
|
"minor": 25,
|
|
"patch": 0
|
|
},
|
|
"configurePresets": [
|
|
{
|
|
"name": "default",
|
|
"displayName": "Default configure step",
|
|
"description": "Use 'build' dir and Unix makefiles",
|
|
"binaryDir": "${sourceDir}/build",
|
|
"environment": {
|
|
"DLU_CONFIG_DIR": "${sourceDir}/build"
|
|
},
|
|
"generator": "Unix Makefiles"
|
|
},
|
|
{
|
|
"name": "debug-config",
|
|
"hidden": true,
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Debug"
|
|
}
|
|
},
|
|
{
|
|
"name": "relwithdebinfo-config",
|
|
"hidden": true,
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "RelWithDebInfo"
|
|
}
|
|
},
|
|
{
|
|
"name": "release-config",
|
|
"hidden": true,
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Release"
|
|
}
|
|
},
|
|
{
|
|
"name": "clang-config",
|
|
"hidden": true,
|
|
"toolchainFile": "${sourceDir}/cmake/toolchains/linux-clang.cmake"
|
|
},
|
|
{
|
|
"name": "gnu-config",
|
|
"hidden": true,
|
|
"toolchainFile": "${sourceDir}/cmake/toolchains/linux-gnu.cmake"
|
|
},
|
|
{
|
|
"name": "windows-msvc",
|
|
"inherits": "default",
|
|
"displayName": "[Multi] Windows (MSVC)",
|
|
"description": "Set architecture to 64-bit (b/c RakNet)",
|
|
"generator": "Visual Studio 17 2022",
|
|
"binaryDir": "${sourceDir}/build/msvc",
|
|
"architecture": {
|
|
"value": "x64"
|
|
},
|
|
"condition": {
|
|
"type": "equals",
|
|
"lhs": "${hostSystemName}",
|
|
"rhs": "Windows"
|
|
}
|
|
},
|
|
{
|
|
"name": "windows-default",
|
|
"inherits": "windows-msvc",
|
|
"displayName": "Windows only Configure Settings",
|
|
"description": "Sets build and install directories",
|
|
"generator": "Ninja",
|
|
"condition": {
|
|
"type": "equals",
|
|
"lhs": "${hostSystemName}",
|
|
"rhs": "Windows"
|
|
},
|
|
"architecture": {
|
|
"value": "x64"
|
|
}
|
|
},
|
|
{
|
|
"name": "linux-config",
|
|
"inherits": "default",
|
|
"hidden": true,
|
|
"condition": {
|
|
"type": "equals",
|
|
"lhs": "${hostSystemName}",
|
|
"rhs": "Linux"
|
|
}
|
|
},
|
|
{
|
|
"name": "linux-clang-debug",
|
|
"inherits": [
|
|
"linux-config",
|
|
"clang-config",
|
|
"debug-config"
|
|
],
|
|
"displayName": "EXPERIMENTAL - [Debug] Linux (Clang)",
|
|
"description": "Create a debug build using the Clang toolchain for Linux",
|
|
"binaryDir": "${sourceDir}/build/clang-debug"
|
|
},
|
|
{
|
|
"name": "linux-clang-relwithdebinfo",
|
|
"inherits": [
|
|
"linux-config",
|
|
"clang-config",
|
|
"relwithdebinfo-config"
|
|
],
|
|
"displayName": "EXPERIMENTAL - [RelWithDebInfo] Linux (Clang)",
|
|
"description": "Create a release build with debug info using the Clang toolchain for Linux",
|
|
"binaryDir": "${sourceDir}/build/clang-relwithdebinfo"
|
|
},
|
|
{
|
|
"name": "linux-clang-release",
|
|
"inherits": [
|
|
"linux-config",
|
|
"clang-config",
|
|
"release-config"
|
|
],
|
|
"displayName": "EXPERIMENTAL - [Release] Linux (Clang)",
|
|
"description": "Create a release build using the Clang toolchain for Linux",
|
|
"binaryDir": "${sourceDir}/build/clang-release"
|
|
},
|
|
{
|
|
"name": "linux-gnu-debug",
|
|
"inherits": [
|
|
"linux-config",
|
|
"gnu-config",
|
|
"debug-config"
|
|
],
|
|
"displayName": "[Debug] Linux (GNU)",
|
|
"description": "Create a debug build using the GNU toolchain for Linux",
|
|
"binaryDir": "${sourceDir}/build/gnu-debug"
|
|
},
|
|
{
|
|
"name": "linux-gnu-relwithdebinfo",
|
|
"inherits": [
|
|
"linux-config",
|
|
"gnu-config",
|
|
"relwithdebinfo-config"
|
|
],
|
|
"displayName": "[RelWithDebInfo] Linux (GNU)",
|
|
"description": "Create a release build with debug info using the GNU toolchain for Linux",
|
|
"binaryDir": "${sourceDir}/build/gnu-relwithdebinfo"
|
|
},
|
|
{
|
|
"name": "linux-gnu-release",
|
|
"inherits": [
|
|
"linux-config",
|
|
"gnu-config",
|
|
"release-config"
|
|
],
|
|
"displayName": "[Release] Linux (GNU)",
|
|
"description": "Create a release build using the GNU toolchain for Linux",
|
|
"binaryDir": "${sourceDir}/build/gnu-release"
|
|
},
|
|
{
|
|
"name": "macos",
|
|
"inherits": "default",
|
|
"displayName": "[Multi] MacOS",
|
|
"description": "Create a build for MacOS",
|
|
"condition": {
|
|
"type": "equals",
|
|
"lhs": "${hostSystemName}",
|
|
"rhs": "Darwin"
|
|
},
|
|
"binaryDir": "${sourceDir}/build/macos"
|
|
}
|
|
],
|
|
"buildPresets": [
|
|
{
|
|
"name": "default",
|
|
"configurePreset": "default",
|
|
"displayName": "Default Build",
|
|
"description": "Default Build",
|
|
"jobs": 2
|
|
},
|
|
{
|
|
"name": "windows-msvc-debug",
|
|
"inherits": "default",
|
|
"configurePreset": "windows-msvc",
|
|
"displayName": "[Debug] Windows (MSVC)",
|
|
"description": "This preset is used to build in debug mode using the MSVC toolchain on Windows",
|
|
"configuration": "Debug"
|
|
},
|
|
{
|
|
"name": "windows-msvc-relwithdebinfo",
|
|
"inherits": "default",
|
|
"configurePreset": "windows-msvc",
|
|
"displayName": "[RelWithDebInfo] Windows (MSVC)",
|
|
"description": "This preset is used to build in debug mode using the MSVC toolchain on Windows",
|
|
"configuration": "RelWithDebInfo"
|
|
},
|
|
{
|
|
"name": "windows-msvc-release",
|
|
"inherits": "default",
|
|
"configurePreset": "windows-msvc",
|
|
"displayName": "[Release] Windows (MSVC)",
|
|
"description": "This preset is used to build in release mode using the MSVC toolchain on Windows",
|
|
"configuration": "Release"
|
|
},
|
|
{
|
|
"name": "linux-clang-debug",
|
|
"inherits": "default",
|
|
"configurePreset": "linux-clang-debug",
|
|
"displayName": "EXPERIMENTAL - [Debug] Linux (Clang)",
|
|
"description": "This preset is used to build in debug mode using the Clang toolchain on Linux",
|
|
"configuration": "Debug"
|
|
},
|
|
{
|
|
"name": "linux-clang-relwithdebinfo",
|
|
"inherits": "default",
|
|
"configurePreset": "linux-clang-relwithdebinfo",
|
|
"displayName": "EXPERIMENTAL - [RelWithDebInfo] Linux (Clang)",
|
|
"description": "This preset is used to build in release mode with debug info using the Clang toolchain on Linux",
|
|
"configuration": "RelWithDebInfo"
|
|
},
|
|
{
|
|
"name": "linux-clang-release",
|
|
"inherits": "default",
|
|
"configurePreset": "linux-clang-release",
|
|
"displayName": "EXPERIMENTAL - [Release] Linux (Clang)",
|
|
"description": "This preset is used to build in release mode using the Clang toolchain on Linux",
|
|
"configuration": "Release"
|
|
},
|
|
{
|
|
"name": "linux-gnu-debug",
|
|
"inherits": "default",
|
|
"configurePreset": "linux-gnu-debug",
|
|
"displayName": "[Debug] Linux (GNU)",
|
|
"description": "This preset is used to build in debug mode using the GNU toolchain on Linux",
|
|
"configuration": "Debug"
|
|
},
|
|
{
|
|
"name": "linux-gnu-relwithdebinfo",
|
|
"inherits": "default",
|
|
"configurePreset": "linux-gnu-relwithdebinfo",
|
|
"displayName": "[RelWithDebInfo] Linux (GNU)",
|
|
"description": "This preset is used to build in release mode with debug info using the GNU toolchain on Linux",
|
|
"configuration": "RelWithDebInfo"
|
|
},
|
|
{
|
|
"name": "linux-gnu-release",
|
|
"inherits": "default",
|
|
"configurePreset": "linux-gnu-release",
|
|
"displayName": "[Release] Linux (GNU)",
|
|
"description": "This preset is used to build in release mode using the GNU toolchain on Linux",
|
|
"configuration": "Release"
|
|
},
|
|
{
|
|
"name": "macos-debug",
|
|
"inherits": "default",
|
|
"configurePreset": "macos",
|
|
"displayName": "[Debug] MacOS",
|
|
"description": "This preset is used to build in debug mode on MacOS",
|
|
"configuration": "Debug"
|
|
},
|
|
{
|
|
"name": "macos-relwithdebinfo",
|
|
"inherits": "default",
|
|
"configurePreset": "macos",
|
|
"displayName": "[RelWithDebInfo] MacOS",
|
|
"description": "This preset is used to build in release mode with debug info on MacOS",
|
|
"configuration": "RelWithDebInfo"
|
|
},
|
|
{
|
|
"name": "macos-release",
|
|
"inherits": "default",
|
|
"configurePreset": "macos",
|
|
"displayName": "[Release] MacOS",
|
|
"description": "This preset is used to build in release mode on MacOS",
|
|
"configuration": "Release"
|
|
}
|
|
],
|
|
"testPresets": [
|
|
{
|
|
"name": "default",
|
|
"configurePreset": "default",
|
|
"execution": {
|
|
"jobs": 2
|
|
},
|
|
"output": {
|
|
"outputOnFailure": true
|
|
}
|
|
},
|
|
{
|
|
"name": "windows-msvc-test",
|
|
"inherits": "default",
|
|
"configurePreset": "windows-msvc",
|
|
"hidden": true,
|
|
"filter": {
|
|
"exclude": {
|
|
"name": "((example)|(minigzip))+"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "windows-msvc-debug",
|
|
"inherits": "windows-msvc-test",
|
|
"configurePreset": "windows-msvc",
|
|
"displayName": "[Debug] Windows (MSVC)",
|
|
"description": "Runs all tests on a Windows configuration",
|
|
"configuration": "Debug"
|
|
},
|
|
{
|
|
"name": "windows-msvc-relwithdebinfo",
|
|
"inherits": "windows-msvc-test",
|
|
"configurePreset": "windows-msvc",
|
|
"displayName": "[RelWithDebInfo] Windows (MSVC)",
|
|
"description": "Runs all tests on a Windows configuration",
|
|
"configuration": "RelWithDebInfo"
|
|
},
|
|
{
|
|
"name": "windows-msvc-release",
|
|
"inherits": "windows-msvc-test",
|
|
"configurePreset": "windows-msvc",
|
|
"displayName": "[Release] Windows (MSVC)",
|
|
"description": "Runs all tests on a Windows configuration",
|
|
"configuration": "Release"
|
|
},
|
|
{
|
|
"name": "linux-clang-debug",
|
|
"inherits": "default",
|
|
"configurePreset": "linux-clang-debug",
|
|
"displayName": "EXPERIMENTAL - [Debug] Linux (Clang)",
|
|
"description": "Runs all tests on a Linux Clang configuration",
|
|
"configuration": "Release"
|
|
},
|
|
{
|
|
"name": "linux-clang-relwithdebinfo",
|
|
"inherits": "default",
|
|
"configurePreset": "linux-clang-relwithdebinfo",
|
|
"displayName": "EXPERIMENTAL - [RelWithDebInfo] Linux (Clang)",
|
|
"description": "Runs all tests on a Linux Clang configuration",
|
|
"configuration": "RelWithDebInfo"
|
|
},
|
|
{
|
|
"name": "linux-clang-release",
|
|
"inherits": "default",
|
|
"configurePreset": "linux-clang-release",
|
|
"displayName": "EXPERIMENTAL - [Release] Linux (Clang)",
|
|
"description": "Runs all tests on a Linux Clang configuration",
|
|
"configuration": "Release"
|
|
},
|
|
{
|
|
"name": "linux-gnu-debug",
|
|
"inherits": "default",
|
|
"configurePreset": "linux-gnu-debug",
|
|
"displayName": "[Debug] Linux (GNU)",
|
|
"description": "Runs all tests on a Linux GNU configuration",
|
|
"configuration": "Release"
|
|
},
|
|
{
|
|
"name": "linux-gnu-relwithdebinfo",
|
|
"inherits": "default",
|
|
"configurePreset": "linux-gnu-relwithdebinfo",
|
|
"displayName": "[RelWithDebInfo] Linux (GNU)",
|
|
"description": "Runs all tests on a Linux GNU configuration",
|
|
"configuration": "RelWithDebInfo"
|
|
},
|
|
{
|
|
"name": "linux-gnu-release",
|
|
"inherits": "default",
|
|
"configurePreset": "linux-gnu-release",
|
|
"displayName": "[Release] Linux (GNU)",
|
|
"description": "Runs all tests on a Linux GNU configuration",
|
|
"configuration": "Release"
|
|
},
|
|
{
|
|
"name": "macos-debug",
|
|
"inherits": "default",
|
|
"configurePreset": "macos",
|
|
"displayName": "[Debug] MacOS",
|
|
"description": "Runs all tests on a MacOS configuration",
|
|
"configuration": "Debug"
|
|
},
|
|
{
|
|
"name": "macos-relwithdebinfo",
|
|
"inherits": "default",
|
|
"configurePreset": "macos",
|
|
"displayName": "[RelWithDebInfo] MacOS",
|
|
"description": "Runs all tests on a MacOS configuration",
|
|
"configuration": "RelWithDebInfo"
|
|
},
|
|
{
|
|
"name": "macos-release",
|
|
"inherits": "default",
|
|
"configurePreset": "macos",
|
|
"displayName": "[Release] MacOS",
|
|
"description": "Runs all tests on a MacOS configuration",
|
|
"configuration": "Release"
|
|
}
|
|
],
|
|
"workflowPresets": [
|
|
{
|
|
"name": "default",
|
|
"steps": [
|
|
{
|
|
"type": "configure",
|
|
"name": "default"
|
|
},
|
|
{
|
|
"type": "build",
|
|
"name": "default"
|
|
},
|
|
{
|
|
"type": "test",
|
|
"name": "default"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "windows-msvc-debug",
|
|
"displayName": "[Debug] Windows (MSVC)",
|
|
"description": "MSVC debug workflow preset for Windows",
|
|
"steps": [
|
|
{
|
|
"type": "configure",
|
|
"name": "windows-msvc"
|
|
},
|
|
{
|
|
"type": "build",
|
|
"name": "windows-msvc-debug"
|
|
},
|
|
{
|
|
"type": "test",
|
|
"name": "windows-msvc-debug"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "windows-msvc-relwithdebinfo",
|
|
"displayName": "[RelWithDebInfo] Windows (MSVC)",
|
|
"description": "MSVC release with debug info workflow preset for Windows",
|
|
"steps": [
|
|
{
|
|
"type": "configure",
|
|
"name": "windows-msvc"
|
|
},
|
|
{
|
|
"type": "build",
|
|
"name": "windows-msvc-relwithdebinfo"
|
|
},
|
|
{
|
|
"type": "test",
|
|
"name": "windows-msvc-relwithdebinfo"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "ci-windows-2022",
|
|
"displayName": "[Release] Windows (MSVC)",
|
|
"description": "CI workflow preset for Windows",
|
|
"steps": [
|
|
{
|
|
"type": "configure",
|
|
"name": "windows-msvc"
|
|
},
|
|
{
|
|
"type": "build",
|
|
"name": "windows-msvc-release"
|
|
},
|
|
{
|
|
"type": "test",
|
|
"name": "windows-msvc-release"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "linux-gnu-debug",
|
|
"displayName": "[Debug] Linux (GNU)",
|
|
"description": "GNU debug workflow preset for Linux",
|
|
"steps": [
|
|
{
|
|
"type": "configure",
|
|
"name": "linux-gnu-debug"
|
|
},
|
|
{
|
|
"type": "build",
|
|
"name": "linux-gnu-debug"
|
|
},
|
|
{
|
|
"type": "test",
|
|
"name": "linux-gnu-debug"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "linux-gnu-relwithdebinfo",
|
|
"displayName": "[RelWithDebInfo] Linux (GNU)",
|
|
"description": "GNU release with debug info workflow preset for Linux",
|
|
"steps": [
|
|
{
|
|
"type": "configure",
|
|
"name": "linux-gnu-relwithdebinfo"
|
|
},
|
|
{
|
|
"type": "build",
|
|
"name": "linux-gnu-relwithdebinfo"
|
|
},
|
|
{
|
|
"type": "test",
|
|
"name": "linux-gnu-relwithdebinfo"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "ci-ubuntu-22.04",
|
|
"displayName": "[Release] Linux (GNU)",
|
|
"description": "CI workflow preset for Ubuntu",
|
|
"steps": [
|
|
{
|
|
"type": "configure",
|
|
"name": "linux-gnu-release"
|
|
},
|
|
{
|
|
"type": "build",
|
|
"name": "linux-gnu-release"
|
|
},
|
|
{
|
|
"type": "test",
|
|
"name": "linux-gnu-release"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "linux-clang-debug",
|
|
"displayName": "EXPERIMENTAL - [Debug] Linux (Clang)",
|
|
"description": "Clang debug workflow preset for Linux",
|
|
"steps": [
|
|
{
|
|
"type": "configure",
|
|
"name": "linux-clang-debug"
|
|
},
|
|
{
|
|
"type": "build",
|
|
"name": "linux-clang-debug"
|
|
},
|
|
{
|
|
"type": "test",
|
|
"name": "linux-clang-debug"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "linux-clang-relwithdebinfo",
|
|
"displayName": "EXPERIMENTAL - [RelWithDebInfo] Linux (Clang)",
|
|
"description": "Clang release with debug info workflow preset for Linux",
|
|
"steps": [
|
|
{
|
|
"type": "configure",
|
|
"name": "linux-clang-relwithdebinfo"
|
|
},
|
|
{
|
|
"type": "build",
|
|
"name": "linux-clang-relwithdebinfo"
|
|
},
|
|
{
|
|
"type": "test",
|
|
"name": "linux-clang-relwithdebinfo"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "linux-clang-release",
|
|
"displayName": "EXPERIMENTAL - [Release] Linux (Clang)",
|
|
"description": "Clang release workflow preset for Linux",
|
|
"steps": [
|
|
{
|
|
"type": "configure",
|
|
"name": "linux-clang-release"
|
|
},
|
|
{
|
|
"type": "build",
|
|
"name": "linux-clang-release"
|
|
},
|
|
{
|
|
"type": "test",
|
|
"name": "linux-clang-release"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "macos-debug",
|
|
"displayName": "[Debug] MacOS",
|
|
"description": "Release workflow preset for MacOS",
|
|
"steps": [
|
|
{
|
|
"type": "configure",
|
|
"name": "macos"
|
|
},
|
|
{
|
|
"type": "build",
|
|
"name": "macos-debug"
|
|
},
|
|
{
|
|
"type": "test",
|
|
"name": "macos-debug"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "macos-relwithdebinfo",
|
|
"displayName": "[RelWithDebInfo] MacOS",
|
|
"description": "Release with debug info workflow preset for MacOS",
|
|
"steps": [
|
|
{
|
|
"type": "configure",
|
|
"name": "macos"
|
|
},
|
|
{
|
|
"type": "build",
|
|
"name": "macos-relwithdebinfo"
|
|
},
|
|
{
|
|
"type": "test",
|
|
"name": "macos-relwithdebinfo"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "ci-macos-13",
|
|
"displayName": "[Release] MacOS",
|
|
"description": "CI workflow preset for MacOS",
|
|
"steps": [
|
|
{
|
|
"type": "configure",
|
|
"name": "macos"
|
|
},
|
|
{
|
|
"type": "build",
|
|
"name": "macos-release"
|
|
},
|
|
{
|
|
"type": "test",
|
|
"name": "macos-release"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|