cmake学习

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cmake学习相关的知识,希望对你有一定的参考价值。

cmake是个很好的编译工具,自己写makefile这个太麻烦,不可取

cmake学习

PROJECT(projectname) //指定工程的名字,之后会自动定义两个变量
projectname_BINARY_DIR //编译目录
projectname_SOURCE_DIR //工程目录

MESSAGE:打印变量语句
SET(ALL_CODE_LIST hello.cpp,hello.h) //指定所有源文件
SET(LIBRIES /usr/lib/....so) //指定链接库
ADD_EXECUTABLE:添加可执行文件
ADD_EXECUTABLE(hello ${ALL_CODE_LIST}) //hello 可执行文件名 ALL_CODE_LIST需要链接的源文件
TARGET_LINK_LIBRARIES(hello ${LIBRIES})//可执行文件需要的链接库
SET(EXECUTABLE_OUTPUT_PATH, "${CMAKE_BINARY_DIR}/bin") //更改可执行文件的输出目录,CMAKE_BINARY_DIR就是编译目录projectname_BINARY_DIR
AUX_SOURCE_DIRECTORY(directory VAR)//将指定directory目录下的所有源文件保存到VAR变量中
AUX_SOURCE_DIRECTORY(.DIR_SRCS)//将当前目录下的所有源文件保存到DIR_SRCS中
AUX_SOURCE_DIRECTORY(./hello/src HELLO_LIB_CPP)

cmake_minimum_required(VERSION 2.6)
IF(WIN32)
    MESSAGE(FATAL_ERROR "windows is stupid")
ELSEIF(UNIX)
    MESSAGE(STATUS "This is Linux")
ENDIF(WIND32)

PROJECT(demoB)    
INCLUDE_DIRECTORIES(./include) //将指定的路径添加到编译器搜索include文件(.h文件)的路径列表中
AUX_SOURCE_DIRECTORY(./src CPP_FILES)//将src目录下的源文件保存到 CPP_FILES中
ADD_SUBDIRECTORY://打开子目录,执行子目录下的CMkaeList.txt

 

以上是关于cmake学习的主要内容,如果未能解决你的问题,请参考以下文章

CLion_CMake学习笔记

CLion_CMake学习笔记

CLion_CMake学习笔记

OpenCV2学习笔记(十五):利用Cmake高速查找OpenCV函数源代码

IOS开发-OC学习-常用功能代码片段整理

java SpringRetry学习的代码片段