1、目录结构:
2、顶层cmake内容:
cmake_minimum_required(VERSION 3.0)
set(LIB_DIR ./libs)
set(OUTPUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/install)
set(LIBRARY_OUTPUT_PATH ${OUTPUT_DIR}/lib)
set(EXECUTABLE_OUTPUT_PATH ${OUTPUT_DIR}/bin)
add_subdirectory(src)
add_subdirectory(sample)
file(GLOB_RECURSE HPP_SRC_LIST ${CMAKE_CURRENT_SOURCE_DIR}/include/imsee.hpp)
file(COPY ${HPP_SRC_LIST} DESTINATION ${LIBRARY_OUTPUT_PATH}/../include)
file(GLOB_RECURSE SAMPLE_SRC_LIST ${CMAKE_CURRENT_SOURCE_DIR}/sample/main.pp)
file(COPY ${SAMPLE_SRC_LIST} DESTINATION ${LIBRARY_OUTPUT_PATH}/../sample)
3、src目录里面的内容
CMakeLists.txt的内容:
include_directories(../include)
project(imsee VERSION sensor)
set(SRC imsee.cpp)
link_libraries(pthread)
add_library(imsee SHARED ${SRC})
add_custom_command(TARGET ${PROJECT_NAME} PRE_BUILD COMMAND rm -f ${LIBRARY_OUTPUT_PATH}/lib${PROJECT_NAME}.so*)
set_target_properties(imsee PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION 1)
生成的库:
4、sample里面的内容
CMakeLists.txt的内容:
cmake_minimum_required(VERSION 3.0)
project(Imsee)
include_directories(../include)
set(SRC_DIR ./main.cpp )
link_libraries(${CMAKE_CURRENT_SOURCE_DIR}/../install/lib/libimsee.so)
link_libraries(${CMAKE_CURRENT_SOURCE_DIR}/../libs/libusb-1.0.so)
link_libraries(pthread)
find_package(OpenCV 3 REQUIRED) #在设置的地址下,查找opencv
include_directories(${OpenCV_INCLUDE_DIRS})
link_libraries(${OpenCV_LIBS})
add_executable(Imsee ${SRC_DIR})
5、添加版本
1)创建Version.cmake
内容为:
set(sensor 0.0.1)
2) 包含这个.cmake 文件
include(${CMAKE_CURRENT_SOURCE_DIR}/Version.cmake)
3) 各个模块在使用的时候,project()里面添加这个变量
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)