fix clang

This commit is contained in:
David Markowitz 2024-12-03 11:58:36 -08:00
parent 218a3f2d0d
commit 3bd9180e98
3 changed files with 117 additions and 109 deletions

View File

@ -84,7 +84,14 @@ if(UNIX)
elseif(MSVC) elseif(MSVC)
# Skip warning for invalid conversion from size_t to uint32_t for all targets below for now # Skip warning for invalid conversion from size_t to uint32_t for all targets below for now
# Also disable non-portable MSVC volatile behavior # Also disable non-portable MSVC volatile behavior
add_compile_options("/wd4267" "/utf-8" "/volatile:iso" "/Zc:inline") add_compile_options("/wd4267" "/utf-8" "/volatile:iso" "/Zc:inline" "/D_CRT_NONSTDC_NO_WARNINGS")
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options("-Wno-error=implicit-function-declaration")
add_compile_options("-Wno-error=int-conversion")
add_compile_options("-fno-lto")
add_compile_options("-ferror-limit=0")
MESSAGE(STATUS "HELLO")
endif()
elseif(WIN32) elseif(WIN32)
add_compile_definitions(_CRT_SECURE_NO_WARNINGS) add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
endif() endif()

View File

@ -47,124 +47,131 @@
"hidden": true, "hidden": true,
"toolchainFile": "${sourceDir}/cmake/toolchains/linux-gnu.cmake" "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"
},
"vendor": {
"microsoft.com/VisualStudioSettings/CMake/1.0": {
"intelliSenseMode": "windows-clang-x64"
}
},
"toolset": "ClangCL"
},
{ {
"name": "windows-msvc", "name": "windows-default",
"inherits": "default", "inherits": "windows-msvc",
"displayName": "[Multi] Windows (MSVC)", "displayName": "Windows only Configure Settings",
"description": "Set architecture to 64-bit (b/c RakNet)", "description": "Sets build and install directories",
"generator": "Visual Studio 17 2022", "generator": "Ninja",
"binaryDir": "${sourceDir}/build/msvc", "condition": {
"architecture": { "type": "equals",
"value": "x64" "lhs": "${hostSystemName}",
}, "rhs": "Windows"
"condition": { },
"type": "equals", "architecture": {
"lhs": "${hostSystemName}", "value": "x64"
"rhs": "Windows" }
}
}, },
{ {
"name": "windows-default", "name": "linux-config",
"inherits": "windows-msvc", "inherits": "default",
"displayName": "Windows only Configure Settings", "hidden": true,
"description": "Sets build and install directories", "condition": {
"generator": "Ninja", "type": "equals",
"condition": { "lhs": "${hostSystemName}",
"type": "equals", "rhs": "Linux"
"lhs": "${hostSystemName}", }
"rhs": "Windows"
},
"architecture": {
"value": "x64"
}
}, },
{ {
"name": "linux-config", "name": "linux-clang-debug",
"inherits": "default", "inherits": [
"hidden": true, "linux-config",
"condition": { "clang-config",
"type": "equals", "debug-config"
"lhs": "${hostSystemName}", ],
"rhs": "Linux" "displayName": "EXPERIMENTAL - [Debug] Linux (Clang)",
} "description": "Create a debug build using the Clang toolchain for Linux",
"binaryDir": "${sourceDir}/build/clang-debug"
}, },
{ {
"name": "linux-clang-debug", "name": "linux-clang-relwithdebinfo",
"inherits": [ "inherits": [
"linux-config", "linux-config",
"clang-config", "clang-config",
"debug-config" "relwithdebinfo-config"
], ],
"displayName": "EXPERIMENTAL - [Debug] Linux (Clang)", "displayName": "EXPERIMENTAL - [RelWithDebInfo] Linux (Clang)",
"description": "Create a debug build using the Clang toolchain for Linux", "description": "Create a release build with debug info using the Clang toolchain for Linux",
"binaryDir": "${sourceDir}/build/clang-debug" "binaryDir": "${sourceDir}/build/clang-relwithdebinfo"
}, },
{ {
"name": "linux-clang-relwithdebinfo", "name": "linux-clang-release",
"inherits": [ "inherits": [
"linux-config", "linux-config",
"clang-config", "clang-config",
"relwithdebinfo-config" "release-config"
], ],
"displayName": "EXPERIMENTAL - [RelWithDebInfo] Linux (Clang)", "displayName": "EXPERIMENTAL - [Release] Linux (Clang)",
"description": "Create a release build with debug info using the Clang toolchain for Linux", "description": "Create a release build using the Clang toolchain for Linux",
"binaryDir": "${sourceDir}/build/clang-relwithdebinfo" "binaryDir": "${sourceDir}/build/clang-release"
}, },
{ {
"name": "linux-clang-release", "name": "linux-gnu-debug",
"inherits": [ "inherits": [
"linux-config", "linux-config",
"clang-config", "gnu-config",
"release-config" "debug-config"
], ],
"displayName": "EXPERIMENTAL - [Release] Linux (Clang)", "displayName": "[Debug] Linux (GNU)",
"description": "Create a release build using the Clang toolchain for Linux", "description": "Create a debug build using the GNU toolchain for Linux",
"binaryDir": "${sourceDir}/build/clang-release" "binaryDir": "${sourceDir}/build/gnu-debug"
}, },
{ {
"name": "linux-gnu-debug", "name": "linux-gnu-relwithdebinfo",
"inherits": [ "inherits": [
"linux-config", "linux-config",
"gnu-config", "gnu-config",
"debug-config" "relwithdebinfo-config"
], ],
"displayName": "[Debug] Linux (GNU)", "displayName": "[RelWithDebInfo] Linux (GNU)",
"description": "Create a debug build using the GNU toolchain for Linux", "description": "Create a release build with debug info using the GNU toolchain for Linux",
"binaryDir": "${sourceDir}/build/gnu-debug" "binaryDir": "${sourceDir}/build/gnu-relwithdebinfo"
}, },
{ {
"name": "linux-gnu-relwithdebinfo", "name": "linux-gnu-release",
"inherits": [ "inherits": [
"linux-config", "linux-config",
"gnu-config", "gnu-config",
"relwithdebinfo-config" "release-config"
], ],
"displayName": "[RelWithDebInfo] Linux (GNU)", "displayName": "[Release] Linux (GNU)",
"description": "Create a release build with debug info using the GNU toolchain for Linux", "description": "Create a release build using the GNU toolchain for Linux",
"binaryDir": "${sourceDir}/build/gnu-relwithdebinfo" "binaryDir": "${sourceDir}/build/gnu-release"
}, },
{ {
"name": "linux-gnu-release", "name": "macos",
"inherits": [ "inherits": "default",
"linux-config", "displayName": "[Multi] MacOS",
"gnu-config", "description": "Create a build for MacOS",
"release-config" "condition": {
], "type": "equals",
"displayName": "[Release] Linux (GNU)", "lhs": "${hostSystemName}",
"description": "Create a release build using the GNU toolchain for Linux", "rhs": "Darwin"
"binaryDir": "${sourceDir}/build/gnu-release" },
}, "binaryDir": "${sourceDir}/build/macos"
{
"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": [ "buildPresets": [

View File

@ -14,10 +14,4 @@ target_include_directories(WorldServer PRIVATE
) )
target_link_libraries(WorldServer ${COMMON_LIBRARIES} target_link_libraries(WorldServer ${COMMON_LIBRARIES}
dScripts dScripts dGame dChatFilter dZoneManager dPhysics Detour Recast tinyxml2 dWorldServer dNavigation dServer)
dGameBase
dComponents
dUtilities
dGameMessages
dInventory
dGame dChatFilter dZoneManager dPhysics Detour Recast tinyxml2 dWorldServer dNavigation dServer)