cmake调用third_party库

Cmake Call third-party Lib

[Cmake] https://cmake.org/cmake/help/v3.8/manual/cmake-buildsystem.7.html

[Qt官方手册] http://doc.qt.io/qt-5/cmake-manual.html

Cmake 中调用Qt库

  cmake_minimum_required(VERSION 3.8.2)
  project(demo)

  set(CMAKE_CXX_STANDARD 11)

  # Find includes in corresponding build directories
  set(CMAKE_INCLUDE_CURRENT_DIR ON)

  # Instruct CMake to run moc automatically when needed.
  set(CMAKE_AUTOMOC ON)

  include_directories(include /home/hhit/lib/ffmpeg-release/include)

  link_directories(lib /home/hhit/lib/ffmpeg-release/lib)

  # Find the QtWidgets library
  find_package(Qt5Widgets)

  # Tell CMake to create the helloworld executable
  add_executable(demo hhvideoalarm.cpp  hhvideostream.cpp  hhvideowidget.cpp  main.cpp  widget.cpp)

  # Use the Widgets module from Qt 5.
  target_link_libraries(demo Qt5::Widgets hhclient avcodec avformat swscale avdevice avfilter avutil swresample)

Cmake 中调用SDL2

INCLUDE_DIRECTORIES(/Library/Frameworks/SDL2.framework/Headers/
        /Library/Frameworks/SDL2_image.framework/Headers/)
.......
TARGET_LINK_LIBRARIES(untitled5 ${SDL2_LIBRARIES} ${SDL2IMAGE_LIBRARY})

Cmake中调用ffmpeg

INCLUDE_DIRECTORIES(/usr/local/Cellar/ffmpeg/3.3.2/include)
link_directories(/usr/local/Cellar/ffmpeg/3.3.2/lib)
LINK_LIBRARIES(
        libavcodec.a    libavfilter.a   libavresample.a libpostproc.a   libswscale.a
        libavdevice.a   libavformat.a   libavutil.a     libswresample.a
)

Cmake中调用opencv3

安装opencv

编译环境安装:
sudo apt-get install build-essential

必需包安装:
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

可选包安装:
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

编译
cmake  -D CMAKE_INSTALL_PREFIX=/usr/local/opencv-3.1.0  -D BUILD_TIFF=ON -D WITH_FFMPEG=ON  ..
make

调用

set(OpenCV_DIR /usr/local/Cellar/opencv3/3.2.0/share/OpenCV)
find_package( OpenCV REQUIRED )
......
target_link_libraries( untitled5 ${OpenCV_LIBS})
cmake_minimum_required(VERSION 3.8.0 FATAL_ERROR) project(mcu_kit VERSION 0.1.0 DESCRIPTION "mcu-kit SDK" LANGUAGES C ) set(PROJECT_BRIEF "vDiscovery") set(CMAKE_C_STANDARD 11) set(CMAKE_C_EXTENSIONS ON) set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_CXX_STANDARD 11) set(CMAKE_POSITION_INDEPENDENT_CODE ON) add_compile_options(-Wall) list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") include(CMakePrintHelpers) include(ConfigureChecks) if(EXISTS "${PROJECT_SOURCE_DIR}/config.cmake") include(config.cmake) else() message(FATAL_ERROR "Can't find cmake.config file") endif() if(${CMAKE_CROSSCOMPILING}) set(LV_SIMULATOR_ON_PC OFF) else() set(LV_SIMULATOR_ON_PC ON) endif() configure_file( "${PROJECT_SOURCE_DIR}/base/base_sdk_version.h.in" "${PROJECT_SOURCE_DIR}/base/base_sdk_version.h" ) configure_file( "${PROJECT_SOURCE_DIR}/base/base_config.h.in" "${PROJECT_SOURCE_DIR}/base/base_config.h" ) set(CMAKE_INSTALL_BINDIR ${CMAKE_INSTALL_PREFIX}/bin) set(CMAKE_INSTALL_SBINDIR ${CMAKE_INSTALL_PREFIX}/sbin) set(CMAKE_INSTALL_LIBDIR ${CMAKE_INSTALL_PREFIX}/lib) set(CMAKE_INSTALL_INCLUDEDIR ${CMAKE_INSTALL_PREFIX}/include) set(CMAKE_INSTALL_SYSCONFDIR ${CMAKE_INSTALL_PREFIX}/etc) set(CMAKE_INSTALL_SHARESTATEDIR ${CMAKE_INSTALL_PREFIX}/com) set(CMAKE_INSTALL_LOCALSTATEDIR ${CMAKE_INSTALL_PREFIX}/var) set(CMAKE_INSTALL_INFODIR ${CMAKE_INSTALL_PREFIX}/info) set(CMAKE_INSTALL_LOCALEDIR ${CMAKE_INSTALL_PREFIX}/locate) set(CMAKE_INSTALL_MANDIR ${CMAKE_INSTALL_PREFIX}/man) set(CMAKE_INSTALL_DOCDIR ${CMAKE_INSTALL_PREFIX}/doc) set(CMAKE_INSTALL_RESDIR ${CMAKE_INSTALL_PREFIX}) include(PrepareInstall) set(KIT_ROOT_DIR ${CMAKE_SOURCE_DIR}) add_subdirectory("base") # add_subdirectory("third-party") add_subdirectory("lib") add_subdirectory("drivers") add_subdirectory("framework") add_subdirectory("sysapp") add_subdirectory("app") include(GeneratePkgConfig) include(Linux-kitInfo)详细注释一下这段代码
05-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值