-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathdependencies.cmake
128 lines (116 loc) · 5.09 KB
/
dependencies.cmake
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
function(fetch_dependencies)
# Shadow the cache variable with a blank value
# Placing a no-op .clang-tidy file at the root of CPM cache is insufficient as some projects may define
# their own .clang-tidy within themselves and still not be clean against it <cough>flatbuffers</cough>
set(CMAKE_C_CLANG_TIDY "")
set(CMAKE_CXX_CLANG_TIDY "")
include(${PROJECT_SOURCE_DIR}/cmake/CPM.cmake)
####################################################################################################################
# google test
####################################################################################################################
CPMAddPackage(
NAME googletest
GITHUB_REPOSITORY google/googletest
GIT_TAG v1.13.0
VERSION 1.13.0
OPTIONS
"INSTALL_GTEST OFF"
)
####################################################################################################################
# yaml-cpp
####################################################################################################################
CPMAddPackage(
NAME yaml-cpp
GITHUB_REPOSITORY jbeder/yaml-cpp
GIT_TAG 0.8.0
OPTIONS
"YAML_CPP_BUILD_TESTS OFF"
"YAML_CPP_BUILD_TOOLS OFF"
"YAML_BUILD_SHARED_LIBS OFF"
)
if(yaml-cpp_ADDED)
set_target_properties(
yaml-cpp
PROPERTIES
DEBUG_POSTFIX
""
)
endif()
###################################################################################################################
# boost::interprocess
###################################################################################################################
CPMAddPackage(
NAME Boost
VERSION 1.86.0
URL
https://github.com/boostorg/boost/releases/download/boost-1.86.0/boost-1.86.0-cmake.tar.xz
URL_HASH
SHA256=2c5ec5edcdff47ff55e27ed9560b0a0b94b07bd07ed9928b476150e16b0efc57
OPTIONS
"BOOST_ENABLE_CMAKE ON"
"BOOST_SKIP_INSTALL_RULES ON"
"BUILD_SHARED_LIBS OFF"
"BOOST_INCLUDE_LIBRARIES interprocess"
)
###################################################################################################################
# Nanomsg
###################################################################################################################
CPMAddPackage(
NAME nanomsg
GITHUB_REPOSITORY nanomsg/nng
GIT_TAG v1.8.0
OPTIONS
"CMAKE_MESSAGE_LOG_LEVEL NOTICE"
"BUILD_SHARED_LIBS OFF"
"NNG_TESTS OFF"
"NNG_TOOLS OFF"
)
###################################################################################################################
# Flatbuffers
###################################################################################################################
CPMAddPackage(
NAME flatbuffers
GITHUB_REPOSITORY google/flatbuffers
GIT_TAG v24.3.25
OPTIONS
"CMAKE_MESSAGE_LOG_LEVEL NOTICE"
"FLATBUFFERS_BUILD_FLATC ON"
"FLATBUFFERS_BUILD_TESTS OFF"
"FLATBUFFERS_SKIP_MONSTER_EXTRA ON"
"FLATBUFFERS_STRICT_MODE ON"
)
###################################################################################################################
# libuv (for process management)
###################################################################################################################
CPMAddPackage(
NAME libuv
GITHUB_REPOSITORY libuv/libuv
GIT_TAG v1.48.0
OPTIONS
"CMAKE_MESSAGE_LOG_LEVEL NOTICE"
"LIBUV_BUILD_TESTS OFF"
"LIBUV_BUILD_SHARED OFF"
)
###################################################################################################################
# fmt : https://github.com/fmtlib/fmt
###################################################################################################################
CPMAddPackage(NAME fmt GITHUB_REPOSITORY fmtlib/fmt GIT_TAG 11.0.1)
###################################################################################################################
# nanobench (for uBenchmarking)
###################################################################################################################
if(MASTER_PROJECT)
CPMAddPackage(NAME nanobench GITHUB_REPOSITORY martinus/nanobench GIT_TAG v4.3.11)
endif()
####################################################################################################################
# spdlog
####################################################################################################################
CPMAddPackage(
NAME spdlog
GITHUB_REPOSITORY gabime/spdlog
GIT_TAG
96a8f6250cbf4e8c76387c614f666710a2fa9bad # Version v 1.15+fmtlib fixes
OPTIONS
"CMAKE_MESSAGE_LOG_LEVEL NOTICE"
)
endfunction()
fetch_dependencies()