MinecraftConsoles/Minecraft.Server.FourKit/CMakeLists.txt
sylvessa f5f9aa1cf5 finish rewrite; port to cmake, loads of other changes
Theres documentation at https://sylvessa.zip/fourkit/ now. And a bunch of other changes. Check the discord server for a more comprehensive list
2026-03-21 14:01:49 -05:00

32 lines
1.2 KiB
CMake

set(FOURKIT_PROJECT_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
set(FOURKIT_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/bin/$<CONFIG>")
set(FOURKIT_CSPROJ "${FOURKIT_PROJECT_DIR}/Minecraft.Server.FourKit.csproj")
file(GLOB_RECURSE FOURKIT_SOURCES RELATIVE "${FOURKIT_PROJECT_DIR}" "${FOURKIT_PROJECT_DIR}/*.cs")
list(FILTER FOURKIT_SOURCES EXCLUDE REGEX "([/\\](obj|bin)[/\\])|^(obj|bin)[/\\]")
set(DOTNET_CONFIG "$<IF:$<CONFIG:Debug>,Debug,Release>")
foreach(src_file IN LISTS FOURKIT_SOURCES)
get_filename_component(src_path "${src_file}" PATH)
if(src_path)
string(REPLACE "/" "\\" group_path "${src_path}")
source_group("${group_path}" FILES "${FOURKIT_PROJECT_DIR}/${src_file}")
endif()
endforeach()
list(TRANSFORM FOURKIT_SOURCES PREPEND "${FOURKIT_PROJECT_DIR}/")
add_custom_target(Minecraft.Server.FourKit ALL
COMMAND dotnet build "${FOURKIT_CSPROJ}"
--configuration "${DOTNET_CONFIG}"
--output "${FOURKIT_OUTPUT_DIR}"
WORKING_DIRECTORY "${FOURKIT_PROJECT_DIR}"
SOURCES ${FOURKIT_SOURCES}
COMMENT "dotnet build Minecraft.Server.FourKit"
VERBATIM
)
set_target_properties(Minecraft.Server.FourKit PROPERTIES
OUTPUT_NAME "Minecraft.Server.FourKit"
)