sweeper_video/CMakeLists.txt

56 lines
1.4 KiB
CMake
Raw Normal View History

2025-12-30 08:43:52 +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")
# 可配置的配置文件名
2025-12-29 17:45:57 +08:00
set(CONFIG_EXAMPLE_FILE "config.example.json")
2025-11-14 10:40:58 +08:00
set(CONFIG_FILE "config.json")
project(${APP_NAME})
2025-09-08 10:05:03 +08:00
2026-01-30 15:50:40 +08:00
set(CMAKE_CXX_STANDARD 17)
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)
2026-03-19 10:14:40 +08:00
add_compile_definitions(ASIO_STANDALONE)
2025-09-08 10:30:12 +08:00
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
2026-03-19 10:14:40 +08:00
${CMAKE_SOURCE_DIR}/third_party/asio/include
2025-09-08 10:05:03 +08:00
${GSTREAMER_INCLUDE_DIRS}
2026-03-19 10:14:40 +08:00
/usr/include
2025-09-08 10:05:03 +08:00
)
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:42:51 +08:00
${CMAKE_SOURCE_DIR}/third_party/lib/libmp4v2.a
${CMAKE_SOURCE_DIR}/third_party/lib/libutil.a
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
2026-03-19 10:14:40 +08:00
)