您的位置:首页 > 其它

cmake命令学习备忘

2016-12-24 21:47 120 查看

cmake是编译c、c++的工具。将主要的命令作以下记录,一来加深印象,二来备忘。

================================================================

1、#是注释符号

2、SET(变量A 变量B)

例如

SET(SRC_LIST a.c b.c ab.c)

意思是将a.c b.c ab.c三个文件作为一个list赋值给SRC_LIST,也可以

set(SRC a.c )

意思是将a.c赋值给SRC,可以通过${SRC}来得到a.c。命令不分大小写。

3、判断

if(1)

SET(SRC a.c )

elseif(1)

SET(SRC b.c )

endif()

4、循环

SET(mylist “a” “b” c “d”)

foreach(f ${mylist})

message(“1+1=2”)

endforeach()

WHILE(1)

message(${mylist})

ENDWHILE()

5、project(hello)

指定项目名称

6、include_directories(directory1 directory2 …)

指定头文件的搜索路径,不执行

7、link_directories(directory1 directory2 …)

指定库文件的搜索路径,不执行

8、add_subdirectory()

包含子目录

9、add_executable(可执行文件名 生成该可执行文件的源文件)

执行编译

add_executable(aaa ${mylist })

生成名称为aaa的可执行文件

10、target_link_libraries(f1 f2)

执行链接

TARGET_LINK_LIBRARIES(aaa bbb)

aaa连接libbbb.so库

11、add_library(directory1 directory2 …)

编译成库文件

ADD_LIBRARY(aaa SHARED ${mylist})

生成名称为aaa的动态链接库

ADD_LIBRARY(aaa STATIC ${mylist})

生成名称为aaa的静态链接库

12、aux_source_directory(dir variable)

将dir中的所有源文件(不包括头文件)保存到variable中

13、MESSAGE()

打印信息

14、add_definitions()

增加编译参数

15、内部变量

CMAKE_C_COMPILER:指定C编译器

CMAKE_CXX_COMPILER:

EXECUTABLE_OUTPUT_PATH:可执行文件的存放路径

LIBRARY_OUTPUT_PATH:库文件路径

CMAKE_BUILD_TYPE::build 类型(Debug, Release, …),CMAKE_BUILD_TYPE=Debug
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: