mirror of
https://git.neolegacy.dev/neoStudiosLCE/neoLegacy.git
synced 2026-07-15 18:42:34 +00:00
fix: builds on linux and incorrect map colors
This commit is contained in:
@@ -1,5 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.24)
|
cmake_minimum_required(VERSION 3.24)
|
||||||
cmake_policy(SET CMP0057 NEW)
|
|
||||||
|
|
||||||
project(LCE-Revelations LANGUAGES C CXX RC ASM_MASM)
|
project(LCE-Revelations LANGUAGES C CXX RC ASM_MASM)
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
@@ -14,11 +13,6 @@ if(NOT CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|||||||
message(FATAL_ERROR "Use a 64-bit generator/toolchain (x64).")
|
message(FATAL_ERROR "Use a 64-bit generator/toolchain (x64).")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(LCE_XWIN_CROSS_DEBUG_COMPAT OFF)
|
|
||||||
if(CMAKE_CROSSCOMPILING AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
|
||||||
set(LCE_XWIN_CROSS_DEBUG_COMPAT ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(CMAKE_CONFIGURATION_TYPES
|
set(CMAKE_CONFIGURATION_TYPES
|
||||||
"Debug"
|
"Debug"
|
||||||
"Release"
|
"Release"
|
||||||
@@ -26,11 +20,7 @@ set(CMAKE_CONFIGURATION_TYPES
|
|||||||
)
|
)
|
||||||
|
|
||||||
if(NOT DEFINED CMAKE_MSVC_RUNTIME_LIBRARY)
|
if(NOT DEFINED CMAKE_MSVC_RUNTIME_LIBRARY)
|
||||||
if(CMAKE_CROSSCOMPILING AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
|
||||||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded")
|
|
||||||
else()
|
|
||||||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
function(configure_compiler_target target)
|
function(configure_compiler_target target)
|
||||||
@@ -82,9 +72,7 @@ endfunction()
|
|||||||
set(MINECRAFT_SHARED_DEFINES
|
set(MINECRAFT_SHARED_DEFINES
|
||||||
_LARGE_WORLDS
|
_LARGE_WORLDS
|
||||||
_DEBUG_MENUS_ENABLED
|
_DEBUG_MENUS_ENABLED
|
||||||
$<$<AND:$<CONFIG:Debug>,$<NOT:$<BOOL:${LCE_XWIN_CROSS_DEBUG_COMPAT}>>>:_DEBUG>
|
$<$<CONFIG:Debug>:_DEBUG>
|
||||||
$<$<AND:$<CONFIG:Debug>,$<BOOL:${LCE_XWIN_CROSS_DEBUG_COMPAT}>>:_ITERATOR_DEBUG_LEVEL=0>
|
|
||||||
$<$<AND:$<CONFIG:Debug>,$<BOOL:${LCE_XWIN_CROSS_DEBUG_COMPAT}>>:_HAS_ITERATOR_DEBUGGING=0>
|
|
||||||
_CRT_NON_CONFORMING_SWPRINTFS
|
_CRT_NON_CONFORMING_SWPRINTFS
|
||||||
_CRT_SECURE_NO_WARNINGS
|
_CRT_SECURE_NO_WARNINGS
|
||||||
_HAS_STD_BYTE=0
|
_HAS_STD_BYTE=0
|
||||||
|
|||||||
@@ -75,18 +75,12 @@ if(PLATFORM_NAME STREQUAL "Windows64")
|
|||||||
target_link_options(Minecraft.Client PRIVATE $<$<CONFIG:Release>:/DEBUG /OPT:REF /OPT:ICF>)
|
target_link_options(Minecraft.Client PRIVATE $<$<CONFIG:Release>:/DEBUG /OPT:REF /OPT:ICF>)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(MINECRAFT_CLIENT_USE_4J_DEBUG_LIBS TRUE)
|
|
||||||
if(CMAKE_CROSSCOMPILING AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
|
||||||
set(MINECRAFT_CLIENT_USE_4J_DEBUG_LIBS FALSE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set_target_properties(Minecraft.Client PROPERTIES
|
set_target_properties(Minecraft.Client PROPERTIES
|
||||||
OUTPUT_NAME "Minecraft.Client"
|
OUTPUT_NAME "Minecraft.Client"
|
||||||
VS_DEBUGGER_WORKING_DIRECTORY "$<TARGET_FILE_DIR:Minecraft.Client>"
|
VS_DEBUGGER_WORKING_DIRECTORY "$<TARGET_FILE_DIR:Minecraft.Client>"
|
||||||
)
|
)
|
||||||
|
|
||||||
if(MINECRAFT_CLIENT_USE_4J_DEBUG_LIBS)
|
target_link_libraries(Minecraft.Client PRIVATE
|
||||||
target_link_libraries(Minecraft.Client PRIVATE
|
|
||||||
Minecraft.World
|
Minecraft.World
|
||||||
d3d11
|
d3d11
|
||||||
dxgi
|
dxgi
|
||||||
@@ -99,22 +93,7 @@ if(MINECRAFT_CLIENT_USE_4J_DEBUG_LIBS)
|
|||||||
4JLibs.${PLATFORM_NAME}.Profile
|
4JLibs.${PLATFORM_NAME}.Profile
|
||||||
4JLibs.${PLATFORM_NAME}.Storage
|
4JLibs.${PLATFORM_NAME}.Storage
|
||||||
4JLibs.${PLATFORM_NAME}.Render
|
4JLibs.${PLATFORM_NAME}.Render
|
||||||
)
|
)
|
||||||
else()
|
|
||||||
target_link_libraries(Minecraft.Client PRIVATE
|
|
||||||
Minecraft.World
|
|
||||||
d3d11
|
|
||||||
dxgi
|
|
||||||
d3dcompiler
|
|
||||||
XInput9_1_0
|
|
||||||
wsock32
|
|
||||||
dbghelp
|
|
||||||
legacy_stdio_definitions
|
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/4JLibs/libs/4J_Input.lib"
|
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/4JLibs/libs/4J_Storage.lib"
|
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/4JLibs/libs/4J_Render_PC.lib"
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Iggy libs
|
# Iggy libs
|
||||||
foreach(lib IN LISTS IGGY_LIBS)
|
foreach(lib IN LISTS IGGY_LIBS)
|
||||||
@@ -172,4 +151,3 @@ add_copyredist_target(Minecraft.Client)
|
|||||||
if(PLATFORM_NAME STREQUAL "Windows64")
|
if(PLATFORM_NAME STREQUAL "Windows64")
|
||||||
add_gamehdd_target(Minecraft.Client)
|
add_gamehdd_target(Minecraft.Client)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|||||||
@@ -309,7 +309,7 @@ if __name__=="__main__": notecolors()
|
|||||||
<colour name="End_Fog_Colour" value="a080a0"/>
|
<colour name="End_Fog_Colour" value="a080a0"/>
|
||||||
|
|
||||||
<colour name="Sign_Text" value="000000"/>
|
<colour name="Sign_Text" value="000000"/>
|
||||||
<colour name="Map_Text" value="ff000000"/>
|
<colour name="Map_Text" value="000000"/>
|
||||||
|
|
||||||
<colour name="Leash_Light_Colour" value="80664d"/>
|
<colour name="Leash_Light_Colour" value="80664d"/>
|
||||||
<colour name="Leash_Dark_Colour" value="5a4736"/>
|
<colour name="Leash_Dark_Colour" value="5a4736"/>
|
||||||
|
|||||||
@@ -31,14 +31,20 @@ check_deps() {
|
|||||||
|
|
||||||
fetch_winsdk() {
|
fetch_winsdk() {
|
||||||
local splat_dir="$XWIN_CACHE/splat"
|
local splat_dir="$XWIN_CACHE/splat"
|
||||||
|
|
||||||
if [[ -d "$splat_dir" ]]; then
|
if [[ -d "$splat_dir" ]]; then
|
||||||
|
if [[ -f "$splat_dir/sdk/lib/ucrt/x86_64/libucrtd.lib" ]]; then
|
||||||
info "Using cached Windows SDK at $splat_dir"
|
info "Using cached Windows SDK at $splat_dir"
|
||||||
return
|
return
|
||||||
|
else
|
||||||
|
warn "Cached Windows SDK at $splat_dir is missing debug CRT libs, re-fetching..."
|
||||||
|
rm -rf "$splat_dir"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
info "Downloading Windows SDK and CRT via xwin..."
|
info "Downloading Windows SDK and CRT via xwin..."
|
||||||
mkdir -p "$XWIN_CACHE"
|
mkdir -p "$XWIN_CACHE"
|
||||||
xwin --accept-license splat --output "$splat_dir"
|
xwin --accept-license splat --include-debug-libs --output "$splat_dir"
|
||||||
success "Windows SDK downloaded"
|
success "Windows SDK downloaded"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,7 +84,14 @@ do_cmake_configure() {
|
|||||||
local winsdk="$XWIN_CACHE/splat"
|
local winsdk="$XWIN_CACHE/splat"
|
||||||
local toolchain
|
local toolchain
|
||||||
toolchain="$(write_toolchain)"
|
toolchain="$(write_toolchain)"
|
||||||
local c_flags="/MT -w -Wno-non-pod-varargs -fms-compatibility -fms-extensions --target=x86_64-pc-windows-msvc \
|
local crt_flag="/MT"
|
||||||
|
local msvc_runtime="MultiThreaded"
|
||||||
|
if [[ "$BUILD_TYPE" == "Debug" ]]; then
|
||||||
|
crt_flag="/MTd"
|
||||||
|
msvc_runtime="MultiThreadedDebug"
|
||||||
|
fi
|
||||||
|
|
||||||
|
local c_flags="$crt_flag -Wno-non-pod-varargs -fms-compatibility -fms-extensions --target=x86_64-pc-windows-msvc \
|
||||||
-imsvc $winsdk/crt/include \
|
-imsvc $winsdk/crt/include \
|
||||||
-imsvc $winsdk/sdk/include/ucrt \
|
-imsvc $winsdk/sdk/include/ucrt \
|
||||||
-imsvc $winsdk/sdk/include/um \
|
-imsvc $winsdk/sdk/include/um \
|
||||||
@@ -107,7 +120,7 @@ do_cmake_configure() {
|
|||||||
-DPLATFORM_NAME="Windows64" \
|
-DPLATFORM_NAME="Windows64" \
|
||||||
-DIGGY_LIBS="iggy_w64.lib;iggyperfmon_w64.lib;iggyexpruntime_w64.lib" \
|
-DIGGY_LIBS="iggy_w64.lib;iggyperfmon_w64.lib;iggyexpruntime_w64.lib" \
|
||||||
-DCMAKE_SYSTEM_NAME=Windows \
|
-DCMAKE_SYSTEM_NAME=Windows \
|
||||||
-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded \
|
-DCMAKE_MSVC_RUNTIME_LIBRARY="$msvc_runtime" \
|
||||||
-DCMAKE_C_FLAGS="$c_flags" \
|
-DCMAKE_C_FLAGS="$c_flags" \
|
||||||
-DCMAKE_CXX_FLAGS="$c_flags" \
|
-DCMAKE_CXX_FLAGS="$c_flags" \
|
||||||
-DCMAKE_ASM_MASM_FLAGS="-m64" \
|
-DCMAKE_ASM_MASM_FLAGS="-m64" \
|
||||||
@@ -264,7 +277,7 @@ LAUNCHER
|
|||||||
}
|
}
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
BUILD_DIR="$SOURCE_DIR/build/windows64-clang"
|
BUILD_DIR="$SOURCE_DIR/build/windows64-clang-${BUILD_TYPE,,}"
|
||||||
mkdir -p "$BUILD_DIR"
|
mkdir -p "$BUILD_DIR"
|
||||||
info "LegacyEvolved LCE v$VERSION build script"
|
info "LegacyEvolved LCE v$VERSION build script"
|
||||||
info "Source: $SOURCE_DIR | Type: $BUILD_TYPE"
|
info "Source: $SOURCE_DIR | Type: $BUILD_TYPE"
|
||||||
|
|||||||
@@ -39,11 +39,6 @@ function(configure_lce_server_target target)
|
|||||||
# "${CMAKE_SOURCE_DIR}/Minecraft.Client/Common/Media/MediaWindows64.arc" "Common/Media/"
|
# "${CMAKE_SOURCE_DIR}/Minecraft.Client/Common/Media/MediaWindows64.arc" "Common/Media/"
|
||||||
# )
|
# )
|
||||||
|
|
||||||
set(_use_debug_4j_libs TRUE)
|
|
||||||
if(CMAKE_CROSSCOMPILING AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
|
||||||
set(_use_debug_4j_libs FALSE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
target_include_directories(${target} PRIVATE
|
target_include_directories(${target} PRIVATE
|
||||||
"${CMAKE_BINARY_DIR}/generated/" # Generated BuildVer.h
|
"${CMAKE_BINARY_DIR}/generated/" # Generated BuildVer.h
|
||||||
"${CMAKE_SOURCE_DIR}/Minecraft.Client/"
|
"${CMAKE_SOURCE_DIR}/Minecraft.Client/"
|
||||||
@@ -75,7 +70,6 @@ function(configure_lce_server_target target)
|
|||||||
VS_DEBUGGER_COMMAND_ARGUMENTS "-port 25565 -bind 0.0.0.0 -name DedicatedServer"
|
VS_DEBUGGER_COMMAND_ARGUMENTS "-port 25565 -bind 0.0.0.0 -name DedicatedServer"
|
||||||
)
|
)
|
||||||
|
|
||||||
if(_use_debug_4j_libs)
|
|
||||||
target_link_libraries(${target} PRIVATE
|
target_link_libraries(${target} PRIVATE
|
||||||
Minecraft.World
|
Minecraft.World
|
||||||
d3d11
|
d3d11
|
||||||
@@ -90,21 +84,6 @@ function(configure_lce_server_target target)
|
|||||||
4JLibs.${PLATFORM_NAME}.Storage
|
4JLibs.${PLATFORM_NAME}.Storage
|
||||||
4JLibs.${PLATFORM_NAME}.Render
|
4JLibs.${PLATFORM_NAME}.Render
|
||||||
)
|
)
|
||||||
else()
|
|
||||||
target_link_libraries(${target} PRIVATE
|
|
||||||
Minecraft.World
|
|
||||||
d3d11
|
|
||||||
dxgi
|
|
||||||
d3dcompiler
|
|
||||||
XInput9_1_0
|
|
||||||
wsock32
|
|
||||||
dbghelp
|
|
||||||
legacy_stdio_definitions
|
|
||||||
"${CMAKE_SOURCE_DIR}/Minecraft.Client/${PLATFORM_NAME}/4JLibs/libs/4J_Input.lib"
|
|
||||||
"${CMAKE_SOURCE_DIR}/Minecraft.Client/${PLATFORM_NAME}/4JLibs/libs/4J_Storage.lib"
|
|
||||||
"${CMAKE_SOURCE_DIR}/Minecraft.Client/${PLATFORM_NAME}/4JLibs/libs/4J_Render_PC.lib"
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
foreach(lib IN LISTS IGGY_LIBS)
|
foreach(lib IN LISTS IGGY_LIBS)
|
||||||
target_link_libraries(${target} PRIVATE "${CMAKE_SOURCE_DIR}/Minecraft.Client/${PLATFORM_NAME}/Iggy/lib/${lib}")
|
target_link_libraries(${target} PRIVATE "${CMAKE_SOURCE_DIR}/Minecraft.Client/${PLATFORM_NAME}/Iggy/lib/${lib}")
|
||||||
|
|||||||
Reference in New Issue
Block a user