yituo_video/CMakeLists.txt

57 lines
1.6 KiB
CMake
Raw Permalink Normal View History

2025-09-08 10:05:03 +08:00
cmake_minimum_required(VERSION 3.10)
2025-09-08 10:14:14 +08:00
2025-12-17 17:21:11 +08:00
project(rtmp_publisher)
2025-09-08 10:05:03 +08:00
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
2025-09-08 10:30:12 +08:00
add_compile_definitions(GLIB_DISABLE_DEPRECATION_WARNINGS)
2025-12-17 17:21:11 +08:00
# 输出到工程 bin/
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
2025-09-08 10:14:14 +08:00
2025-12-17 17:21:11 +08:00
# ---------- GStreamer ----------
2025-09-08 10:05:03 +08:00
find_package(PkgConfig REQUIRED)
pkg_check_modules(GSTREAMER REQUIRED gstreamer-1.0)
2025-12-17 17:21:11 +08:00
# ---------- 源码 ----------
file(GLOB SRC_FILES src/*.cpp)
add_executable(camera_to_rtmp ${SRC_FILES})
# ---------- 头文件 ----------
target_include_directories(camera_to_rtmp PRIVATE
2025-09-08 10:05:03 +08:00
${CMAKE_SOURCE_DIR}/include
${CMAKE_SOURCE_DIR}/third_party/include
2025-09-08 11:01:08 +08:00
${CMAKE_SOURCE_DIR}/third_party/include/paho_mqtt
2025-09-08 10:05:03 +08:00
${GSTREAMER_INCLUDE_DIRS}
)
2025-12-17 17:21:11 +08:00
# ---------- 链接库 ----------
target_link_directories(camera_to_rtmp PRIVATE
2025-09-08 11:28:49 +08:00
${CMAKE_SOURCE_DIR}/third_party/lib
2025-09-08 10:05:03 +08:00
)
2025-12-17 17:21:11 +08:00
target_link_libraries(camera_to_rtmp
2025-09-08 10:05:03 +08:00
${GSTREAMER_LIBRARIES}
pthread
2025-09-08 11:32:19 +08:00
${CMAKE_SOURCE_DIR}/third_party/lib/libpaho-mqttpp3.a
${CMAKE_SOURCE_DIR}/third_party/lib/libpaho-mqtt3a.a
${CMAKE_SOURCE_DIR}/third_party/lib/libpaho-mqtt3c.a
2025-09-08 10:05:03 +08:00
)
2025-12-17 17:21:11 +08:00
# ---------- RPATH ----------
set_target_properties(camera_to_rtmp PROPERTIES
2025-11-21 15:06:57 +08:00
BUILD_RPATH "\$ORIGIN/lib"
INSTALL_RPATH "\$ORIGIN/lib"
)
2025-12-17 17:21:11 +08:00
# ---------- 配置文件 ----------
2025-11-20 09:30:32 +08:00
add_custom_command(
2025-12-17 17:21:11 +08:00
TARGET camera_to_rtmp POST_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory $<TARGET_FILE_DIR:camera_to_rtmp>
2025-11-20 09:36:12 +08:00
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${CMAKE_SOURCE_DIR}/config.json
2025-12-17 17:21:11 +08:00
$<TARGET_FILE_DIR:camera_to_rtmp>/config.json.default
2025-09-08 10:05:03 +08:00
)