2025-09-08 10:05:03 +08:00
|
|
|
cmake_minimum_required(VERSION 3.10)
|
2025-09-08 10:14:14 +08:00
|
|
|
|
2025-11-14 10:40:58 +08:00
|
|
|
# 可配置的项目名称
|
|
|
|
|
set(APP_NAME "video_manager")
|
|
|
|
|
|
|
|
|
|
# 可配置的配置文件名
|
|
|
|
|
set(CONFIG_FILE "config.json")
|
|
|
|
|
|
|
|
|
|
project(${APP_NAME})
|
2025-09-08 10:05:03 +08:00
|
|
|
|
2025-11-13 14:06:52 +08:00
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
2025-09-08 10:05:03 +08:00
|
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
|
|
2025-09-08 10:30:12 +08:00
|
|
|
add_compile_definitions(GLIB_DISABLE_DEPRECATION_WARNINGS)
|
|
|
|
|
|
2025-11-14 10:40:58 +08:00
|
|
|
# 输出目录
|
2025-09-08 10:17:37 +08:00
|
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin)
|
2025-09-08 10:14:14 +08:00
|
|
|
|
2025-11-14 10:40:58 +08:00
|
|
|
# GStreamer
|
2025-09-08 10:05:03 +08:00
|
|
|
find_package(PkgConfig REQUIRED)
|
|
|
|
|
pkg_check_modules(GSTREAMER REQUIRED gstreamer-1.0)
|
|
|
|
|
|
2025-11-14 10:40:58 +08:00
|
|
|
# include 路径
|
2025-09-08 10:05:03 +08:00
|
|
|
include_directories(
|
|
|
|
|
${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-11-14 10:40:58 +08:00
|
|
|
# 源文件
|
2025-09-08 10:05:03 +08:00
|
|
|
file(GLOB SRC_FILES src/*.cpp)
|
|
|
|
|
|
2025-11-14 10:40:58 +08:00
|
|
|
# 生成可执行文件
|
|
|
|
|
add_executable(${APP_NAME} ${SRC_FILES})
|
2025-09-08 10:05:03 +08:00
|
|
|
|
2025-11-14 10:40:58 +08:00
|
|
|
# lib 路径
|
2025-09-08 10:05:03 +08:00
|
|
|
link_directories(
|
|
|
|
|
${GSTREAMER_LIBRARY_DIRS}
|
2025-09-08 11:28:49 +08:00
|
|
|
${CMAKE_SOURCE_DIR}/third_party/lib
|
2025-09-08 10:05:03 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# 链接库
|
2025-11-14 10:40:58 +08:00
|
|
|
target_link_libraries(${APP_NAME}
|
2025-09-08 10:05:03 +08:00
|
|
|
${GSTREAMER_LIBRARIES}
|
|
|
|
|
pthread
|
2025-11-14 10:40:58 +08:00
|
|
|
mp4v2
|
|
|
|
|
util
|
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-11-14 10:40:58 +08:00
|
|
|
# 拷贝配置文件
|
|
|
|
|
add_custom_command(TARGET ${APP_NAME} POST_BUILD
|
2025-09-08 10:05:03 +08:00
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
2025-11-14 10:40:58 +08:00
|
|
|
${CMAKE_SOURCE_DIR}/${CONFIG_FILE}
|
|
|
|
|
$<TARGET_FILE_DIR:${APP_NAME}>/${CONFIG_FILE}
|
2025-09-08 10:05:03 +08:00
|
|
|
)
|