chore: reimplement CUE4Parse build

This commit is contained in:
2026-04-28 14:43:25 -03:00
parent d2d40e7485
commit d1316e499e
+32 -8
View File
@@ -97,14 +97,38 @@ add_custom_command(TARGET dbd-unlocker POST_BUILD
)
# ------------------------------
# dumper (VS only)
# VS only
# ------------------------------
if(CMAKE_GENERATOR MATCHES "Visual Studio")
include_external_msproject(dbd-dumper "${CMAKE_CURRENT_SOURCE_DIR}/src/dumper/dbd-dumper.csproj")
include_external_msproject(CUE4Parse "${CMAKE_CURRENT_SOURCE_DIR}/vendor/CUE4Parse/CUE4Parse/CUE4Parse.csproj")
set_target_properties(dbd-dumper PROPERTIES VS_PROJECT_TYPE "9A19103F-16F7-4668-BE54-9A1E7A4F7556")
set_target_properties(CUE4Parse PROPERTIES VS_PROJECT_TYPE "9A19103F-16F7-4668-BE54-9A1E7A4F7556")
add_dependencies(dbd-dumper CUE4Parse)
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT dbd-unlocker)
endif()
# ------------------------------
# CUE4Parse
# ------------------------------
set(CUE4PARSE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/vendor/CUE4Parse")
# CUE4Parse natives
set(CUE4PARSE_NATIVE_DIR "${CUE4PARSE_DIR}/CUE4Parse-Natives")
add_subdirectory(${CUE4PARSE_NATIVE_DIR})
# CUE4Parse C#
set(CUE4PARSE_NET_DIR "${CUE4PARSE_DIR}/CUE4Parse")
set(CUE4PARSE_OUTPUT_DIR "${CUE4PARSE_NET_DIR}/bin/$(Configuration)/net8.0")
add_custom_target(CUE4Parse-Net
COMMAND dotnet build "${CUE4PARSE_NET_DIR}/CUE4Parse.csproj"
--configuration $(Configuration)
-p:BuildNatives=false
-p:SkipNativeBuild=true
-p:CMakeExitCode=0
--output "${CUE4PARSE_OUTPUT_DIR}"
WORKING_DIRECTORY "${CUE4PARSE_NET_DIR}"
COMMENT "Building CUE4Parse C# library"
)
# dumper
include_external_msproject(dbd-dumper "${CMAKE_CURRENT_SOURCE_DIR}/src/dumper/dbd-dumper.csproj")
set_target_properties(dbd-dumper PROPERTIES VS_PROJECT_TYPE "9A19103F-16F7-4668-BE54-9A1E7A4F7556")
add_dependencies(dbd-dumper CUE4Parse-Natives CUE4Parse-Net)
# startup project
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT dbd-unlocker)
endif()