CmakeLists简单使用总结

单文件工程和多级目录工程CmakeLists.txt编写分享

你若发现该帖中有待商榷的地方,还请指正赐教,先行拜谢了!

1 main.c单文件工程CmakeLists.txt

1.1 目录结构

CmakeLists简单使用总结

1.2 CmakeLists.txt

 1 #指定cmake最低版本号
 2 cmake_minimum_required(VERSION 3.0)
 3 #指定项目名称
 4 project(main)
 5 
 6 #指定源文件编译成main
 7 add_executable(main main.c)
 8 
 9 #指定可执行文件的输出路径
10 set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR})

2 多目录工程CmakeLists.txt

2.1 目录结构

CmakeLists简单使用总结

2.2 CmakeLists.txt

(1)根目录CmakeLists.txt

 1 #指定cmake最低版本号
 2 cmake_minimum_required(VERSION 3.0)
 3 
 4 #指定项目名称
 5 project(CmakeProjDemo)
 6 
 7 #指定可执行文件的输出路径位bin目录
 8 set(EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/bin)
 9 
10 #指定子目录
11 add_subdirectory(src)
12 #-----------------------以上是顶层目录的必需品-----------------
13 
14 
15 #main.c中#include "Pub.h" & #include "Calculator.h",需要指定include目录
16 include_directories(${CMAKE_SOURCE_DIR}/include) #没有这一行肯定报错找不到Pub.h & Calculator.h
17 
18 #指定源文件编译成CmakeProjDemo
19 add_executable(CmakeProjDemo main.c)
20 
21 #编译可执行文件时,main.c需要指定他的动态链接目录,需要放在add_executable(CmakeProjDemo main.c)之后
22 target_link_libraries(CmakeProjDemo src)

(2)src目录CmakeLists.txt

 1 #该目录记为module_src
 2 set(module_src src)
 3 
 4 #当前目录下所有的源文件赋给source_src
 5 aux_source_directory(. source_src)
 6 
 7 #指定src目录下源文件 #include "Pub.h" & #include "Calculator.h"
 8 include_directories(${CMAKE_SOURCE_DIR}/include) 9 
10 #编译动态库
11 add_library(${module_src} ${source_src})

 

上一篇:记一次MySQL数据库备份恢复演练实验


下一篇:PHP防止富文本编辑器让服务器产生过多垃圾图片