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 $ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_SOURCE_DIR}/config.json $/config.json.default )