Ray-Trace/makefiles/shared.cmake
Astra 971e91c711
Some checks failed
Continuous Integration / Build on Linux via Docker Compose (push) Has been cancelled
Continuous Integration / Build on Windows (MSVC) (push) Has been cancelled
Continuous Integration / Release (push) Has been cancelled
fix: port to KHook for Metamod 2.0 build 1461+
Metamod 1461+ removed SourceHook (plugin API 17 -> 18), so the MM plugin was rejected
and RayTraceImpl crashed on a null CRayTraceInterface002. Replace the two SourceHook
hooks with KHook, build against Metamod's bundled KHook headers, include ray.h
explicitly for the updated hl2sdk, and disambiguate TraceOptions/TraceResult from
CounterStrikeSharp 1.0.375's new types of the same name.
2026-09-24 16:44:53 +01:00

68 lines
No EOL
1.6 KiB
CMake

if (UNIX AND NOT APPLE)
set(LINUX TRUE)
endif ()
if (WIN32 AND NOT MSVC)
message(FATAL "MSVC restricted.")
endif ()
set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING
"Only do Release and Debug"
FORCE
)
set(CMAKE_CXX_STANDARD 20)
if (LINUX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
endif ()
set(CMAKE_STATIC_LIBRARY_PREFIX "")
set(SOURCESDK ${SOURCESDK_DIR}/${BRANCH})
set(SOURCESDK_LIB ${SOURCESDK}/lib)
add_definitions(-DMETA_IS_SOURCE2 -D_ITERATOR_DEBUG_LEVEL=0)
if (DEFINED ENV{GITHUB_SHA_SHORT})
add_definitions(-DGITHUB_SHA="$ENV{GITHUB_SHA_SHORT}")
else ()
add_definitions(-DGITHUB_SHA="Local")
endif ()
if (DEFINED ENV{SEMVER})
add_definitions(-DSEMVER="$ENV{SEMVER}")
else ()
add_definitions(-DSEMVER="Local")
endif ()
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
add_compile_definitions(_GLIBCXX_USE_CXX11_ABI=0)
endif ()
include_directories(
${CMAKE_SOURCE_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_SOURCE_DIR}/public
${SOURCESDK}
${SOURCESDK}/thirdparty/protobuf-3.21.8/src
${SOURCESDK}/common
${SOURCESDK}/game/shared
${SOURCESDK}/game/server
${SOURCESDK}/public
${SOURCESDK}/public/engine
${SOURCESDK}/public/mathlib
${SOURCESDK}/public/tier0
${SOURCESDK}/public/tier1
${SOURCESDK}/public/entity2
${SOURCESDK}/public/game/server
${SOURCESDK}/public/schemasystem
${METAMOD_DIR}/core
${METAMOD_DIR}/third_party/khook/include
vendor/spdlog/include
vendor/nlohmann
vendor
)
include(${CMAKE_CURRENT_LIST_DIR}/metamod/configure_metamod.cmake)