57 lines
1.6 KiB
CMake
57 lines
1.6 KiB
CMake
cmake_minimum_required(VERSION 3.10)
|
|
|
|
project(rtmp_publisher)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
add_compile_definitions(GLIB_DISABLE_DEPRECATION_WARNINGS)
|
|
|
|
# 输出到工程 bin/
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
|
|
|
|
# ---------- GStreamer ----------
|
|
find_package(PkgConfig REQUIRED)
|
|
pkg_check_modules(GSTREAMER REQUIRED gstreamer-1.0)
|
|
|
|
# ---------- 源码 ----------
|
|
file(GLOB SRC_FILES src/*.cpp)
|
|
|
|
add_executable(camera_to_rtmp ${SRC_FILES})
|
|
|
|
# ---------- 头文件 ----------
|
|
target_include_directories(camera_to_rtmp PRIVATE
|
|
${CMAKE_SOURCE_DIR}/include
|
|
${CMAKE_SOURCE_DIR}/third_party/include
|
|
${CMAKE_SOURCE_DIR}/third_party/include/paho_mqtt
|
|
${GSTREAMER_INCLUDE_DIRS}
|
|
)
|
|
|
|
# ---------- 链接库 ----------
|
|
target_link_directories(camera_to_rtmp PRIVATE
|
|
${CMAKE_SOURCE_DIR}/third_party/lib
|
|
)
|
|
|
|
target_link_libraries(camera_to_rtmp
|
|
${GSTREAMER_LIBRARIES}
|
|
pthread
|
|
${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
|
|
)
|
|
|
|
# ---------- RPATH ----------
|
|
set_target_properties(camera_to_rtmp PROPERTIES
|
|
BUILD_RPATH "\$ORIGIN/lib"
|
|
INSTALL_RPATH "\$ORIGIN/lib"
|
|
)
|
|
|
|
# ---------- 配置文件 ----------
|
|
add_custom_command(
|
|
TARGET camera_to_rtmp POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E make_directory $<TARGET_FILE_DIR:camera_to_rtmp>
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
${CMAKE_SOURCE_DIR}/config.json
|
|
$<TARGET_FILE_DIR:camera_to_rtmp>/config.json.default
|
|
)
|