prepare KHook

This commit is contained in:
SlynxCZ 2026-01-12 21:03:08 +04:00
parent 4839cab431
commit a6aa7c23fc
6 changed files with 8 additions and 37 deletions

3
.gitmodules vendored
View file

@ -1,3 +1,6 @@
[submodule "vendor/spdlog"] [submodule "vendor/spdlog"]
path = vendor/spdlog path = vendor/spdlog
url = https://github.com/gabime/spdlog url = https://github.com/gabime/spdlog
[submodule "vendor/khook"]
path = vendor/khook
url = https://github.com/SlynxCZ/KHook.git

View file

@ -2,7 +2,6 @@
project(RayTrace C CXX ASM) project(RayTrace C CXX ASM)
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>") set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
set(FUNCHOOK_BUILD_TESTS OFF CACHE BOOL "Disable building tests for funchook." FORCE)
set(FMT_WERROR OFF CACHE BOOL "" FORCE) set(FMT_WERROR OFF CACHE BOOL "" FORCE)
if(DEFINED ENV{HL2SDKCS2}) if(DEFINED ENV{HL2SDKCS2})
@ -27,7 +26,7 @@ include(makefiles/shared.cmake)
include(makefiles/protobuf.cmake) include(makefiles/protobuf.cmake)
add_subdirectory(vendor/spdlog) add_subdirectory(vendor/spdlog)
add_subdirectory(vendor/funchook) add_subdirectory(vendor/khook)
file(GLOB_RECURSE SOURCE_FILES file(GLOB_RECURSE SOURCE_FILES
src/*.cpp src/*.cpp
@ -52,10 +51,6 @@ list(APPEND SOURCE_FILES
vendor/dynlibutils/module.h vendor/dynlibutils/module.h
) )
foreach(f ${SOURCE_FILES})
message(STATUS "Zdrojový soubor: ${f}")
endforeach()
add_library(${PROJECT_NAME} SHARED ${SOURCE_FILES}) add_library(${PROJECT_NAME} SHARED ${SOURCE_FILES})
target_compile_definitions(${PROJECT_NAME} target_compile_definitions(${PROJECT_NAME}
PUBLIC PROJECT_NAMESPACE=${PROJECT_NAME} PUBLIC PROJECT_NAMESPACE=${PROJECT_NAME}
@ -64,7 +59,6 @@ target_compile_definitions(${PROJECT_NAME}
target_include_directories(${PROJECT_NAME} PUBLIC target_include_directories(${PROJECT_NAME} PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_SOURCE_DIR}/src
${CMAKE_CURRENT_SOURCE_DIR}/src/cs2_sdk
) )
find_package(Git QUIET) find_package(Git QUIET)
@ -80,31 +74,6 @@ else()
set(GIT_SHA "nogit") set(GIT_SHA "nogit")
endif() endif()
string(TIMESTAMP BUILD_TIME_UTC "%Y%m%d%H%M%S" UTC)
set(_seed_input "${GIT_SHA}-${BUILD_TIME_UTC}")
string(SHA1 _sha1 "${_seed_input}")
string(SUBSTRING ${_sha1} 0 16 _seed16)
set(BUILD_SEED_HEX "0x${_seed16}")
message(STATUS "Obfuscation BUILD_SEED: ${BUILD_SEED_HEX} (from ${_seed_input})")
add_compile_definitions(BUILD_SEED=${BUILD_SEED_HEX})
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
target_compile_options(${PROJECT_NAME} PRIVATE -fvisibility=hidden -fdata-sections -ffunction-sections)
target_link_options(${PROJECT_NAME} PRIVATE -Wl,--gc-sections)
endif()
set_target_properties(${PROJECT_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION OFF)
if (CMAKE_BUILD_TYPE STREQUAL "Release")
find_program(STRIP_EXECUTABLE strip)
if (STRIP_EXECUTABLE)
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${STRIP_EXECUTABLE} --strip-unneeded $<TARGET_FILE:${PROJECT_NAME}>
COMMENT "Stripping symbols from $<TARGET_FILE:${PROJECT_NAME}>"
)
endif()
endif()
if (LINUX) if (LINUX)
include(${CMAKE_SOURCE_DIR}/makefiles/linux.base.cmake) include(${CMAKE_SOURCE_DIR}/makefiles/linux.base.cmake)
set_target_properties(${PROJECT_NAME} PROPERTIES set_target_properties(${PROJECT_NAME} PROPERTIES

View file

@ -33,6 +33,5 @@ set(LINK_LIBRARIES
${SOURCESDK_LIB}/linux64/mathlib.a ${SOURCESDK_LIB}/linux64/mathlib.a
spdlog spdlog
Protobufs Protobufs
distorm khook_lib
funchook-static
) )

View file

@ -60,7 +60,7 @@ include_directories(
${SOURCESDK}/public/schemasystem ${SOURCESDK}/public/schemasystem
${METAMOD_DIR}/core ${METAMOD_DIR}/core
${METAMOD_DIR}/core/sourcehook ${METAMOD_DIR}/core/sourcehook
vendor/funchook/include vendor/khook/include
vendor/spdlog/include vendor/spdlog/include
vendor/nlohmann vendor/nlohmann
vendor vendor

View file

@ -15,6 +15,5 @@ set(LINK_LIBRARIES
${SOURCESDK_LIB}/public/win64/mathlib.lib ${SOURCESDK_LIB}/public/win64/mathlib.lib
spdlog spdlog
Protobufs Protobufs
distorm khook_lib
funchook-static
) )

1
vendor/khook vendored Submodule

@ -0,0 +1 @@
Subproject commit 776fdb2eb8553462f2c1ab3df2d2d2a59724b3f2