CMake实践
来源:互联网 发布:澳洲工资算法 编辑:程序博客网 时间:2024/06/05 21:10
最近工作需求,需要从win平台移植到linux平台。上面建议用CMake,学习了一下,下面通过一个实例来说明、回顾一下CMake的使用。
cmake_minimum_required(VERSION 2.8)PROJECT(firest_test)ADD_DEFINITIONS(-D_CONSOLE)ADD_DEFINITIONS(-DWIN32)ADD_DEFINITIONS(-D_DEBUG)AUX_SOURCE_DIRECTORY(firest_test DIR_SRC_MAIN)# show files in subdir#FOREACH(file ${firest_test})#MESSAGE(STATUS ${file})#ENDFOREACH(file)# include filesINCLUDE_DIRECTORIES(E:\boost\include)# library files#TARGET_LINK_LIBRARIES(firest_test libboost)AUX_SOURCE_DIRECTORY(testcase DIR_TEST_CASE)SET(TOTAL_SRCS ${DIR_SRC_MAIN} ${DIR_TEST_CASE})ADD_EXECUTABLE(firest_test ${TOTAL_SRCS})
cmake_minimum_required 这个是说明该CMakeLists.txt执行的CMake版本需求,不写会有警告。
PROJECT(projectname) projectname 工程名,网上很多实例都是大写,根据实际情况,其就是执行CMake后生成的sln文件名
ADD_DEFINITIONS 向编译器定义宏或者参数。如ADD_DEFINITIONS(-Wall)
AUX_SOURCE_DIRECTORY(dir var) 发现dir目录下的所有源文件,并存储在var中
INCLUDE_DIRECTORIES(include_dir) 包含目录的路径,如果你工程引用到其他库,
TARGET_LINK_LIBRARIES(target,lib_file) 目标文件链接时需要的库文件。
SET(var value1 value2 ...) 设置变量,可以一次设置多个值,值之间用空格或分号隔开
ADD_EXECUTABLE(target filelist) 设置目标生成文件,filelist为依赖的源文件列表
最后关于CMake的运行问题。有In-Source和Out-of-Source两种类型。
In-Source 就是在工程目录下,运行CMake . (即在当前目录下运行,一般是工程目录下) 但是这种方式,有一个很大的弊病就是CMake生成的文件会污染我们自己的工程文件,如果你的源文件都没有CMake生成的多,就知道效果了。
Out-Of-Source这种是比较推荐的。就是在其他我们需要生成的目录下,运行CMake CMakeLists.txt所在的文件路径即可,所有CMake生成的文件都会在本目录下,而不会污染工程源文件。
- Cmake 实践
- CMake实践
- Cmake实践
- cmake实践
- CMake实践1
- CMake实践2
- CMake实践3
- CMake实践笔记
- Cmake实践 [转Cjacker]
- CMake实践笔记
- CMake 入门实践
- CMake入门实践
- Cmake的介绍和使用 Cmake实践
- Cmake的介绍和使用 Cmake实践
- cmake介绍和使用cmake实践
- Cmake的介绍和使用 Cmake实践
- Cmake的介绍和使用 Cmake实践
- Cmake的介绍和使用 Cmake实践
- 如何用Linux命令行管理网络:11个你必须知道的命令
- 分别用pfile 生成spfile 和用spfile 生成pfile;分别用这两个参数启动数据库。
- JavaEE的13种核心技术
- Oracle 归档与非归档的切换
- 寻找数组中的第k个数(序)
- CMake实践
- 第一周项目三某天是该年的第几天
- 误删除日志文件导致出现 ORA-01034&ORA-27101错误
- android utest 测试
- [Windows/MacOSX]_初级_[在英文环境下不使用软键盘输入希腊字母]
- poj3211Washing Clothes(分成多组01背包) .......经典
- C3P0简单配置
- 链接sqlserver2008错误提示及解决办法
- C#记事本查找与替换问题??