Remove user-specific clang configurations

Also replace zlib with zlib-ng
This commit is contained in:
Jettford 2024-12-04 22:38:05 +00:00
parent 430f701fa3
commit 32f11c3d91
3 changed files with 133 additions and 690 deletions

2
.gitignore vendored
View File

@ -112,6 +112,8 @@ CMakeFiles/TargetDirectories.txt
*.sln *.sln
*.recipe *.recipe
CMakeUserPresets.json
# clangd # clangd
.cache .cache
thirdparty/zlib-1.2.11/ thirdparty/zlib-1.2.11/

View File

@ -1,697 +1,136 @@
{ {
"version": 6, "version": 6,
"cmakeMinimumRequired": { "cmakeMinimumRequired": {
"major": 3, "major": 3,
"minor": 25, "minor": 25,
"patch": 0 "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",
"hidden": true
}, },
"configurePresets": [ {
{ "name": "windows-default",
"name": "default", "inherits": "default",
"displayName": "Default configure step", "displayName": "Windows Default Configure Settings",
"description": "Use 'build' dir and Unix makefiles", "description": "Sets build and install directories",
"binaryDir": "${sourceDir}/build", "generator": "Visual Studio 17 2022",
"generator": "Unix Makefiles" "condition": {
}, "type": "equals",
{ "lhs": "${hostSystemName}",
"name": "debug-config", "rhs": "Windows"
"hidden": true, },
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug" "hidden": true
} },
}, {
{ "name": "windows-msvc",
"name": "relwithdebinfo-config", "inherits": "windows-default",
"hidden": true, "displayName": "Windows (MSVC)",
"cacheVariables": { "description": "Create a build using MSVC",
"CMAKE_BUILD_TYPE": "RelWithDebInfo" "binaryDir": "${sourceDir}/build/msvc"
} },
}, {
{ "name": "windows-clang",
"name": "release-config", "inherits": "windows-default",
"hidden": true, "displayName": "EXPERIMENTAL - Windows (Clang)",
"cacheVariables": { "description": "Create a build using Clang",
"CMAKE_BUILD_TYPE": "Release" "binaryDir": "${sourceDir}/build/windows-clang",
} "toolset": "ClangCL"
}, },
{
"name": "clang-config", {
"hidden": true, "name": "linux-default",
"toolchainFile": "${sourceDir}/cmake/toolchains/linux-clang.cmake" "inherits": "default",
}, "hidden": true,
{ "condition": {
"name": "gnu-config", "type": "equals",
"hidden": true, "lhs": "${hostSystemName}",
"toolchainFile": "${sourceDir}/cmake/toolchains/linux-gnu.cmake" "rhs": "Linux"
}, }
{ },
"name": "windows-msvc", {
"inherits": "default", "name": "linux-clang",
"displayName": "[Multi] Windows (MSVC)", "inherits": "linux-default",
"description": "Set architecture to 64-bit (b/c RakNet)",
"generator": "Visual Studio 17 2022", "toolchainFile": "${sourceDir}/cmake/toolchains/linux-clang.cmake",
"binaryDir": "${sourceDir}/build/msvc",
"architecture": { "displayName": "Linux (Clang)",
"value": "x64" "description": "Create a build using the Clang toolchain for Linux",
}, "binaryDir": "${sourceDir}/build/linux-clang"
"condition": { },
"type": "equals", {
"lhs": "${hostSystemName}", "name": "linux-gnu",
"rhs": "Windows" "inherits": "linux-default",
}
}, "toolchainFile": "${sourceDir}/cmake/toolchains/linux-gnu.cmake",
{
"name": "windows-default", "displayName": "Linux (GNU)",
"inherits": "windows-msvc", "description": "Create a build using the GNU toolchain for Linux",
"displayName": "Windows only Configure Settings", "binaryDir": "${sourceDir}/build/gnu"
"description": "Sets build and install directories", },
"generator": "Ninja", {
"condition": { "name": "macos",
"type": "equals", "inherits": "default",
"lhs": "${hostSystemName}", "displayName": "MacOS",
"rhs": "Windows" "description": "Create a build for MacOS",
}, "condition": {
"architecture": { "type": "equals",
"value": "x64" "lhs": "${hostSystemName}",
} "rhs": "Darwin"
}, },
{ "binaryDir": "${sourceDir}/build/macos"
"name": "windows-msvc-clang", }
"inherits": [ ],
"windows-msvc", "testPresets": [
"clang-config" {
], "name": "default",
"displayName": "EXPERIMENTAL - [Multi] Windows (MSVC - Clang)", "configurePreset": "default",
"description": "Create a build using the Clang toolchain for MSVC", "execution": {
"binaryDir": "${sourceDir}/build/msvc-clang", "jobs": 2
"toolset": "ClangCL" },
}, "output": {
{ "outputOnFailure": true
"name": "linux-config", }
"inherits": "default", },
"hidden": true, {
"condition": { "name": "windows-msvc-test",
"type": "equals", "inherits": "default",
"lhs": "${hostSystemName}", "configurePreset": "windows-msvc",
"rhs": "Linux" "hidden": true,
} "filter": {
}, "exclude": {
{ "name": "((example)|(minigzip))+"
"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": [ }
],
"workflowPresets": [
{
"name": "default",
"steps": [
{ {
"name": "default", "type": "configure",
"configurePreset": "default", "name": "default"
"displayName": "Default Build",
"description": "Default Build",
"jobs": 2
}, },
{ {
"name": "windows-msvc-debug", "type": "build",
"inherits": "default", "name": "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", "type": "test",
"inherits": "default", "name": "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": "windows-msvc-clang-debug",
"inherits": "default",
"configurePreset": "windows-msvc-clang",
"displayName": "EXPERIMENTAL - [Debug] Windows (MSVC - Clang)",
"description": "This preset is used to build in debug mode using the Clang toolchain on Windows MSVC",
"configuration": "Debug"
},
{
"name": "windows-msvc-clang-relwithdebinfo",
"inherits": "default",
"configurePreset": "windows-msvc-clang",
"displayName": "EXPERIMENTAL - [RelWithDebInfo] Windows (MSVC - Clang)",
"description": "This preset is used to build in debug mode using the Clang toolchain on Windows MSVC",
"configuration": "RelWithDebInfo"
},
{
"name": "windows-msvc-clang-release",
"inherits": "default",
"configurePreset": "windows-msvc-clang",
"displayName": "EXPERIMENTAL - [Release] Windows (MSVC - Clang)",
"description": "This preset is used to build in release mode using the Clang toolchain on Windows MSVC",
"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": "windows-msvc-clang-debug",
"inherits": "windows-msvc-test",
"configurePreset": "windows-msvc-clang",
"displayName": "EXPERIMENTAL - [Debug] Windows (MSVC - Clang)",
"description": "Runs all tests on a Windows Clang configuration",
"configuration": "Debug"
},
{
"name": "windows-msvc-clang-relwithdebinfo",
"inherits": "windows-msvc-test",
"configurePreset": "windows-msvc-clang",
"displayName": "EXPERIMENTAL - [RelWithDebInfo] Windows (MSVC - Clang)",
"description": "Runs all tests on a Windows Clang configuration",
"configuration": "RelWithDebInfo"
},
{
"name": "windows-msvc-clang-release",
"inherits": "windows-msvc-test",
"configurePreset": "windows-msvc-clang",
"displayName": "EXPERIMENTAL - [Release] Windows (MSVC - Clang)",
"description": "Runs all tests on a Windows Clang 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"
}
]
}
]
} }

View File

@ -44,11 +44,14 @@ if (UNIX)
elseif (WIN32) elseif (WIN32)
include(FetchContent) include(FetchContent)
set(WITH_GTEST OFF CACHE BOOL "" FORCE)
set(ZLIB_ENABLE_TESTS OFF CACHE BOOL "" FORCE)
# TODO Keep an eye on the zlib repository for an update to disable testing. Don't forget to update CMakePresets # TODO Keep an eye on the zlib repository for an update to disable testing. Don't forget to update CMakePresets
FetchContent_Declare( FetchContent_Declare(
zlib zlib
URL https://github.com/madler/zlib/archive/refs/tags/v1.2.11.zip URL https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.2.2.zip
URL_HASH MD5=9d6a627693163bbbf3f26403a3a0b0b1 URL_HASH MD5=2cf9199fb785ea579a2a9905a75c38b3
) )
# Disable warning about no project version. # Disable warning about no project version.
@ -59,7 +62,6 @@ elseif (WIN32)
FetchContent_MakeAvailable(zlib) FetchContent_MakeAvailable(zlib)
set(ZLIB_INCLUDE_DIRS ${zlib_SOURCE_DIR} ${zlib_BINARY_DIR}) set(ZLIB_INCLUDE_DIRS ${zlib_SOURCE_DIR} ${zlib_BINARY_DIR})
set_target_properties(zlib PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${ZLIB_INCLUDE_DIRS}")
add_library(ZLIB::ZLIB ALIAS zlib) add_library(ZLIB::ZLIB ALIAS zlib)
else () else ()
message( message(