mirror of
https://github.com/mehah/otclient
synced 2026-08-15 16:29:06 -04:00
Full Github Action Rework (GHA), so that builds are fixed: Windows, Linux, Docker; Review checks: C++, Lua, XML and others checks Complete Cmake Rework, modernized the code so that you can work with GHA. Removed: VCPKG Build Removed generated Files from file .gitignore (all build files are required for Cmake cache generation) Lib Lua5.1 was removed and maintained only Luajit (faster and better) Removed the "consoleapplication" file Removed the "lbitlib" file, after all, if the idea is the project to use updated Libs, why do we want files that bring compatibility to old Libs? I just updated the files to use the functions of the new LIBs Modified: The metadata of the Bitwise functions have been changed, now being in place of "bit32." is "bit." Protobuf will now be chased along with the client build, avoiding random errors related to Protobuf's version is different from the compiled file (this way, no matter if the repository file is outdated, as a new one will always be generated in a compilation from rebuild all) Modified the structure of some folders, such as "protobuf" and "cmake" folder, "protobuf" was sent to the src main folder and "cmake" to the client main folder Namespace protobuf changed from "tibia" to "otclient" Merged the files of the Protobuf "shared.proto and appearances.proto" in one (appearances) Added: Issue Template Pull Request Template Pull Request Labeller Check to inform that clang is not supported (it is possible to use docker on mac, this way we avoid headaches related to support for an OS that is practically not used) GHA: Codacy CodeQL Review dog SonarCloud Build docker Build Ubuntu Build Windows Cmake: Cmakepresets VCPKG Manifest Otcicon Client: Added the functions LuaInterface::registerTable and LuaInterface::registerMethod and Bitwise Functions (if necessary at some point compatibility with the Lua 5.1) Note: Some checks are failing as they should only work after the merge, they should be ignored, the main ones are ok Thanks to @costallat for for helping and assisting with addition of GHA and CMake build
102 lines
4.3 KiB
CMake
102 lines
4.3 KiB
CMake
#-------------------------------------------------------------------
|
|
# This file is part of the CMake build system for OGRE
|
|
# (Object-oriented Graphics Rendering Engine)
|
|
# For the latest info, see http://www.ogre3d.org/
|
|
#
|
|
# The contents of this file are placed in the public domain. Feel
|
|
# free to make use of it in any way you like.
|
|
#-------------------------------------------------------------------
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Find DirectX SDK
|
|
# Define:
|
|
# DirectX_FOUND
|
|
# DirectX_INCLUDE_DIR
|
|
# DirectX_LIBRARY
|
|
# DirectX_ROOT_DIR
|
|
|
|
if(WIN32) # The only platform it makes sense to check for DirectX SDK
|
|
include(FindPkgMacros)
|
|
findpkg_begin(DirectX)
|
|
|
|
# Get path, convert backslashes as ${ENV_DXSDK_DIR}
|
|
getenv_path(DXSDK_DIR)
|
|
getenv_path(DIRECTX_HOME)
|
|
getenv_path(DIRECTX_ROOT)
|
|
getenv_path(DIRECTX_BASE)
|
|
|
|
# construct search paths
|
|
set(DirectX_PREFIX_PATH
|
|
"${DXSDK_DIR}" "${ENV_DXSDK_DIR}"
|
|
"${DIRECTX_HOME}" "${ENV_DIRECTX_HOME}"
|
|
"${DIRECTX_ROOT}" "${ENV_DIRECTX_ROOT}"
|
|
"${DIRECTX_BASE}" "${ENV_DIRECTX_BASE}"
|
|
"C:/apps_x86/Microsoft DirectX SDK*"
|
|
"C:/Program Files (x86)/Microsoft DirectX SDK*"
|
|
"C:/apps/Microsoft DirectX SDK*"
|
|
"C:/Program Files/Microsoft DirectX SDK*"
|
|
"$ENV{ProgramFiles}/Microsoft DirectX SDK*"
|
|
)
|
|
create_search_paths(DirectX)
|
|
# redo search if prefix path changed
|
|
clear_if_changed(DirectX_PREFIX_PATH
|
|
DirectX_LIBRARY
|
|
DirectX_INCLUDE_DIR
|
|
)
|
|
|
|
find_path(DirectX_INCLUDE_DIR NAMES d3d9.h HINTS ${DirectX_INC_SEARCH_PATH})
|
|
# dlls are in DirectX_ROOT_DIR/Developer Runtime/x64|x86
|
|
# lib files are in DirectX_ROOT_DIR/Lib/x64|x86
|
|
if(CMAKE_CL_64)
|
|
set(DirectX_LIBPATH_SUFFIX "x64")
|
|
else(CMAKE_CL_64)
|
|
set(DirectX_LIBPATH_SUFFIX "x86")
|
|
endif(CMAKE_CL_64)
|
|
find_library(DirectX_LIBRARY NAMES d3d9 HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
|
|
find_library(DirectX_D3DX9_LIBRARY NAMES d3dx9 HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
|
|
find_library(DirectX_DXERR_LIBRARY NAMES DxErr HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
|
|
find_library(DirectX_DXGUID_LIBRARY NAMES dxguid HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
|
|
find_library(DirectX_DINPUT8_LIBRARY NAMES dinput8 HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
|
|
find_library(DirectX_XINPUT_LIBRARY NAMES xinput HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
|
|
|
|
# look for dxgi (needed by both 10 and 11)
|
|
find_library(DirectX_DXGI_LIBRARY NAMES dxgi HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
|
|
|
|
# look for d3dcompiler (needed by 11)
|
|
find_library(DirectX_D3DCOMPILER_LIBRARY NAMES d3dcompiler HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
|
|
|
|
findpkg_finish(DirectX)
|
|
set(DirectX_LIBRARIES ${DirectX_LIBRARIES}
|
|
${DirectX_D3DX9_LIBRARY}
|
|
${DirectX_DXERR_LIBRARY}
|
|
${DirectX_DXGUID_LIBRARY}
|
|
${DirectX_DINPUT8_LIBRARY}
|
|
)
|
|
|
|
mark_as_advanced(DirectX_D3DX9_LIBRARY DirectX_DXERR_LIBRARY DirectX_DXGUID_LIBRARY
|
|
DirectX_DXGI_LIBRARY DirectX_D3DCOMPILER_LIBRARY
|
|
DirectX_DINPUT8_LIBRARY DirectX_XINPUT_LIBRARY)
|
|
|
|
# look for D3D11 components
|
|
if (DirectX_FOUND)
|
|
find_path(DirectX_D3D11_INCLUDE_DIR NAMES D3D11Shader.h HINTS ${DirectX_INC_SEARCH_PATH})
|
|
get_filename_component(DirectX_LIBRARY_DIR "${DirectX_LIBRARY}" PATH)
|
|
message(STATUS "DX lib dir: ${DirectX_LIBRARY_DIR}")
|
|
find_library(DirectX_D3D11_LIBRARY NAMES d3d11 HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
|
|
find_library(DirectX_D3DX11_LIBRARY NAMES d3dx11 HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
|
|
if (DirectX_D3D11_INCLUDE_DIR AND DirectX_D3D11_LIBRARY)
|
|
set(DirectX_D3D11_FOUND TRUE)
|
|
set(DirectX_D3D11_INCLUDE_DIR ${DirectX_D3D11_INCLUDE_DIR})
|
|
set(DirectX_D3D11_LIBRARIES ${DirectX_D3D11_LIBRARIES}
|
|
${DirectX_D3D11_LIBRARY}
|
|
${DirectX_D3DX11_LIBRARY}
|
|
${DirectX_DXGI_LIBRARY}
|
|
${DirectX_DXERR_LIBRARY}
|
|
${DirectX_DXGUID_LIBRARY}
|
|
${DirectX_D3DCOMPILER_LIBRARY}
|
|
)
|
|
endif ()
|
|
mark_as_advanced(DirectX_D3D11_INCLUDE_DIR DirectX_D3D11_LIBRARY DirectX_D3DX11_LIBRARY)
|
|
endif ()
|
|
|
|
endif(WIN32)
|