cmake_minimum_required(VERSION 3.22) project(EclipseDumper LANGUAGES CXX) # Estándar C++ 20 según configuración VS set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) add_library(EclipseDumper SHARED Core/il2cpp/Api/Il2CppApi.cpp Core/il2cpp/Metadata/Il2CppMetadata.cpp Core/il2cpp/Helper/Il2CppHelper.cpp EntryPoint/dllmain.cpp ProtoGen/ProtoMetadata.cpp ProtoGen/ProtoCache.cpp ProtoGen/ProtoOutput.cpp ProtoGen/ProtoUtil.cpp Resources/pch.cpp Utils/ScriptJson.cpp Utils/ProgressReporter.cpp ) target_include_directories(EclipseDumper PRIVATE ${PROJECT_SOURCE_DIR}/Core/il2cpp/Api ${PROJECT_SOURCE_DIR}/Core/il2cpp/Metadata ${PROJECT_SOURCE_DIR}/Core/il2cpp/Helper ${PROJECT_SOURCE_DIR}/Core/il2cpp/Offsets ${PROJECT_SOURCE_DIR}/ProtoGen ${PROJECT_SOURCE_DIR}/Il2cpp-Data ${PROJECT_SOURCE_DIR}/Resources ${PROJECT_SOURCE_DIR}/Utils ) target_compile_definitions(EclipseDumper PRIVATE ECLIPSEDUMPER_EXPORTS _WINDOWS _USRDLL ) set_target_properties(EclipseDumper PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_SOURCE_DIR}/Injector" RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_SOURCE_DIR}/Injector" ) if(MSVC) target_compile_options(EclipseDumper PRIVATE /permissive- /sdl) endif()