|
@@ -0,0 +1,82 @@
|
|
|
|
+cmake_minimum_required(VERSION 2.8.12)
|
|
|
|
+project(usb_cam_python)
|
|
|
|
+
|
|
|
|
+# 设置编译目标类型是release版还是debug版本
|
|
|
|
+set(CMAKE_BUILD_TYPE "Release")
|
|
|
|
+
|
|
|
|
+# 设置C++版本
|
|
|
|
+set(CMAKE_CXX_STANDARD 11)
|
|
|
|
+
|
|
|
|
+# 编译参数指定,如生成位置无关的动态库
|
|
|
|
+set(CMAKE_CXX_FLAGS "-fPIC")
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+unset(postproc_var CACHE)
|
|
|
|
+find_library(postproc_var NAMES postproc)
|
|
|
|
+#message("var: ${postproc_var}")
|
|
|
|
+if(postproc_var STREQUAL "postproc_var-NOTFOUND")
|
|
|
|
+ message(FATAL_ERROR "not found postproc. Please sudo apt-get install libpostproc-dev")
|
|
|
|
+endif()
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+unset(swresample_var CACHE)
|
|
|
|
+find_library(swresample_var NAMES swresample)
|
|
|
|
+if(swresample_var STREQUAL "swresample_var-NOTFOUND")
|
|
|
|
+ message(FATAL_ERROR "not found swresample. Please sudo apt-get install libswresample-dev")
|
|
|
|
+endif()
|
|
|
|
+
|
|
|
|
+unset(swscale_var CACHE)
|
|
|
|
+find_library(swscale_var NAMES swscale)
|
|
|
|
+if(swscale_var STREQUAL "swscale_var-NOTFOUND")
|
|
|
|
+ message(FATAL_ERROR "not found swscale. Please sudo apt-get install libswscale-dev")
|
|
|
|
+endif()
|
|
|
|
+
|
|
|
|
+unset(avfilter_var CACHE)
|
|
|
|
+find_library(avfilter_var NAMES avfilter)
|
|
|
|
+if(avfilter_var STREQUAL "avfilter_var-NOTFOUND")
|
|
|
|
+ message(FATAL_ERROR "not found avfilter. Please sudo apt-get install libavfilter-dev")
|
|
|
|
+endif()
|
|
|
|
+
|
|
|
|
+unset(avutil_var CACHE)
|
|
|
|
+find_library(avutil_var NAMES avutil)
|
|
|
|
+if(avutil_var STREQUAL "avutil_var-NOTFOUND")
|
|
|
|
+ message(FATAL_ERROR "not found avutil. Please sudo apt-get install libavutil-dev")
|
|
|
|
+endif()
|
|
|
|
+
|
|
|
|
+unset(avdevice_var CACHE)
|
|
|
|
+find_library(avdevice_var NAMES avdevice)
|
|
|
|
+if(avdevice_var STREQUAL "avdevice_var-NOTFOUND")
|
|
|
|
+ message(FATAL_ERROR "not found avdevice. Please sudo apt-get install libavdevice-dev")
|
|
|
|
+endif()
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+# 为当前目录及以下目录中的可执行文件、共享库或模块库目标的链接步骤添加选项,如链接phread库
|
|
|
|
+add_link_options(-pthread)
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+# 等价于gcc -I
|
|
|
|
+include_directories(
|
|
|
|
+ ${PROJECT_SOURCE_DIR}
|
|
|
|
+ )
|
|
|
|
+
|
|
|
|
+#add_subdirectory(${PROJECT_SOURCE_DIR}/src/base)
|
|
|
|
+
|
|
|
|
+# 将main.cc test.cc存到变量SRC_FILE内
|
|
|
|
+set(SRC_FILE ${PROJECT_SOURCE_DIR}/usb_cam.cpp
|
|
|
|
+ ${PROJECT_SOURCE_DIR}/usb_cam_python.cpp)
|
|
|
|
+
|
|
|
|
+# 自动扫描当前路径下的所有源文件存到变量SRC_FILE内
|
|
|
|
+#aux_source_directory(. SRC_FILE)
|
|
|
|
+
|
|
|
|
+# 生成目标库文件,SHARED代表动态的,STATIC代表静态的
|
|
|
|
+add_library(${PROJECT_NAME} SHARED ${SRC_FILE})
|
|
|
|
+
|
|
|
|
+# 链接api.so,注意路径要写全
|
|
|
|
+#target_link_libraries(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/lib/api.so)
|
|
|
|
+
|
|
|
|
+target_link_libraries(${PROJECT_NAME} postproc swresample swscale avfilter avdevice avformat avcodec avutil m dl)
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|