CMakeLists.txt 编写模板

 

新建文件   CMakeLists.txt

# 设置cmake的最低版本 
cmake_minimum_required(VERSION 2.8)

# 指定为C++11 版本
set(CMAKE_CXX_STANDARD 11)

# 设置工程名称
project(wss)
message(${PROJECT_SOURCE_DIR})


set (SRC_LIST 
    ${PROJECT_SOURCE_DIR}/src/websocket_server.cpp
    ${PROJECT_SOURCE_DIR}/src/eloamcamera_handler.cpp
    ${PROJECT_SOURCE_DIR}/src/compress.cpp
    ${PROJECT_SOURCE_DIR}/src/compress.cpp
    )


include_directories (
    ${PROJECT_SOURCE_DIR}/include
    ${PROJECT_SOURCE_DIR}/include/hv
    ${PROJECT_SOURCE_DIR}/include/jpeg-9b
    )

add_executable(eloamwss ${SRC_LIST})

target_link_libraries (eloamwss
    ${PROJECT_SOURCE_DIR}/lib/libhv_static.a
    ${PROJECT_SOURCE_DIR}/lib/libjpeg.a
    ${PROJECT_SOURCE_DIR}/lib/liblocker.a
    ${PROJECT_SOURCE_DIR}/lib/libcamapi.so
    ${PROJECT_SOURCE_DIR}/lib/libImageProc.so
    -lpthread
    )


set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)

 

 

CMake更多设置

# 设置CMake所需的最低版本
cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
# cmake_minimum_required(VERSION 3.5)

# 设置项目的名称
project(demo)
# project(demo LANGUAGES CXX)

# 设置C++版本
set(CMAKE_CXX_STANDARD 20)

# 设置构建类型
set(CMAKE_BUILD_TYPE "Release")

# 添加存放头文件的文件夹
include_directories(${PROJECT_SOURCE_DIR}/include)

# 创建执行程序
# add_executable(test main.cpp)

# set(SRC_LIST ${PROJECT_SOURCE_DIR}/main.cpp)
# add_executable(test ${SRC_LIST})

aux_source_directory(${PROJECT_SOURCE_DIR} SRC_LIST)
add_executable(test ${SRC_LIST})

# 设置编译后的程序存放位置
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR})

# 链接动态库
target_link_libraries(test 
    ${PROJECT_SOURCE_DIR}/lib/libopencv_world.so
)

# 条件控制编译(set优先级会更高)
# set(LOAD_FFMPEG OFF)
option(LOAD_FFMPEG "Whether to load FFmpeg" ON)
if(NOT DEFINED LOAD_FFMPEG)  # 如果没有通过命令行设置
    set(LOAD_FFMPEG ON)
endif()
if(LOAD_FFMPEG)
    message("load ffmpeg success")
else()
    message("load ffmpeg fail")
endif()

# 检测操作系统
message(${CMAKE_SYSTEM_NAME})
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
    message("linux")
else()
    message("other")
endif()

# 给源代码设置宏
target_compile_definitions(test PUBLIC IS_LINUX)

# 获取处理器架构
message(${CMAKE_HOST_SYSTEM_PROCESSOR})

 

posted @ 2023-06-05 13:36  十一的杂文录  阅读(234)  评论(0)    收藏  举报