From 0215b7e0b722a9050312a39675778c1adc9af898 Mon Sep 17 00:00:00 2001 From: Orange Date: Mon, 4 May 2026 04:02:19 +0300 Subject: [PATCH] using static for windows --- CMakeLists.txt | 1 - CMakePresets.json | 16 +++++++++----- examples/example_dx11_hook/CMakeLists.txt | 1 + examples/example_dx12_hook/CMakeLists.txt | 3 ++- examples/example_dx12_hook/dllmain.cpp | 3 ++- examples/example_dx9_hook/CMakeLists.txt | 3 ++- vcpkg.json | 27 +++++++++-------------- 7 files changed, 28 insertions(+), 26 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d6fdb62..40bfa7f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,4 @@ cmake_minimum_required(VERSION 3.26) - file(READ VERSION OMATH_VERSION) project(omath VERSION ${OMATH_VERSION} LANGUAGES CXX) diff --git a/CMakePresets.json b/CMakePresets.json index 8d27ee1..2ed29f2 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -56,7 +56,9 @@ "hidden": true, "inherits": ["windows-base", "vcpkg-base"], "cacheVariables": { - "VCPKG_MANIFEST_FEATURES": "tests;imgui;avx2;examples" + "VCPKG_TARGET_TRIPLET": "x64-windows-static", + "VCPKG_MANIFEST_FEATURES": "tests;imgui;avx2;examples;hooking", + "OMATH_STATIC_MSVC_RUNTIME_LIBRARY": "ON" } }, { @@ -89,9 +91,10 @@ "strategy": "external" }, "cacheVariables": { - "VCPKG_TARGET_TRIPLET": "x86-windows", + "VCPKG_TARGET_TRIPLET": "x86-windows-static", "VCPKG_HOST_TRIPLET": "x64-windows", - "VCPKG_MANIFEST_FEATURES": "tests;imgui;avx2;examples" + "VCPKG_MANIFEST_FEATURES": "tests;imgui;avx2;examples", + "OMATH_STATIC_MSVC_RUNTIME_LIBRARY": "ON" } }, { @@ -114,9 +117,10 @@ "strategy": "external" }, "cacheVariables": { - "VCPKG_TARGET_TRIPLET": "arm64-windows", - "VCPKG_HOST_TRIPLET": "arm64-windows", - "VCPKG_MANIFEST_FEATURES": "tests;imgui;examples" + "VCPKG_TARGET_TRIPLET": "arm64-windows-static", + "VCPKG_HOST_TRIPLET": "arm64-windows-static", + "VCPKG_MANIFEST_FEATURES": "tests;imgui;examples", + "OMATH_STATIC_MSVC_RUNTIME_LIBRARY": "ON" } }, { diff --git a/examples/example_dx11_hook/CMakeLists.txt b/examples/example_dx11_hook/CMakeLists.txt index d0d0978..7952808 100644 --- a/examples/example_dx11_hook/CMakeLists.txt +++ b/examples/example_dx11_hook/CMakeLists.txt @@ -4,6 +4,7 @@ add_library(${PROJECT_NAME} SHARED dllmain.cpp) set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 23 + MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>" ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/out/${CMAKE_BUILD_TYPE}" LIBRARY_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/out/${CMAKE_BUILD_TYPE}" RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/out/${CMAKE_BUILD_TYPE}") diff --git a/examples/example_dx12_hook/CMakeLists.txt b/examples/example_dx12_hook/CMakeLists.txt index 2fc353c..cace2b4 100644 --- a/examples/example_dx12_hook/CMakeLists.txt +++ b/examples/example_dx12_hook/CMakeLists.txt @@ -1,9 +1,10 @@ project(example_dx12_hook) -set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + add_library(${PROJECT_NAME} MODULE dllmain.cpp) set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 23 + MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>" ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/out/${CMAKE_BUILD_TYPE}" LIBRARY_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/out/${CMAKE_BUILD_TYPE}" RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/out/${CMAKE_BUILD_TYPE}") diff --git a/examples/example_dx12_hook/dllmain.cpp b/examples/example_dx12_hook/dllmain.cpp index 4aafac3..b6a56b6 100644 --- a/examples/example_dx12_hook/dllmain.cpp +++ b/examples/example_dx12_hook/dllmain.cpp @@ -5,6 +5,7 @@ #include #include #include +#include #include extern IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler(HWND, UINT, WPARAM, LPARAM); @@ -230,7 +231,7 @@ BOOL WINAPI DllMain(HINSTANCE h_instance, DWORD reason, LPVOID) auto& mgr = omath::hooks::HooksManager::get(); mgr.set_on_present(on_present); mgr.set_on_execute_command_lists(on_execute_command_lists); - mgr.hook_dx12(); + std::ignore = mgr.hook_dx12(); return 0; }, nullptr, 0, nullptr); diff --git a/examples/example_dx9_hook/CMakeLists.txt b/examples/example_dx9_hook/CMakeLists.txt index c1dd44c..d4030d8 100644 --- a/examples/example_dx9_hook/CMakeLists.txt +++ b/examples/example_dx9_hook/CMakeLists.txt @@ -1,9 +1,10 @@ project(example_dx9_hook) -set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + add_library(${PROJECT_NAME} MODULE dllmain.cpp) set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 23 + MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>" ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/out/${CMAKE_BUILD_TYPE}" LIBRARY_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/out/${CMAKE_BUILD_TYPE}" RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/out/${CMAKE_BUILD_TYPE}") diff --git a/vcpkg.json b/vcpkg.json index 49a1091..27e3bef 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -42,30 +42,25 @@ ], "supports": "(windows | linux) & !arm & !uwp" }, - "hooking-examples": { - "description": "ImGui overlay examples for DX9/DX11/DX12 hooking (requires hooking feature)", - "dependencies": [ - { - "name": "omath", - "features": ["hooking"] - }, - { - "name": "imgui", - "features": ["dx9-binding", "dx11-binding", "dx12-binding", "win32-binding"], - "default-features": false - } - ], - "supports": "windows & !arm & !uwp" - }, "examples": { "description": "Build examples", "dependencies": [ "glfw3", "glew", "opengl", + { + "name": "omath", + "features": ["hooking"], + "platform": "windows & !arm & !uwp" + }, { "name": "imgui", - "features": ["glfw-binding", "opengl3-binding", "dx12-binding", "dx9-binding", "dx11-binding", "win32-binding"] + "features": ["glfw-binding", "opengl3-binding"] + }, + { + "name": "imgui", + "features": ["dx9-binding", "dx11-binding", "dx12-binding", "win32-binding"], + "platform": "windows & !arm & !uwp" } ] },