-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCMakeLists.txt
90 lines (72 loc) · 2.64 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
cmake_minimum_required(VERSION 3.28.1)
set(CMAKE_GENERATOR_PLATFORM x64)
project(EldenRingMerchantMod
VERSION "1.1.11"
LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
include(FetchContent)
FetchContent_Declare(minhook
GIT_REPOSITORY https://github.com/TsudaKageyu/minhook.git
GIT_TAG f5485b8454544c2f034c78f8f127c1d03dea3636)
FetchContent_Declare(pattern16
GIT_REPOSITORY https://github.com/Dasaav-dsv/Pattern16.git
GIT_TAG 728eac543cee7e7bf6fda445d7db06e3dc8a61d0
CONFIGURE_COMMAND ""
BUILD_COMMAND "")
FetchContent_Declare(mini
GIT_REPOSITORY https://github.com/metayeti/mINI.git
GIT_TAG 0.9.15
CONFIGURE_COMMAND ""
BUILD_COMMAND "")
set(SPDLOG_DISABLE_DEFAULT_LOGGER ON)
set(SPDLOG_USE_STD_FORMAT ON)
FetchContent_Declare(spdlog
GIT_REPOSITORY https://github.com/gabime/spdlog.git
GIT_TAG v1.13.0)
# # Set iterator debug level to 0 for ELDEN RING ABI compatibility
add_definitions(-D_ITERATOR_DEBUG_LEVEL=0)
FetchContent_MakeAvailable(minhook pattern16 mini spdlog)
add_library(pattern16 INTERFACE)
target_include_directories(pattern16 INTERFACE ${pattern16_SOURCE_DIR}/include)
add_library(mini INTERFACE)
target_include_directories(mini INTERFACE ${mini_SOURCE_DIR}/src)
add_library(steamapi STATIC IMPORTED GLOBAL)
set_property(TARGET steamapi APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
set_target_properties(steamapi PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG CXX
IMPORTED_LOCATION_DEBUG steam_api64.lib)
add_library(EldenRingMerchantMod SHARED
src/from/talk_commands.hpp
src/from/param_lookup.hpp
src/from/messages.hpp
src/from/game_data.hpp
src/from/ezstate.hpp
src/from/params.hpp
src/from/params.cpp
src/modutils.hpp
src/modutils.cpp
src/ermerchant_config.hpp
src/ermerchant_config.cpp
src/ermerchant_talkscript.hpp
src/ermerchant_talkscript.cpp
src/ermerchant_talkscript_utils.hpp
src/ermerchant_shops.hpp
src/ermerchant_shops.cpp
src/ermerchant_messages.hpp
src/ermerchant_messages.cpp
src/ermerchant_messages_by_lang.cpp
src/dllmain.cpp)
set_target_properties(EldenRingMerchantMod PROPERTIES OUTPUT_NAME "ermerchant")
add_definitions(-DPROJECT_VERSION="${CMAKE_PROJECT_VERSION}")
add_custom_command(TARGET EldenRingMerchantMod POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy -t $<TARGET_FILE_DIR:EldenRingMerchantMod>
${CMAKE_SOURCE_DIR}/LICENSE.txt
${CMAKE_SOURCE_DIR}/ermerchant.ini
COMMAND_EXPAND_LISTS)
target_link_libraries(EldenRingMerchantMod
minhook
pattern16
mini
spdlog
${CMAKE_SOURCE_DIR}/steam_api64.lib)