-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathCMakeLists.txt
80 lines (61 loc) · 1.74 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
cmake_minimum_required(VERSION 3.24)
set(SAFETYHOOK_FETCH_ZYDIS ON)
include(FetchContent)
FetchContent_Declare(
luau
GIT_REPOSITORY https://github.com/luau-lang/luau.git
GIT_TAG 0.617
)
message("Fetching luau...")
FetchContent_MakeAvailable(luau)
FetchContent_Declare(
Pattern16
GIT_REPOSITORY https://github.com/Dasaav-dsv/Pattern16.git
GIT_TAG 728eac543cee7e7bf6fda445d7db06e3dc8a61d0
)
message("Fetching Pattern16...")
FetchContent_MakeAvailable(Pattern16)
FetchContent_Declare(
safetyhook
GIT_REPOSITORY https://github.com/cursey/safetyhook.git
GIT_TAG v0.4.1
)
message("Fetching safetyhook...")
FetchContent_MakeAvailable(safetyhook)
FetchContent_Declare(
xxHash
GIT_REPOSITORY https://github.com/Cyan4973/xxHash.git
GIT_TAG v0.8.2
)
message("Fetching xxHash...")
FetchContent_MakeAvailable(xxHash)
FetchContent_Declare(
zstd
GIT_REPOSITORY https://github.com/facebook/zstd.git
GIT_TAG v1.5.5
)
message("Fetching zstd...")
FetchContent_MakeAvailable(zstd)
project(
local_rcc
VERSION 0.0.0
LANGUAGES CXX
)
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
file(
GLOB_RECURSE
SOURCES
CONFIGURE_DEPENDS
"${PROJECT_SOURCE_DIR}/src/*.cpp"
"${PROJECT_SOURCE_DIR}/src/*.hpp"
)
add_library(${PROJECT_NAME} SHARED ${SOURCES})
add_subdirectory(${xxhash_SOURCE_DIR}/cmake_unofficial)
add_subdirectory(${zstd_SOURCE_DIR}/build/cmake)
target_link_libraries(${PROJECT_NAME} PRIVATE Luau.Compiler)
target_link_libraries(${PROJECT_NAME} PRIVATE safetyhook)
target_link_libraries(${PROJECT_NAME} PRIVATE xxHash::xxhash)
target_link_libraries(${PROJECT_NAME} PRIVATE libzstd_static)
target_include_directories(${PROJECT_NAME} PRIVATE ${pattern16_SOURCE_DIR}/include)
target_include_directories(${PROJECT_NAME} PRIVATE ${zstd_SOURCE_DIR}/lib)