Skip to content

Commit b88a4da

Browse files
committed
examples の sdl_sample と messaging_recvonly_sample に CMakeLists.txt を追加する
統一形式のビルドに必要な CMakeLists.txt をトップレベルに配置。 src/ ディレクトリを直接参照するように修正。 - examples/sdl_sample/CMakeLists.txt を追加 - examples/messaging_recvonly_sample/CMakeLists.txt を追加
1 parent e33f990 commit b88a4da

File tree

2 files changed

+82
-0
lines changed

2 files changed

+82
-0
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
cmake_minimum_required(VERSION 3.23)
2+
3+
# Only interpret if() arguments as variables or keywords when unquoted.
4+
cmake_policy(SET CMP0054 NEW)
5+
# MSVC runtime library flags are selected by an abstraction.
6+
cmake_policy(SET CMP0091 NEW)
7+
8+
set(WEBRTC_INCLUDE_DIR "" CACHE PATH "WebRTC のインクルードディレクトリ")
9+
set(WEBRTC_LIBRARY_DIR "" CACHE PATH "WebRTC のライブラリディレクトリ")
10+
set(WEBRTC_LIBRARY_NAME "webrtc" CACHE STRING "WebRTC のライブラリ名")
11+
set(BOOST_ROOT "" CACHE PATH "Boost のルートディレクトリ")
12+
set(SORA_DIR "" CACHE PATH "Sora のルートディレクトリ")
13+
set(CLI11_DIR "" CACHE PATH "CLI11 のルートディレクトリ")
14+
15+
project(sora-messaging-recvonly-sample C CXX)
16+
17+
list(APPEND CMAKE_PREFIX_PATH ${SORA_DIR})
18+
list(APPEND CMAKE_MODULE_PATH ${SORA_DIR}/share/cmake)
19+
20+
set(Boost_USE_STATIC_LIBS ON)
21+
22+
find_package(Boost REQUIRED COMPONENTS json filesystem)
23+
find_package(WebRTC REQUIRED)
24+
find_package(Sora REQUIRED)
25+
find_package(Threads REQUIRED)
26+
27+
add_executable(messaging_recvonly_sample)
28+
set_target_properties(messaging_recvonly_sample PROPERTIES CXX_STANDARD 20 C_STANDARD 20)
29+
set_target_properties(messaging_recvonly_sample PROPERTIES POSITION_INDEPENDENT_CODE ON)
30+
set_target_properties(messaging_recvonly_sample PROPERTIES CXX_VISIBILITY_PRESET hidden)
31+
target_sources(messaging_recvonly_sample PRIVATE src/messaging_recvonly_sample.cpp)
32+
33+
target_compile_options(messaging_recvonly_sample
34+
PRIVATE
35+
"$<$<COMPILE_LANGUAGE:CXX>:-nostdinc++>"
36+
"$<$<COMPILE_LANGUAGE:CXX>:-isystem${LIBCXX_INCLUDE_DIR}>"
37+
)
38+
target_include_directories(messaging_recvonly_sample PRIVATE ${CLI11_DIR}/include)
39+
target_link_libraries(messaging_recvonly_sample PRIVATE Sora::sora)
40+
target_compile_definitions(messaging_recvonly_sample PRIVATE CLI11_HAS_FILESYSTEM=0)

examples/sdl_sample/CMakeLists.txt

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
cmake_minimum_required(VERSION 3.23)
2+
3+
# Only interpret if() arguments as variables or keywords when unquoted.
4+
cmake_policy(SET CMP0054 NEW)
5+
# MSVC runtime library flags are selected by an abstraction.
6+
cmake_policy(SET CMP0091 NEW)
7+
8+
set(WEBRTC_INCLUDE_DIR "" CACHE PATH "WebRTC のインクルードディレクトリ")
9+
set(WEBRTC_LIBRARY_DIR "" CACHE PATH "WebRTC のライブラリディレクトリ")
10+
set(WEBRTC_LIBRARY_NAME "webrtc" CACHE STRING "WebRTC のライブラリ名")
11+
set(BOOST_ROOT "" CACHE PATH "Boost のルートディレクトリ")
12+
set(SORA_DIR "" CACHE PATH "Sora のルートディレクトリ")
13+
set(SDL3_DIR "" CACHE PATH "SDL3 のルートディレクトリ")
14+
set(CLI11_DIR "" CACHE PATH "CLI11 のルートディレクトリ")
15+
16+
project(sora-sdl-sample C CXX)
17+
18+
list(APPEND CMAKE_PREFIX_PATH ${SORA_DIR} ${SDL3_DIR})
19+
list(APPEND CMAKE_MODULE_PATH ${SORA_DIR}/share/cmake)
20+
21+
set(Boost_USE_STATIC_LIBS ON)
22+
23+
find_package(Boost REQUIRED COMPONENTS json filesystem)
24+
find_package(WebRTC REQUIRED)
25+
find_package(Sora REQUIRED)
26+
find_package(SDL3 REQUIRED)
27+
find_package(Threads REQUIRED)
28+
29+
add_executable(sdl_sample)
30+
set_target_properties(sdl_sample PROPERTIES CXX_STANDARD 20 C_STANDARD 20)
31+
set_target_properties(sdl_sample PROPERTIES POSITION_INDEPENDENT_CODE ON)
32+
set_target_properties(sdl_sample PROPERTIES CXX_VISIBILITY_PRESET hidden)
33+
target_sources(sdl_sample PRIVATE src/sdl_sample.cpp src/sdl_renderer.cpp)
34+
35+
target_compile_options(sdl_sample
36+
PRIVATE
37+
"$<$<COMPILE_LANGUAGE:CXX>:-nostdinc++>"
38+
"$<$<COMPILE_LANGUAGE:CXX>:-isystem${LIBCXX_INCLUDE_DIR}>"
39+
)
40+
target_include_directories(sdl_sample PRIVATE ${CLI11_DIR}/include)
41+
target_link_libraries(sdl_sample PRIVATE Sora::sora SDL3::SDL3)
42+
target_compile_definitions(sdl_sample PRIVATE CLI11_HAS_FILESYSTEM=0)

0 commit comments

Comments
 (0)