rdbo / libmem

Advanced Game Hacking Library for C, Modern C++, Rust and Python (Windows/Linux/FreeBSD) (Process/Memory Hacking) (Hooking/Detouring) (Cross Platform) (x86/x64/ARM/ARM64) (DLL/SO Injection) (Internal/External) (Assembler/Disassembler)
GNU Affero General Public License v3.0
748 stars 90 forks source link

Add libmem-config.cmake #158

Closed nathan818fr closed 7 months ago

nathan818fr commented 7 months ago

Following discussions on discord, I'm adding libmem-config.cmake.

Suggesting its use via FetchContent implies carefully maintaining its compatibility over time and not introducing breaking changes. I suggest creating a dedicated tag, named config-v1 that would track non-breaking updates of this config file. In this case, the suggested config URL would be: https://raw.githubusercontent.com/rdbo/libmem/config-v1/libmem-config.cmake (instead of relying on the master branch with: https://raw.githubusercontent.com/rdbo/libmem/master/libmem-config.cmake). And if we ever had to do a breaking change, the config-v1 tag would be frozen, in favor of config-v2, etc.

Also, a version is mentioned in the file (Config version: 2023-12-10.0). I think this is important because some people will make a copy of the config rather than using FetchContent. In this case, this will at least let know which exact version was used.

I'm ready to make changes if requested.


To update an existing tag without affecting other tags: git tag -f config-v1 && git push -f origin config-v1 I mention this because it is often suggested to use ~git push -f --tags~, which can be problematic if other tags have been modified locally.