@@ -19,7 +19,6 @@ set(USE_LINUX_PULSE_AUDIO OFF CACHE BOOL "Linux で ALSA の代わりに PulseAu
19
19
set (USE_SCREEN_CAPTURER OFF CACHE BOOL "スクリーンキャプチャラを利用するかどうか" )
20
20
set (BOOST_ROOT_DIR "" CACHE PATH "Boost のインストール先ディレクトリ\n 空文字だった場合はデフォルト検索パスの Boost を利用する" )
21
21
set (SDL2_ROOT_DIR "" CACHE PATH "SDL2 のインストール先ディレクトリ\n 空文字だった場合はデフォルト検索パスの SDL2 を利用する" )
22
- set (JSON_ROOT_DIR "" CACHE PATH "nlohmann/json のインストール先ディレクトリ" )
23
22
set (CLI11_ROOT_DIR "" CACHE PATH "CLI11 のインストール先ディレクトリ" )
24
23
set (NVCODEC_ROOT_DIR "" CACHE PATH "NVIDIA VIDEO CODEC SDK のインストール先ディレクトリ" )
25
24
set (WEBRTC_INCLUDE_DIR "" CACHE PATH "WebRTC のインクルードディレクトリ" )
@@ -46,17 +45,35 @@ if(MOMO_PACKAGE_NAME STREQUAL "windows")
46
45
set (USE_SCREEN_CAPTURER ON )
47
46
set (BOOST_ROOT_DIR ${_INSTALL_DIR} /boost)
48
47
set (SDL2_ROOT_DIR ${_INSTALL_DIR} /SDL2)
49
- set (JSON_ROOT_DIR ${_INSTALL_DIR} /json)
50
48
set (CLI11_ROOT_DIR ${_INSTALL_DIR} /CLI11)
51
49
set (WEBRTC_INCLUDE_DIR ${_INSTALL_DIR} /webrtc/include )
52
50
set (WEBRTC_LIBRARY_DIR ${_INSTALL_DIR} /webrtc/release)
53
51
54
52
list (APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR} /cmake ${SDL2_ROOT_DIR} /cmake)
55
53
list (APPEND CMAKE_PREFIX_PATH ${BOOST_ROOT_DIR} ${SDL2_ROOT_DIR} )
56
54
57
- elseif (MOMO_PACKAGE_NAME STREQUAL "macos " )
55
+ elseif (MOMO_PACKAGE_NAME STREQUAL "macos_arm64 " )
58
56
59
- set (_INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR} /build /macos/_install)
57
+ set (_INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR} /build /macos_arm64/_install)
58
+
59
+ set (TARGET_OS "macos" )
60
+ set (TARGET_ARCH "arm64" )
61
+ set (USE_H264 ON )
62
+ set (USE_SDL2 ON )
63
+ set (USE_SCREEN_CAPTURER ON )
64
+ set (BOOST_ROOT_DIR ${_INSTALL_DIR} /boost)
65
+ set (SDL2_ROOT_DIR ${_INSTALL_DIR} /SDL2)
66
+ set (CLI11_ROOT_DIR ${_INSTALL_DIR} /CLI11)
67
+ set (WEBRTC_INCLUDE_DIR ${_INSTALL_DIR} /webrtc/include )
68
+ set (WEBRTC_LIBRARY_DIR ${_INSTALL_DIR} /webrtc/lib)
69
+ set (CLANG_ROOT ${_INSTALL_DIR} /llvm/clang)
70
+
71
+ set (USE_LIBCXX ON )
72
+ set (LIBCXX_INCLUDE_DIR ${_INSTALL_DIR} /llvm/libcxx/include )
73
+
74
+ elseif (MOMO_PACKAGE_NAME STREQUAL "macos_x86_64" )
75
+
76
+ set (_INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR} /build /macos_x86_64/_install)
60
77
61
78
set (TARGET_OS "macos" )
62
79
set (TARGET_ARCH "x86_64" )
@@ -65,7 +82,6 @@ elseif(MOMO_PACKAGE_NAME STREQUAL "macos")
65
82
set (USE_SCREEN_CAPTURER ON )
66
83
set (BOOST_ROOT_DIR ${_INSTALL_DIR} /boost)
67
84
set (SDL2_ROOT_DIR ${_INSTALL_DIR} /SDL2)
68
- set (JSON_ROOT_DIR ${_INSTALL_DIR} /json)
69
85
set (CLI11_ROOT_DIR ${_INSTALL_DIR} /CLI11)
70
86
set (WEBRTC_INCLUDE_DIR ${_INSTALL_DIR} /webrtc/include )
71
87
set (WEBRTC_LIBRARY_DIR ${_INSTALL_DIR} /webrtc/lib)
@@ -83,7 +99,6 @@ elseif(MOMO_PACKAGE_NAME STREQUAL "raspberry-pi-os_armv6")
83
99
set (USE_MMAL_ENCODER ON )
84
100
set (USE_H264 ON )
85
101
set (BOOST_ROOT_DIR /root/boost)
86
- set (JSON_ROOT_DIR /root/json)
87
102
set (CLI11_ROOT_DIR /root/CLI11)
88
103
set (WEBRTC_INCLUDE_DIR /root/webrtc/include )
89
104
set (WEBRTC_LIBRARY_DIR /root/webrtc/lib)
@@ -106,7 +121,6 @@ elseif(MOMO_PACKAGE_NAME STREQUAL "raspberry-pi-os_armv7")
106
121
set (USE_SDL2 ON )
107
122
set (BOOST_ROOT_DIR /root/boost)
108
123
set (SDL2_ROOT_DIR /root/SDL2)
109
- set (JSON_ROOT_DIR /root/json)
110
124
set (CLI11_ROOT_DIR /root/CLI11)
111
125
set (WEBRTC_INCLUDE_DIR /root/webrtc/include )
112
126
set (WEBRTC_LIBRARY_DIR /root/webrtc/lib)
@@ -125,7 +139,6 @@ elseif(MOMO_PACKAGE_NAME STREQUAL "raspberry-pi-os_armv8")
125
139
set (TARGET_ARCH "arm" )
126
140
set (TARGET_ARCH_ARM "armv8" )
127
141
set (BOOST_ROOT_DIR /root/boost)
128
- set (JSON_ROOT_DIR /root/json)
129
142
set (CLI11_ROOT_DIR /root/CLI11)
130
143
set (WEBRTC_INCLUDE_DIR /root/webrtc/include )
131
144
set (WEBRTC_LIBRARY_DIR /root/webrtc/lib)
@@ -146,7 +159,6 @@ elseif(MOMO_PACKAGE_NAME STREQUAL "ubuntu-18.04_armv8_jetson_nano")
146
159
set (USE_SDL2 ON )
147
160
set (USE_LINUX_PULSE_AUDIO ON )
148
161
set (BOOST_ROOT_DIR /root/boost)
149
- set (JSON_ROOT_DIR /root/json)
150
162
set (CLI11_ROOT_DIR /root/CLI11)
151
163
set (SDL2_ROOT_DIR /root/SDL2)
152
164
set (WEBRTC_INCLUDE_DIR /root/webrtc/include )
@@ -168,7 +180,6 @@ elseif(MOMO_PACKAGE_NAME STREQUAL "ubuntu-18.04_armv8_jetson_xavier")
168
180
set (USE_SDL2 ON )
169
181
set (USE_LINUX_PULSE_AUDIO ON )
170
182
set (BOOST_ROOT_DIR /root/boost)
171
- set (JSON_ROOT_DIR /root/json)
172
183
set (CLI11_ROOT_DIR /root/CLI11)
173
184
set (SDL2_ROOT_DIR /root/SDL2)
174
185
set (WEBRTC_INCLUDE_DIR /root/webrtc/include )
@@ -189,7 +200,6 @@ elseif(MOMO_PACKAGE_NAME STREQUAL "ubuntu-18.04_x86_64")
189
200
set (USE_NVCODEC_ENCODER ON )
190
201
set (USE_SCREEN_CAPTURER ON )
191
202
set (BOOST_ROOT_DIR /root/boost)
192
- set (JSON_ROOT_DIR /root/json)
193
203
set (CLI11_ROOT_DIR /root/CLI11)
194
204
set (SDL2_ROOT_DIR /root/SDL2)
195
205
set (WEBRTC_INCLUDE_DIR /root/webrtc/include )
@@ -212,7 +222,6 @@ elseif(MOMO_PACKAGE_NAME STREQUAL "ubuntu-20.04_x86_64")
212
222
set (USE_NVCODEC_ENCODER ON )
213
223
set (USE_SCREEN_CAPTURER ON )
214
224
set (BOOST_ROOT_DIR /root/boost)
215
- set (JSON_ROOT_DIR /root/json)
216
225
set (CLI11_ROOT_DIR /root/CLI11)
217
226
set (SDL2_ROOT_DIR /root/SDL2)
218
227
set (WEBRTC_INCLUDE_DIR /root/webrtc/include )
@@ -272,6 +281,17 @@ if (TARGET_OS STREQUAL "linux")
272
281
endif ()
273
282
endif ()
274
283
284
+ if (TARGET_OS STREQUAL "macos" )
285
+ if (TARGET_ARCH STREQUAL "x86_64" )
286
+ set (ARCH_NAME x86_64-apple -darwin)
287
+ else ()
288
+ set (ARCH_NAME aarch64-apple -darwin)
289
+ set (CMAKE_SYSTEM_PROCESSOR arm64)
290
+ endif ()
291
+
292
+ set (CMAKE_C_COMPILER_TARGET ${ARCH_NAME} )
293
+ set (CMAKE_CXX_COMPILER_TARGET ${ARCH_NAME} )
294
+ endif ()
275
295
276
296
project (momo C CXX)
277
297
@@ -285,8 +305,7 @@ else()
285
305
endif ()
286
306
287
307
find_package (WebRTC REQUIRED)
288
- find_package (Boost REQUIRED COMPONENTS filesystem)
289
- find_package (JSON REQUIRED)
308
+ find_package (Boost REQUIRED COMPONENTS filesystem json)
290
309
find_package (CLI11 REQUIRED)
291
310
if (USE_SDL2)
292
311
find_package (SDL2 REQUIRED)
@@ -338,7 +357,7 @@ target_link_libraries(momo
338
357
PRIVATE
339
358
WebRTC::WebRTC
340
359
Boost::filesystem
341
- JSON::JSON
360
+ Boost::json
342
361
CLI11::CLI11
343
362
)
344
363
@@ -492,7 +511,7 @@ elseif (TARGET_OS STREQUAL "macos")
492
511
src/mac_helper/objc_codec_factory_helper.mm
493
512
)
494
513
495
- target_compile_options (momo PRIVATE -fconstant-string -class=NSConstantString)
514
+ target_compile_options (momo PRIVATE -fconstant-string -class=NSConstantString -mmacosx- version -min=11.0 )
496
515
target_link_options (momo PRIVATE -ObjC)
497
516
set_target_properties (momo PROPERTIES CXX_VISIBILITY_PRESET hidden)
498
517
0 commit comments