Carica file su "Minecraft.Client"

This commit is contained in:
Lord_Cambion 2026-04-01 21:58:31 +02:00
parent 6ed5bd13db
commit cc2c020af9

View file

@ -1,96 +1,101 @@
include("${CMAKE_CURRENT_LIST_DIR}/cmake/sources/Common.cmake") include("${CMAKE_CURRENT_LIST_DIR}/cmake/sources/Common.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/cmake/sources/Durango.cmake") include("${CMAKE_CURRENT_LIST_DIR}/cmake/sources/Durango.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/cmake/sources/ORBIS.cmake") include("${CMAKE_CURRENT_LIST_DIR}/cmake/sources/ORBIS.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/cmake/sources/PS3.cmake") include("${CMAKE_CURRENT_LIST_DIR}/cmake/sources/PS3.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/cmake/sources/PSVita.cmake") include("${CMAKE_CURRENT_LIST_DIR}/cmake/sources/PSVita.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/cmake/sources/Windows.cmake") include("${CMAKE_CURRENT_LIST_DIR}/cmake/sources/Windows.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/cmake/sources/Xbox360.cmake") include("${CMAKE_CURRENT_LIST_DIR}/cmake/sources/Xbox360.cmake")
include("${CMAKE_SOURCE_DIR}/cmake/CommonSources.cmake")
include("${CMAKE_SOURCE_DIR}/cmake/CommonSources.cmake") include("${CMAKE_SOURCE_DIR}/cmake/Utils.cmake")
include("${CMAKE_SOURCE_DIR}/cmake/Utils.cmake") # Combine all source files into a single variable for the target
set(MINECRAFT_CLIENT_SOURCES
# Combine all source files into a single variable for the target ${MINECRAFT_CLIENT_COMMON}
# We cant use CMAKE_CONFIGURE_PRESET here as VS doesn't set it, so just rely on the folder $<$<STREQUAL:${PLATFORM_NAME},Durango>:${MINECRAFT_CLIENT_DURANGO}>
set(MINECRAFT_CLIENT_SOURCES $<$<STREQUAL:${PLATFORM_NAME},Orbis>:${MINECRAFT_CLIENT_ORBIS}>
${MINECRAFT_CLIENT_COMMON} $<$<STREQUAL:${PLATFORM_NAME},PS3>:${MINECRAFT_CLIENT_PS3}>
$<$<STREQUAL:${PLATFORM_NAME},Durango>:${MINECRAFT_CLIENT_DURANGO}> $<$<STREQUAL:${PLATFORM_NAME},PSVita>:${MINECRAFT_CLIENT_PSVITA}>
$<$<STREQUAL:${PLATFORM_NAME},Orbis>:${MINECRAFT_CLIENT_ORBIS}> $<$<STREQUAL:${PLATFORM_NAME},Windows64>:${MINECRAFT_CLIENT_WINDOWS}>
$<$<STREQUAL:${PLATFORM_NAME},PS3>:${MINECRAFT_CLIENT_PS3}> $<$<STREQUAL:${PLATFORM_NAME},Xbox>:${MINECRAFT_CLIENT_XBOX360}>
$<$<STREQUAL:${PLATFORM_NAME},PSVita>:${MINECRAFT_CLIENT_PSVITA}> ${SOURCES_COMMON}
$<$<STREQUAL:${PLATFORM_NAME},Windows64>:${MINECRAFT_CLIENT_WINDOWS}> # Stub for server-only symbols (LogInfof/LogWarnf/LogErrorf, RequestDedicatedServerShutdown)
$<$<STREQUAL:${PLATFORM_NAME},Xbox>:${MINECRAFT_CLIENT_XBOX360}> # that are excluded from Minecraft.Server.Lib
${SOURCES_COMMON} "ServerCliStubs.cpp"
) )
add_executable(Minecraft.Client ${MINECRAFT_CLIENT_SOURCES} "PhantomModel.h" "PhantomModel.cpp" "PhantomRenderer.h" "PhantomRenderer.cpp") add_executable(Minecraft.Client ${MINECRAFT_CLIENT_SOURCES}
#"ServerCliStubs.cpp"
# Only define executable on windows )
if(PLATFORM_NAME STREQUAL "Windows64")
set_target_properties(Minecraft.Client PROPERTIES WIN32_EXECUTABLE TRUE) # Only define executable on windows
endif() if(PLATFORM_NAME STREQUAL "Windows64")
set_target_properties(Minecraft.Client PROPERTIES WIN32_EXECUTABLE TRUE)
target_include_directories(Minecraft.Client PRIVATE endif()
"${CMAKE_BINARY_DIR}/generated/" # This is for the generated BuildVer.h
"${CMAKE_CURRENT_SOURCE_DIR}" target_include_directories(Minecraft.Client PRIVATE
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/Iggy/include" "${CMAKE_BINARY_DIR}/generated/"
"${CMAKE_SOURCE_DIR}/include/" "${CMAKE_CURRENT_SOURCE_DIR}"
) "${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/Iggy/include"
target_compile_definitions(Minecraft.Client PRIVATE "${CMAKE_SOURCE_DIR}/include/"
${MINECRAFT_SHARED_DEFINES} "${CMAKE_SOURCE_DIR}/Minecraft.Server"
) )
target_precompile_headers(Minecraft.Client PRIVATE "$<$<COMPILE_LANGUAGE:CXX>:stdafx.h>")
set_source_files_properties(compat_shims.cpp PROPERTIES SKIP_PRECOMPILE_HEADERS ON) # This redefines internal MSVC CRT symbols which will cause an issue with PCH target_compile_definitions(Minecraft.Client PRIVATE
${MINECRAFT_SHARED_DEFINES}
configure_compiler_target(Minecraft.Client) )
set_target_properties(Minecraft.Client PROPERTIES target_precompile_headers(Minecraft.Client PRIVATE "$<$<COMPILE_LANGUAGE:CXX>:stdafx.h>")
OUTPUT_NAME "Minecraft.Client" set_source_files_properties(compat_shims.cpp PROPERTIES SKIP_PRECOMPILE_HEADERS ON)
VS_DEBUGGER_WORKING_DIRECTORY "$<TARGET_FILE_DIR:Minecraft.Client>" set_source_files_properties(ServerCliStubs.cpp PROPERTIES SKIP_PRECOMPILE_HEADERS ON)
)
configure_compiler_target(Minecraft.Client)
target_link_libraries(Minecraft.Client PRIVATE
Minecraft.World set_target_properties(Minecraft.Client PROPERTIES
d3d11 OUTPUT_NAME "Minecraft.Client"
d3dcompiler VS_DEBUGGER_WORKING_DIRECTORY "$<TARGET_FILE_DIR:Minecraft.Client>"
XInput9_1_0 )
wsock32
legacy_stdio_definitions target_link_libraries(Minecraft.Client PRIVATE
$<$<CONFIG:Debug>: # Debug 4J libraries Minecraft.World
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/4JLibs/libs/4J_Input_d.lib" # Server logic shared with client (CLI commands: give, gamemode, etc.)
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/4JLibs/libs/4J_Storage_d.lib" $<$<STREQUAL:${PLATFORM_NAME},Windows64>:Minecraft.Server.Lib>
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/4JLibs/libs/4J_Render_PC_d.lib" d3d11
> d3dcompiler
$<$<NOT:$<CONFIG:Debug>>: # Release 4J libraries XInput9_1_0
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/4JLibs/libs/4J_Input.lib" wsock32
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/4JLibs/libs/4J_Storage.lib" legacy_stdio_definitions
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/4JLibs/libs/4J_Render_PC.lib" $<$<CONFIG:Debug>:
> "${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/4JLibs/libs/4J_Input_d.lib"
) "${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/4JLibs/libs/4J_Storage_d.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/4JLibs/libs/4J_Render_PC_d.lib"
# Iggy libs >
foreach(lib IN LISTS IGGY_LIBS) $<$<NOT:$<CONFIG:Debug>>:
target_link_libraries(Minecraft.Client PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/Iggy/lib/${lib}") "${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/4JLibs/libs/4J_Input.lib"
endforeach() "${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/4JLibs/libs/4J_Storage.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/4JLibs/libs/4J_Render_PC.lib"
# --- >
# Asset / redist copy )
# ---
include("${CMAKE_SOURCE_DIR}/cmake/CopyAssets.cmake") foreach(lib IN LISTS IGGY_LIBS)
set(ASSET_FOLDER_PAIRS target_link_libraries(Minecraft.Client PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/Iggy/lib/${lib}")
"${CMAKE_CURRENT_SOURCE_DIR}/music" "music" endforeach()
"${CMAKE_CURRENT_SOURCE_DIR}/Common/Media" "Common/Media"
"${CMAKE_CURRENT_SOURCE_DIR}/Common/res" "Common/res" # ---------------------------------------------------------------------------
"${CMAKE_CURRENT_SOURCE_DIR}/Common/Trial" "Common/Trial" # Asset / redist copy
"${CMAKE_CURRENT_SOURCE_DIR}/Common/Tutorial" "Common/Tutorial" # ---------------------------------------------------------------------------
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}Media" "${PLATFORM_NAME}Media" include("${CMAKE_SOURCE_DIR}/cmake/CopyAssets.cmake")
) set(ASSET_FOLDER_PAIRS
setup_asset_folder_copy(Minecraft.Client "${ASSET_FOLDER_PAIRS}") "${CMAKE_CURRENT_SOURCE_DIR}/music" "music"
"${CMAKE_CURRENT_SOURCE_DIR}/Common/Media" "Common/Media"
# Copy redist files "${CMAKE_CURRENT_SOURCE_DIR}/Common/res" "Common/res"
add_copyredist_target(Minecraft.Client) "${CMAKE_CURRENT_SOURCE_DIR}/Common/Trial" "Common/Trial"
"${CMAKE_CURRENT_SOURCE_DIR}/Common/Tutorial" "Common/Tutorial"
# Make sure GameHDD exists on Windows "${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}Media" "${PLATFORM_NAME}Media"
if(PLATFORM_NAME STREQUAL "Windows64") )
add_gamehdd_target(Minecraft.Client) setup_asset_folder_copy(Minecraft.Client "${ASSET_FOLDER_PAIRS}")
endif()
add_copyredist_target(Minecraft.Client)
if(PLATFORM_NAME STREQUAL "Windows64")
add_gamehdd_target(Minecraft.Client)
endif()