All 5 phases of the open-source Decal rebuild: Phase 1: 14 decompiled .NET projects (Interop.*, Adapter, FileService, DecalUtil) Phase 2: 10 native DLLs rewritten as C# COM servers with matching GUIDs - DecalDat, DHS, SpellFilter, DecalInput, DecalNet, DecalFilters - Decal.Core, DecalControls, DecalRender, D3DService Phase 3: C++ shims for Inject.DLL (D3D9 hooking) and LauncherHook.DLL Phase 4: DenAgent WinForms tray application Phase 5: WiX installer and build script 25 C# projects building with 0 errors. Native C++ projects require VS 2022 + Windows SDK (x86). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
40 lines
922 B
CMake
40 lines
922 B
CMake
cmake_minimum_required(VERSION 3.20)
|
|
project(LauncherHook LANGUAGES CXX)
|
|
|
|
# Force x86 (32-bit) build
|
|
if(NOT CMAKE_SIZEOF_VOID_P EQUAL 4)
|
|
message(WARNING "LauncherHook.DLL must be built as x86 (32-bit). Use -A Win32 with Visual Studio generator.")
|
|
endif()
|
|
|
|
add_library(LauncherHook SHARED
|
|
LauncherHook.cpp
|
|
LauncherHook.def
|
|
)
|
|
|
|
target_compile_definitions(LauncherHook PRIVATE
|
|
WIN32
|
|
_WINDOWS
|
|
_USRDLL
|
|
UNICODE
|
|
_UNICODE
|
|
)
|
|
|
|
target_link_libraries(LauncherHook PRIVATE
|
|
advapi32
|
|
user32
|
|
kernel32
|
|
)
|
|
|
|
# MSVC-specific settings
|
|
if(MSVC)
|
|
target_compile_options(LauncherHook PRIVATE /W3 /GR- /EHsc)
|
|
set_target_properties(LauncherHook PROPERTIES
|
|
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
|
|
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL"
|
|
)
|
|
endif()
|
|
|
|
set_target_properties(LauncherHook PROPERTIES
|
|
OUTPUT_NAME "LauncherHook"
|
|
SUFFIX ".DLL"
|
|
)
|