- Untrack build-debug/ and build-asan/ (CMake trees committed by mistake in
c9389431) and ignore them.
- Remove extension/src/net and extension/src/pack (m2dev protocol and XChaCha
pack format, superseded by the ported 40250 code), their 18 unregistered tests
and the net/pack tools, the MT_BUILD_NET_TOOLS probe, and the libsodium and zstd
submodules they alone used.
- The fake login server's classic cipher, sequence table and wire layouts move to
extension/tests/classic/ (still used by port.login_flow, port.packet and the
native client's offline mode).
- Archive Godot/m2dev-era plans under docs/archive/; THIRD-PARTY.md updated.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
34 lines
877 B
CMake
34 lines
877 B
CMake
cmake_minimum_required(VERSION 3.20)
|
|
project(metin2_native CXX C)
|
|
|
|
include(CTest)
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_C_STANDARD 17)
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
|
|
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
|
set(CMAKE_BUILD_TYPE Debug CACHE STRING "" FORCE)
|
|
endif()
|
|
|
|
option(MT_BUILD_TOOLS "Build libgr2 validation tools" OFF)
|
|
option(MT_BUILD_PORT "Build the 40250 port and its tests" ON)
|
|
option(MT_BUILD_NATIVE_RENDER "Build the SDL3 and Vulkan client" OFF)
|
|
|
|
add_subdirectory(libgr2)
|
|
add_subdirectory(formats)
|
|
add_subdirectory(extension/third_party)
|
|
add_subdirectory(extension/src/codepage)
|
|
if(MT_BUILD_PORT OR MT_BUILD_NATIVE_RENDER)
|
|
add_subdirectory(extension/src/port)
|
|
endif()
|
|
|
|
if(MT_BUILD_TOOLS)
|
|
add_subdirectory(tools)
|
|
endif()
|
|
|
|
if(MT_BUILD_NATIVE_RENDER)
|
|
add_subdirectory(native_render)
|
|
endif()
|