自用 CMakeLists 万能模板

cmake_minimum_required(VERSION 3.10)  # 必须
set(CMAKE_CXX_STANDARD 14)	# C++14

project(HelloWorld)  #工程名

include_directories("/usr/local/include/") # 头文件目录

link_directories("/usr/local/lib/") # 链接库目录

aux_source_directory(. SRCS) # 源文件
aux_source_directory(./abc SRCS)

set(CMAKE_C_FLAGS "-O1") # 设置C工程的 CFLAGS
set(CMAKE_CXX_FLAGS "-O0 -Werror") # 设置C++ 工程的 CXX_FLAGS

add_executable(${PROJECT_NAME} ${SRCS}) # 生成可执行文件,这里程序名即为功能名

target_link_libraries(${PROJECT_NAME} pthread) # 链接库

# 下面使用install作为项目打包使用
set(CMAKE_INSTALL_PREFIX ./dist)  # 自定义安装目录,打包使用
install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin) # 打包二进制文件

set(CONFIGS ${PROJECT_SOURCE_DIR}/hello.cf) 
install(FILES ${CONFIGS} DESTINATION config) # 打包配置文件
add_subdirectory(subdir) 多个目录多个工程使用这个命令

需要经过三个阶段 cmake make make install cmake中写的install就是指的把编译好的东西打包放到一个地方去 方便程序启动等等

make install

一般开源项目需要安装的,都有make install命令,这个命令是通过install函数实现的。安装的时候一般都需要指定安装路径,cmake里面通过设置CMAKE_INSTALL_PREFIX来实现的,可以在执行cmake的时候直接指定,比如cmake .. -DCMAKE_INSTALL_PREFIX=./local,Linux环境默认是/usr/local目录。可以使用此命令进行工程打包发布操作。
 

# 安装可执行文件
install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin)  # 安装在 /usr/local/bin目录

# 安装动态库到lib目录
install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION lib)  # 安装在 /usr/local/lib目录
install(TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION lib)  # 多用于静态库

# 安装对外头文件
install(TARGETS ${XXXX} PUBLIC_HEADER DESTINATION include)

# 安装其他文件,比如配置文件
install(FILES ${CONFIGS} DESTINATION config)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
cmakelists模板如下: ```cmake cmake_minimum_required(VERSION 3.23) project(opencvTask1) set(CMAKE_CXX_STANDARD 14) # 设置OpenCV的路径 set(OpenCV_DIR D:/Clion/openCV/build/x64/vc15/lib) # 寻找OpenCV库 find_package(OpenCV REQUIRED) # 添加OpenCV的头文件路径 include_directories(${OpenCV_INCLUDE_DIRS}) # 链接OpenCV的库文件 link_libraries(${OpenCV_LIBS}) # 添加可执行文件 add_executable(Project1 main.cpp) ``` 在CMakeLists.txt文件中,首先使用`cmake_minimum_required`指定要求的CMake版本,并使用`project`指定项目的名称。接下来,使用`set`设置C++标准的版本。然后,使用`set`设置OpenCV的路径,这里是`D:/Clion/openCV/build/x64/vc15/lib`。使用`find_package`在指定路径中寻找OpenCV库,并使用`include_directories`添加OpenCV的头文件路径。再使用`link_libraries`连接OpenCV的库文件。最后,使用`add_executable`添加可执行文件。 引用提供了完整的CMakeLists.txt文件内容,包括项目、C++标准的设置、OpenCV路径的设置、OpenCV库的查找、头文件路径的添加、库文件的链接和可执行文件的添加。引用说明了在指定的OpenCV路径中会自动寻找`openCVConfig.cmake`文件,这个文件是用于支持不同版本的OpenCV。引用再次提供了OpenCV路径的设置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [[openCV/C++/CMake]Clion中openCV的CMakeLists模板](https://blog.csdn.net/weixin_66896881/article/details/128086498)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杀神李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值