cmake语法

添加子目录

ADD_SUBDIRECTORY(dir)

添加可执行文件

ADD_EXECUTABLE(target file1 file2 ...)

添加动态库

ADD_LIBRARY(libname SHARED ${LIB_SRC})

添加静态库

ADD_LIBRARY(libname STATIC ${LIB_SRC})

添加头文件目录

INCLUDE_DIRECTORIES()

添加链接目录

LINK_DIRECTORIES(dir1 dir2 dir3 ...)

TARGET_LINK_LIBRARIES(target library1

设置目标输出名称(需要写在ADD_xxx后面)

SET_TARGET_PROPERTIES(target PROPERTIES OUTPUT_NAME new_name)

设置构建时不清理已有目标

SET_TARGET_PROPERTIES(target PROPERTIES CLEAN_DIRECT_OUTPUT 1)

添加宏

ADD_DEFINITIONS(-Dxxx -Dxxx)

设置编译选项

add_compile_options
set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")

使能汇编

ENABLE_LANGUAGE( ASM)

交叉编译

SET(CMAKE_SYSTEM_NAME Linux)
SET(CMAKE_C_COMPILER /opt/arm-linux-gcc)
SET(CMAKE_CXX_COMPILER /opt/arm-linux-g++)

设置链接脚本

set_target_properties(${TARGET_NAME} PROPERTIES LINK_DEPENDS ${LINKER_SCRIPT})

常用环境变量

工程顶层目录

CMAKE_BINARY_DIR
PROJECT_BINARY_DIR

CMAKE_SOURCE_DIR
PROJECT_SOURCE_DIR

猜你喜欢

转载自www.cnblogs.com/zl-yang/p/9118236.html