Skip to content

Commit 072f2db

Browse files
committed
add libloot patch
1 parent a4f6c36 commit 072f2db

File tree

2 files changed

+88
-1
lines changed

2 files changed

+88
-1
lines changed

io.github.limo_app.limo.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,10 @@
281281
"url": "https://github.com/loot/libloot.git",
282282
"tag": "0.23.0"
283283
},
284+
{
285+
"type": "patch",
286+
"path": "patches/libloot/CMakeLists.txt.patch"
287+
},
284288
{
285289
"type": "file",
286290
"url": "https://github.com/Ortham/esplugin/archive/refs/tags/6.1.0.tar.gz",
@@ -340,7 +344,7 @@
340344
{
341345
"type": "git",
342346
"url": "https://github.com/limo-app/limo.git",
343-
"tag": "v1.0.2"
347+
"tag": "v1.0.3"
344348
}
345349
]
346350
}

patches/libloot/CMakeLists.txt.patch

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
diff --git a/CMakeLists.txt b/CMakeLists.txt
2+
index 3698be1..86e3cf3 100644
3+
--- a/CMakeLists.txt
4+
+++ b/CMakeLists.txt
5+
@@ -47,24 +47,6 @@ set(Boost_USE_STATIC_LIBS ON)
6+
set(Boost_USE_MULTITHREADED ON)
7+
set(Boost_USE_STATIC_RUNTIME OFF)
8+
9+
-if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
10+
- if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
11+
- if(CMAKE_GENERATOR_PLATFORM STREQUAL "Win32")
12+
- set(RUST_TARGET i686-pc-windows-msvc)
13+
- else()
14+
- set(RUST_TARGET x86_64-pc-windows-msvc)
15+
- endif()
16+
- else()
17+
- if(CMAKE_GENERATOR_PLATFORM STREQUAL "Win32")
18+
- set(RUST_TARGET i686-pc-windows-gnu)
19+
- else()
20+
- set(RUST_TARGET x86_64-pc-windows-gnu)
21+
- endif()
22+
- endif()
23+
-else()
24+
- set(RUST_TARGET x86_64-unknown-linux-gnu)
25+
-endif()
26+
-
27+
find_package(Boost REQUIRED)
28+
29+
if(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows")
30+
@@ -83,14 +65,13 @@ ExternalProject_Add(esplugin
31+
URL_HASH ${ESPLUGIN_HASH}
32+
CONFIGURE_COMMAND ""
33+
BUILD_IN_SOURCE 1
34+
- BUILD_COMMAND cargo build --release --manifest-path ffi/Cargo.toml --target ${RUST_TARGET} &&
35+
+ BUILD_COMMAND cargo build --release --manifest-path ffi/Cargo.toml &&
36+
cbindgen ffi/ -o ffi/include/esplugin.hpp
37+
- COMMAND ${CMAKE_COMMAND} -E rm -r "target/${RUST_TARGET}/release/deps" "target/release"
38+
INSTALL_COMMAND ""
39+
- BUILD_BYPRODUCTS "<SOURCE_DIR>/target/${RUST_TARGET}/release/${CMAKE_STATIC_LIBRARY_PREFIX}esplugin_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}")
40+
+ BUILD_BYPRODUCTS "<SOURCE_DIR>/target/release/${CMAKE_STATIC_LIBRARY_PREFIX}esplugin_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}")
41+
ExternalProject_Get_Property(esplugin SOURCE_DIR)
42+
set(ESPLUGIN_INCLUDE_DIRS "${SOURCE_DIR}/ffi/include")
43+
-set(ESPLUGIN_LIBRARIES "${SOURCE_DIR}/target/${RUST_TARGET}/release/${CMAKE_STATIC_LIBRARY_PREFIX}esplugin_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}")
44+
+set(ESPLUGIN_LIBRARIES "${SOURCE_DIR}/target/release/${CMAKE_STATIC_LIBRARY_PREFIX}esplugin_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}")
45+
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
46+
set(ESPLUGIN_LIBRARIES ${ESPLUGIN_LIBRARIES} userenv ntdll)
47+
else()
48+
@@ -108,14 +89,13 @@ ExternalProject_Add(libloadorder
49+
URL_HASH ${LIBLOADORDER_HASH}
50+
CONFIGURE_COMMAND ""
51+
BUILD_IN_SOURCE 1
52+
- BUILD_COMMAND cargo build --release --manifest-path ffi/Cargo.toml --target ${RUST_TARGET} &&
53+
+ BUILD_COMMAND cargo build --release --manifest-path ffi/Cargo.toml &&
54+
cbindgen ffi/ -l c++ -o ffi/include/libloadorder.hpp
55+
- COMMAND ${CMAKE_COMMAND} -E rm -r "target/${RUST_TARGET}/release/deps" "target/release"
56+
INSTALL_COMMAND ""
57+
- BUILD_BYPRODUCTS "<SOURCE_DIR>/target/${RUST_TARGET}/release/${CMAKE_STATIC_LIBRARY_PREFIX}loadorder_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}")
58+
+ BUILD_BYPRODUCTS "<SOURCE_DIR>/target/release/${CMAKE_STATIC_LIBRARY_PREFIX}loadorder_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}")
59+
ExternalProject_Get_Property(libloadorder SOURCE_DIR)
60+
set(LIBLOADORDER_INCLUDE_DIRS "${SOURCE_DIR}/ffi/include")
61+
-set(LIBLOADORDER_LIBRARIES "${SOURCE_DIR}/target/${RUST_TARGET}/release/${CMAKE_STATIC_LIBRARY_PREFIX}loadorder_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}")
62+
+set(LIBLOADORDER_LIBRARIES "${SOURCE_DIR}/target/release/${CMAKE_STATIC_LIBRARY_PREFIX}loadorder_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}")
63+
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
64+
set(LIBLOADORDER_LIBRARIES ${LIBLOADORDER_LIBRARIES} ntdll propsys userenv windowsapp)
65+
else()
66+
@@ -133,14 +113,13 @@ ExternalProject_Add(loot-condition-interpreter
67+
URL_HASH ${LOOT_CONDITION_INTERPRETER_HASH}
68+
CONFIGURE_COMMAND ""
69+
BUILD_IN_SOURCE 1
70+
- BUILD_COMMAND cargo build --release --manifest-path ffi/Cargo.toml --target ${RUST_TARGET} &&
71+
+ BUILD_COMMAND cargo build --release --manifest-path ffi/Cargo.toml &&
72+
cbindgen ffi/ -o ffi/include/loot_condition_interpreter.h
73+
- COMMAND ${CMAKE_COMMAND} -E rm -r "target/${RUST_TARGET}/release/deps" "target/release"
74+
INSTALL_COMMAND ""
75+
- BUILD_BYPRODUCTS "<SOURCE_DIR>/target/${RUST_TARGET}/release/${CMAKE_STATIC_LIBRARY_PREFIX}loot_condition_interpreter_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}")
76+
+ BUILD_BYPRODUCTS "<SOURCE_DIR>/target/release/${CMAKE_STATIC_LIBRARY_PREFIX}loot_condition_interpreter_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}")
77+
ExternalProject_Get_Property(loot-condition-interpreter SOURCE_DIR)
78+
set(LCI_INCLUDE_DIRS "${SOURCE_DIR}/ffi/include")
79+
-set(LCI_LIBRARIES "${SOURCE_DIR}/target/${RUST_TARGET}/release/${CMAKE_STATIC_LIBRARY_PREFIX}loot_condition_interpreter_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}")
80+
+set(LCI_LIBRARIES "${SOURCE_DIR}/target/release/${CMAKE_STATIC_LIBRARY_PREFIX}loot_condition_interpreter_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}")
81+
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
82+
set(LCI_LIBRARIES ${LCI_LIBRARIES} userenv)
83+
else()

0 commit comments

Comments
 (0)